ITPub博客

首页 > 人工智能 > 人工智能 > 从沙箱到扩展:Anthropic 如何让 Claude 的智能体能力既强大又可控

从沙箱到扩展:Anthropic 如何让 Claude 的智能体能力既强大又可控

人工智能 作者:lumin1020 时间:2026-09-17 14:43:04 0 删除 编辑

导语:过去一年,Anthropic 围绕 Claude 的智能体(Agent)能力连续放出三块拼图——让 Claude 学会"停下来思考"的 think 工具、把 MCP 服务器安装变成一键操作的 Desktop Extensions,以及用操作系统级沙箱约束 Claude Code 的自主行为。这三者看似分散,实则指向同一个工程命题:当模型开始真正"动手做事",如何同时保住能力上限与安全底线。

一、能力侧:给 Claude 一个"草稿纸"

2025 年 3 月,Anthropic 发布了一篇关于 "think" 工具的工程博客。它的核心思路非常朴素:在 Claude 生成回答的过程中,额外插入一个专门的思考步骤,让模型有机会停下来判断"我手上的信息够不够支撑下一步动作"。

需要区分的是,这与 Claude 的 extended thinking(扩展思考)不是一回事。按照原文的说法:

  • Extended thinking 关注的是 Claude 在开始生成响应之前的深度规划与迭代;
  • "think" 工具 则是在生成响应之后、执行动作之前,插入一个"停下来想想"的步骤,尤其适合长链条工具调用或长多轮对话。

换句话说,前者是"动手前的深思",后者是"动手中的自查"。

τ-Bench 上的实测数据

Anthropic 用 τ-bench 做了评估。这个基准测试模拟真实客服场景,考察模型能否在复杂政策约束下稳定使用工具。它采用的主指标是 pass^k——衡量 k 次独立试验全部成功的概率,关注的是一致性而非"至少成功一次"。

在航空(airline)领域,Claude 3.7 Sonnet 的表现如下:

配置 k=1 k=2 k=3 k=4 k=5
"Think" + 优化提示词 0.584 0.444 0.384 0.356 0.340
"Think"(无提示词) 0.404 0.254 0.186 0.140 0.100
Extended thinking 0.412 0.290 0.232 0.192 0.160
基线 0.332 0.206 0.148 0.116 0.100

在零售(retail)领域,"think" 工具即便不加额外提示词,pass^1 也达到了 0.812,高于基线的 0.783 和 extended thinking 的 0.770。

几个值得记住的结论

  1. 提示词在困难领域至关重要。航空领域政策复杂,仅提供工具收益有限,但配合"如何思考"的示例提示词后提升显著;零售领域政策相对简单,仅提供工具即可见效。
  2. 一致性提升可延续到 k=5,说明该工具有助于处理边缘场景。
  3. 在 SWE-bench 上,Anthropic 为 Claude 3.7 Sonnet 加入了类似的 "think" 工具,贡献了 0.623 的当时最优成绩。实验显示该工具平均带来 1.6% 的性能提升(Welch's t 检验:t(38.89)=6.71,p<.001,d=1.47)。

什么时候不该用

Anthropic 也明确划出了边界:非顺序工具调用、简单指令遵循这两类场景,加 "think" 基本没有收益,反而增加提示词长度和输出 token 成本。

值得注意的更新:2025 年 12 月 15 日,Anthropic 在原文顶部补充说明——extended thinking 能力已大幅改进,在大多数情况下推荐直接使用 extended thinking 而非专门的 think 工具。这一"自我修正"本身也说明,智能体的推理机制仍在快速演进。

二、生态侧:把 MCP 安装从"折腾"变成"双击"

2024 年 MCP(Model Context Protocol)发布后,开发者构建了大量本地服务器,让 Claude 能访问文件系统、数据库等资源。但反馈高度一致:安装太复杂。

原文列出的痛点很具体:

  • 需要预装 Node.js、Python 等运行时;
  • 要手动编辑 JSON 配置文件;
  • 要自己解决依赖冲突和版本不匹配;
  • 没有发现机制,找服务器只能翻 GitHub;
  • 更新靠手动重装。

2025 年 6 月,Anthropic 推出 Desktop Extensions,把整个 MCP 服务器连同依赖打包成一个可安装文件。用户流程简化为:下载 → 双击 → 点"安装"。

架构:一个 ZIP 加一份 manifest

Desktop Extension 本质上是一个 ZIP 归档,核心是 manifest.json:

extension.mcpb (ZIP archive)
├── manifest.json         # 扩展元数据与配置
├── server/               # MCP 服务器实现
├── dependencies/         # 打包的依赖
└── icon.png              # 可选:图标

Claude Desktop 承担了复杂度:内置 Node.js 运行时、自动更新、敏感配置存入操作系统密钥链。

manifest 支持三种服务器类型——Node.js、Python 和经典二进制/可执行文件。开发者可以在其中声明需要用户提供的配置,例如 API Key:

"user_config": {
  "api_key": {
    "type": "string",
    "title": "API Key",
    "description": "Your API key for authentication",
    "sensitive": true,
    "required": true
  }
}

Claude Desktop 会展示配置界面、校验输入、安全存储敏感值,并在启动服务器时把 ${user_config.api_key} 替换为真实值。${__dirname} 则会被替换为扩展的解压目录。

命名规范更新

2025 年 9 月 11 日,Anthropic 将扩展文件后缀从 .dxt 改为 .mcpb(MCP Bundle)。旧 .dxt 扩展仍可继续工作,但新扩展建议使用 .mcpb——功能完全一致,纯属命名规范调整。

开放与安全并重

Anthropic 开源了完整的 MCPB 规范、打包与校验工具、参考实现代码以及 TypeScript 类型和 schema。规范刻意标注为 0.1 版本,以便与社区共同演进。

面向企业,Desktop Extensions 提供了组策略(Windows)和 MDM(macOS)支持、预装已批准扩展、屏蔽特定扩展或发布者、禁用扩展目录、部署私有扩展目录等能力。

三、安全侧:用沙箱换取"更少打断、更多自主"

2025 年 10 月,Anthropic 为 Claude Code 引入沙箱功能。这篇博客开篇点出了一个真实矛盾:Claude Code 默认是只读的,任何修改或命令都要请求权限。频繁点击"批准"会拖慢开发节奏,还会导致批准疲劳——用户不再仔细看自己批准了什么,反而更不安全。

Anthropic 给出的解法是:与其让用户逐条审批,不如划定一个 Claude 可以自由活动的边界。内部使用数据显示,沙箱将权限提示减少了 84%。

两个边界缺一不可

沙箱建立在操作系统级能力之上,同时启用两层隔离:

  1. 文件系统隔离:Claude 只能访问或修改特定目录,防止被提示注入后篡改敏感系统文件;
  2. 网络隔离:Claude 只能连接经过批准的服务器,防止敏感信息外泄或下载恶意软件。

原文特别强调,两者必须同时具备:没有网络隔离,被攻陷的智能体可能窃取 SSH 密钥;没有文件系统隔离,被攻陷的智能体可以轻易逃逸沙箱并获得网络访问权限。

沙箱化 bash 工具

Anthropic 推出了一款新的沙箱运行时(研究预览版),允许精确定义智能体可访问的目录和网络主机,且无需启动和管理容器的开销。它基于 Linux bubblewrap 和 macOS seatbelt 等操作系统原语构建,限制不仅覆盖 Claude Code 的直接交互,还覆盖命令生成的任何脚本、程序或子进程。

具体机制上:

  • 文件系统层面,允许对当前工作目录读写,阻止修改其外任何文件;
  • 网络层面,仅允许通过连接到沙箱外部代理服务器的 Unix 域套接字访问互联网,代理服务器对可连接域强制执行限制,并处理新请求域的用户确认。

两个组件均可配置,用户可自行选择允许或禁止特定文件路径或域。该运行时已开源。

Claude Code on the web

同一时间发布的还有 Claude Code on the web,让用户在云端的隔离沙箱中运行 Claude Code。其设计要点是:敏感凭据绝不与 Claude Code 同处沙箱内。

它使用自定义代理服务透明处理所有 git 交互。沙箱内的 git 客户端使用专门构建的作用域凭据向该服务认证,代理验证凭据和交互内容(例如确保只推送到已配置分支),再附加正确的认证令牌发送到 GitHub。这样即便沙箱内代码被攻陷,用户仍能免受进一步伤害。

四、趋势判断:智能体工程正在形成"三层结构"

把这三篇素材放在一起看,可以梳理出一条清晰的工程脉络:

第一层是推理层——解决"模型想清楚了吗"。think 工具和 extended thinking 都在为模型争取结构化的思考空间,区别只在于介入时机。Anthropic 后续推荐 extended thinking,说明这一层仍在快速迭代。

第二层是生态层——解决"能力如何被安全地接入"。MCP 提供了协议,Desktop Extensions 解决了分发与安装,.mcpb 打包格式则试图成为跨应用的通用载体。

第三层是执行层——解决"模型动手时如何不越界"。Claude Code 的沙箱用文件系统隔离加网络隔离,把"逐条审批"换成"边界内自主"。

这三层并非孤立:一个能自由调用工具的智能体,既需要 think 这样的推理缓冲,也需要 MCP 这样的能力接口,更需要沙箱这样的安全围栏。Anthropic 在素材中反复出现的一个判断是——安全性与自主性并非零和博弈,划定清晰边界反而能让模型跑得更快。

结论

从 2025 年 3 月的 think 工具,到 6 月的 Desktop Extensions,再到 10 月的 Claude Code 沙箱,Anthropic 的工程博客呈现出一条连贯的主线:让智能体在明确的边界内尽可能自主。

对开发者而言,有三点可以直接借鉴:

  1. 在复杂工具链场景中,为模型预留结构化的"思考步骤",并配合领域示例提示词;
  2. 若在构建本地 MCP 服务器,考虑用 .mcpb 打包以降低用户安装门槛;
  3. 若在构建自主智能体,文件系统隔离与网络隔离应当成对设计,而非二选一。

依据现有素材判断,智能体的能力上限与安全边界仍将是接下来一段时间工程投入的重点,而这三篇博客提供的,正是可落地的具体路径。

配图建议:可分别配三张示意图——think 工具在工具调用链中的插入位置、.mcpb 扩展的 ZIP 目录结构、Claude Code 沙箱的文件系统与网络双重隔离边界。


生成标记:本文由 ITPUB 文章生成平台基于已选素材整理生成。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69965512/viewspace-3182723/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-03-06

  • 博文量
    299
  • 访问量
    473755