


Anthropic 联合创始人之一 Chris Olah 说,像 Claude 这样的生成式 AI 系统与其说是构建的,不如说是生长的。研究人员设定引导生长的条件,但出现的确切结构或能力并不总是可预测的。
这为构建 Claude 应用带来了挑战:Agent 工具框架编码了关于 Claude 自身无法做什么的假设,但随着 Claude 变得更强大,这些假设会过时。
在本文中,我们分享了团队在构建应用时应该使用的三种模式,使应用跟上 Claude 不断演进的智能,同时平衡延迟和成本:使用它已经知道的、问你可以停止做什么,以及仔细设置 Agent 工具框架的边界。
1. 使用 Claude 知道的
我们建议使用 Claude 理解良好的工具来构建应用。在 2024 年末,Claude 3.5 Sonnet 在 SWE-bench Verified 上达到 49%——当时的最高水平——仅使用 bash 工具和文本编辑器工具。Claude Code 基于这些相同的工具。
2. 问"我可以停止做什么?"
Agent 工具框架编码了关于 Claude 自身无法做什么的假设。随着 Claude 变得更强大,这些假设应该被测试。
让 Claude 编排自己的行动
一个常见的假设是每个工具结果都应该流回 Claude 的上下文窗口。给 Claude 一个代码执行工具解决了这个问题:它允许 Claude 编写代码来表达工具调用和它们之间的逻辑。
让 Claude 管理自己的上下文
技能让 Claude 自由组装自己的上下文窗口,而上下文编辑提供了一种选择性地移除已过时或无关上下文的方式。
让 Claude 持久化自己的上下文
长时间运行的 Agent 可以超出单个上下文窗口的限制。压缩让 Claude 总结过去的上下文以在长程任务中保持连续性。记忆文件夹是另一种方法,允许 Claude 将上下文写入文件并随后按需读取。
3. 仔细设置边界
Agent 工具框架提供围绕 Claude 的结构来强制 UX、成本或安全约束。
设计上下文以最大化缓存命中
Messages API 是无状态的。由于缓存 token 是基础输入 token 成本的 10%,以下原则有助于最大化缓存命中:静态在前,动态在后;使用消息进行更新;不要在会话中切换模型;仔细管理工具;更新断点。
为 UX、可观测性或安全边界使用声明式工具
需要安全边界的行动是专用工具的自然候选。可逆性通常是一个好标准。
展望未来
Claude 智能的前沿总是在变化。关于 Claude 不能做什么的假设需要在其能力的每一步变化中重新测试。
本文由 Claude Platform 团队技术团队成员 Lance Martin 撰写。