AI 为什么需要工具
大语言模型本质上只能做一件事:根据输入文本,生成输出文本。 它不能读文件、不能执行命令、不能搜索代码。要让 AI 真正”动手”,需要一个桥梁——这就是 Tool(工具)。 工具是 AI 的双手。AI 说”我想读这个文件”,工具系统替它真正去读;AI 说”我想执行这条命令”,工具系统替它真正去跑。一个工具长什么样
每个工具都是一个标准化的”能力单元”,包含四个要素:| 要素 | 说明 | 示例(FileRead 工具) |
|---|---|---|
| 名称 | 工具的唯一标识 | Read |
| 描述 | 告诉 AI 这个工具能做什么(AI 据此决定是否使用) | “读取本地文件系统中的文件” |
| 参数定义 | 工具接受什么输入 | file_path(必填)、offset、limit |
| 执行逻辑 | 工具被调用时实际做什么 | 读取文件内容并返回 |
AI 如何选择工具
AI 不是从下拉菜单里选工具——它是根据工具描述和当前任务自主决策的:- 系统把所有可用工具的名称、描述、参数告诉 AI
- AI 在思考过程中决定”我需要用某个工具”
- AI 生成一个结构化的工具调用请求(工具名 + 参数)
- 系统执行工具,将结果返回给 AI
工具描述的质量直接影响 AI 的决策准确性。一段好的描述不仅说明”能做什么”,还说明”什么时候该用、什么时候不该用”。
50+ 内置工具
Claude Code 内置了覆盖软件开发全流程的工具集:文件操作
Read / Write / Edit / Glob / Grep / NotebookEdit
命令执行
Bash / PowerShell
对话管理
Agent / SendMessage / AskUserQuestion
任务追踪
TaskCreate / TaskUpdate / TaskList / TaskGet
Web 能力
WebFetch / WebSearch
规划与版本
EnterPlanMode / Worktree / TodoWrite
工具的可视化渲染
工具不仅能”做事”,还能”展示”。每个工具可以定义自己的 UI 渲染方式:- FileEdit → 在终端里展示语法高亮的 diff 视图
- Bash → 实时显示命令输出,带进度指示
- Grep → 高亮匹配结果,显示文件路径和行号链接
- Agent → 显示子 Agent 的进度条和状态