Seeing like an agent: how we design tools in Claude Code | Claude
Building Claude Code: How Anthropic designs and refines AI agent tools like AskUserQuestion and Task tool. The key is progressive disclosure and learning to "see like an agent" to maximize effectiveness.
构建智能体框架,最难的部分之一就是设计它的动作空间。
Claude 通过工具调用(Tool Calling)来执行操作。在 Claude API 中,可以使用 bash、技能(Skills)以及近期推出的代码执行(Code Execution)等原语来构建工具(更多关于程序化工具调用的内容,可参阅 @RLanceMartin 的文章)。
Claude Code 刚发布时,我们用 RAG 向量数据库来检索上下文。RAG 功能强大且速度快,但它需要索引和配置,在不同环境下稳定性也参差不齐。更关键的是,上下文是"喂"给 Claude 的,而不是它主动去找的。
但如果 Claude 可以搜索网页,为什么不能搜索你的代码库?于是,我们为它提供了 Grep 工具,让它可以自主搜索文件、自己构建上下文。
我们观察到一个清晰的规律:Claude 越聪明,只要工具合适,它构建自身上下文的能力就越强。
在引入 Agent Skills 时,我们将这种思路正式化为"渐进式披露"(Progressive Disclosure)——让智能体通过主动探索,逐步发现所需的上下文。Claude 可以读取技能文件,而这些文件又可以递归引用其他文件。事实上,"教 Claude 如何搜索"本身就成了一种常见的技能用法,比如教它如何调用 API 或查询数据库。