Claude Code 工程化落地:Tools 篇
用过 Claude Code 的人大概都有个感觉:它不只是在"聊天",而是真的在动手干活——跑命令、改文件、搜代码。这背后靠的就是 tools。
Claude Code 本质上是一个 Agentic Harness 框架:LLM(Opus 等)负责思考,tools 负责执行。框架本身提供执行环境、管理上下文、控制权限、监管工具调用、处理安全与审计。说白了,tools 才是那个真正动手做事的角色。
前段时间 Claude Code 源码泄漏,主要暴露了各个 tool 的名称、描述、参数 schema。

Tools 参与了整个工作流程,从收集上下文到结果输出:
Tools 是基础,其他机制是上层建筑:

Tools 的五层分类
基于 Claude Code 官方文档 Tools reference,可以把工具按职责拆成五层:文件操作类、执行类、网络类、编排类、辅助类。
这么分不是为了好看,是为了实际治理:
- 判断一个能力该交给哪类工具,心里有数。
- 权限配置按类别来,哪些该开、哪些该禁一目了然。
- 团队内有统一术语,不用每次都翻文档找工具名。
文件操作类:在哪、是什么、怎么改
这类工具负责看代码、改代码、定位代码,是最核心的工程执行底座。
| 工具 | 作用 |
|---|---|
| Read | 读取文件内容(含行号),支持文本、图片、PDF、Notebook 等 |
| Write | 新建文件或整文件覆盖写入,适合生成新文件或完整重写 |
| Edit | 基于精确字符串匹配做定点替换,适合小范围修改 |
| NotebookEdit | 按 cell 粒度修改 Jupyter Notebook(替换、插入、删除) |
| Glob | 按文件名模式检索路径(例如 src/**/*.ts) |
| Grep | 按内容模式检索代码文本(基于 ripgrep) |
| LSP | 通过语言服务器做代码智能分析:跳转定义、查引用、看类型 |
执行类:把想法跑起来
这类工具负责运行命令、持续执行,把方案落到真实环境中。
| 工具 | 作用 |
|---|---|
| Bash | 执行 Shell 命令(构建、测试、安装依赖、脚本运行等) |
| PowerShell | 原生执行 PowerShell 命令(Windows 场景) |
| Monitor | 后台持续监听命令输出,按事件回流给 Claude |
网络类:去外面找信息
这类工具负责联网获取外部信息,用于检索与抓取。
| 工具 | 作用 |
|---|---|
| WebSearch | 发起网络搜索,返回标题和链接列表 |
| WebFetch | 拉取指定 URL 内容并提取,做定向页面读取 |
编排类:多任务怎么拆、怎么排、怎么协同
这类工具是 Agent 化能力的核心,负责组织任务、调度流程、协同代理。
| 工具 | 作用 |
|---|---|
| Agent | 启动子代理处理独立任务,主会话只接收最终结果 |
| Skill | 执行预定义技能流程(可复用的 Prompt + 工具编排单元) |
| EnterPlanMode | 进入规划模式,先做方案设计再执行 |
| ExitPlanMode | 输出并确认计划,退出规划模式 |
| CronCreate | 创建定时任务(一次性或周期性) |
| CronDelete | 删除指定定时任务 |
| CronList | 列出当前会话中的定时任务 |
| TaskCreate | 创建任务清单项 |
| TaskGet | 获取单个任务详情 |
| TaskList | 列出任务及状态 |
| TaskUpdate | 更新任务状态、依赖、描述或删除任务 |
| TaskStop | 停止后台运行任务 |
| TaskOutput | 读取后台任务输出(官方已标记 Deprecated) |
| TodoWrite | 老版任务清单工具(正被 Task 系列取代) |
| SendMessage | 向 Agent Team 成员发消息或恢复子代理 |
| TeamCreate | 创建多代理团队 |
| TeamDelete | 解散代理团队 |
| RemoteTrigger | 在 claude.ai 上创建、更新、执行、列出 Routine |
编排类工具数量最多,也是 Claude Code 跟普通 AI 编辑器拉开差距的地方。单 Agent 做不了的事,拆成多 Agent 协作就能搞定。
辅助类:问人、通知、隔离、扩展
这类工具不直接改代码,但提升可用性和可管理性。
| 工具 | 作用 |
|---|---|
| AskUserQuestion | 通过多选或澄清问题收集用户需求 |
| EnterWorktree | 进入或创建独立 Git worktree,隔离改动上下文 |
| ExitWorktree | 退出 worktree,回到原始工作目录 |
| ListMcpResourcesTool | 列出 MCP 服务暴露的资源 |
| ReadMcpResourceTool | 按 URI 读取指定 MCP 资源 |
| ToolSearch | 搜索和加载延迟工具 |
| PushNotification | 发送桌面/移动推送通知,长任务提醒用 |
| ShareOnboardingGuide | 上传 ONBOARDING.md 并生成分享链接 |
回到工程化视角
把 tools 按职责拆成五层,不是为了分类而分类。真正的价值是:当你把权限规则、审计策略、团队协作规范映射到这五层之后,Claude Code 就不再是"一个会用工具的 AI",而是一个可以在团队里落地的工程系统。
我个人觉得,理解 tools 这层是用好 Claude Code 的前提——你得知道它手里有什么牌,才能更好地指挥它打牌。