跳到主要内容

Claude Code v2.1.172 发布 —— 子智能体能生孙子了,Bedrock 终于认得 ~/.aws,1M 上下文卡死修复

· 阅读需 6 分钟

同期还修了 20+ 条问题,覆盖 Bedrock 区域配置读取、1M 上下文的会话胶着、智能体面板的假忙转圈、以及跨目录设置泄漏。

Claude Code v2.1.172 封面

子智能体递归:你的 agent 的 agent 的 agent

Sub-agents can now spawn their own sub-agents (up to 5 levels deep).

这一条是整个版本最引人注目的变化。之前子智能体只能由主 agent 创建,子智能体自己没有能力继续往下分。现在 agent 树可以长到 5 层,根 agent 指挥一级,一级再指挥二级,逐级嵌套。

5 层不是随便拍的数字。超过这个深度后,agent 间的通信开销超过并行度收益,调试链路的难度也成倍增长。这个上限经过了实际的工程权衡。

同批还修了一个配套 bug:当一个子智能体被 stopped 后,它所生成的嵌套 agent 如果没有被清理,子智能体在 agent 面板上会一直保持 "active" 状态。新版本在停止时递归清理所有后代,面板不再假死。

后台 agent 分配到预热 worker 时可能读取另一个目录的 .mcp.json 审批和信任设置——这也算跨 agent 场景下的安全边界修补。子智能体数量越多,这类边界问题的修复价值越大。

Bedrock 终于认得 ~/.aws

Amazon Bedrock now reads the AWS region from ~/.aws config files when AWS_REGION isn't set, matching AWS SDK precedence; /status shows where the region came from

以前用 Bedrock 部署 Claude Code 的用户有个顽固的痛点:必须在环境变量里显式设 AWS_REGION,否则启动失败。~/.aws/config 里配好了 region = us-east-1,Bedrock 不认。这不是用户配置姿势问题——是 Bedrock provider 根本没有遵循 AWS SDK 的优先顺序:AWS_REGION 环境变量 → ~/.aws/config → 默认值。

现在 /status 不仅显示当前 region,还会标注来源(env var / config file / default)。一个小提示省去大量 Bedrock 部署排查时间。

同批 Bedrock/模型侧修复还有不少值得单独记的:

  • /model 选择器不再展示 Bedrock 不提供服务的模型。之前列表里一堆点了没用的选项。
  • 模型 ID 不再出现 [1M][1m] 双后缀——显示层和解析层各加了标记字符串。
  • availableModels 限制现在正确作用于子智能体模型覆盖、agent dispatch 模型选择器和 advisor 模型。以前设了白名单,子智能体可以用 override 绕过。
  • availableModels 白名单中使用版本特定 ID(如 claude-opus-4-8)时,/model 选择器的 Opus 和 Sonnet 1M 行不再被隐藏。
  • opusplan 模型设置在 plan 模式下正确附带 1M 上下文。

1M 上下文卡死的自动修复

Fixed sessions using 1M context without usage credits getting permanently stuck — the session now automatically compacts back under the standard context limit

这一条单独拿出来说,不是因为代码改动大,而是因为场景很刁钻:用了 1M 上下文但没有使用积分的用户,会话会永久卡死——不能继续、不能恢复。1M 上下文是付费功能,账户没有积分时上下文限制应该回退到标准限宽,而不是让 session 彻底瘫痪。修复方案是自动压缩上下文到标准限制以下,而不是直接报错退出。这种"不崩溃、不报错、自动回退"的做法,比一个硬错误提示更符合期望。

同批较值得关注的其他修复:

  • 对话中含多张图片时反复报 "an image in the conversation could not be processed and was removed"——不再重复触发。
  • agent view 在 worker 已回复后仍展示 30 秒忙转圈——状态同步时机不对,现在即时刷新。
  • 后台 session attach 在 daemon 自动更新后出现 EAUTH 错误——版本不匹配场景的认证令牌失效。
  • WebFetch(domain:*.example.com) 通配符规则之前永远无法匹配子域名——正则生成逻辑 bug。
  • 上箭头提示历史在子智能体聊天标签页打开时显示了主 agent 的对话——历史上下文混淆。
  • 记忆召回在远程 session 中找不到挂载的团队记忆存储(CLAUDE_MEMORY_STORES)——存储路径解析漏了远程这一侧。
  • 工作流验证拒绝仅提及 Date.now()Math.random() 的脚本——关键词误检测,写脚本时不小心提了这两个词就会误杀。

性能与 UI 打磨

长对话场景有实质性减负:移除了冗余消息归一化,streaming 过程中 tool-use 状态未变化时跳过完整消息历史转换。

/goal 的 status chip 在空闲时不再以 5Hz 刷新终端——每帧都触发重绘的 CPU 占用归零。改动不大,但天天开 /goal 的人能感知到区别。

Claude in Chrome 浏览器工具加载从多次调用改为单次批量调用——初始化速度提升。

/plugin 市场列表在浏览长列表后退回时不再丢失光标位置,还加了搜索栏。

[VSCode] PowerShell 工具调用不再渲染为原始 JSON,shell 输出中的 ANSI 转义码也被剥离。

/code-review 在未登录状态下保持 ultra 选项可见。/loop 在远程 session 中不再被推广——远程模式不适合无限循环。

升级

# macOS/Linux(推荐)
curl -fsSL https://claude.ai/install.sh | bash

# Homebrew(macOS/Linux)
brew install --cask claude-code

# 已安装用户升级
claude update

# Windows(推荐)
irm https://claude.ai/install.ps1 | iex

# WinGet
winget install Anthropic.ClaudeCode

# NPM(已弃用)
npm install -g @anthropic-ai/claude-code

完整更新日志:GitHub Release

📢 关注我,获取最新开源更新日志和开发者工具动态。

#ClaudeCode #AI工具 #子智能体 #Bedrock #版本更新 #终端工具