Coding 能力是通用基础
为什么代码生成是每个通用 Agent 的基础能力?
- 判断: 代码生成不是少数专门化 Agent 的专利,而是每个通用 Agent 都该具备的基础能力;
- 前提: 在当前 SOTA 模型加持下,具备基本 coding 能力不需要复杂架构;
- 五类核心动作: 浏览目录(ls/glob)、读取代码(read)、修改文件(edit/write)、运行命令(bash)、查找模式(grep/search);
- 覆盖度: 这五类动作覆盖几乎所有 Coding Agent 的核心操作;
- 手段定位: 代码生成不只是写程序,而是通用的问题解决手段——数学推理可交给求解器、业务规则可固化、缺工具可临时写、数据格式变了可动态生成解析逻辑;
七个核心工具各自解决什么问题?
| 工具 | 职责 | 关键说明 |
|---|---|---|
| Code Interpreter | 在隔离沙盒中执行 Python | sandbox 与主系统隔离,代码出错不影响宿主机 |
| Bash Shell | 执行终端命令 | 跑测试、处理特殊格式文件 |
| 读文件 | 读取代码、配置、文档、日志 | 感知类操作 |
| 写文件 | 创建新文件或完全重写现有文件 | 产物落盘 |
| 编辑文件 | 对现有文件局部修改 | 代码维护与迭代的核心操作 |
| Glob | 按模式定位文件,如 **/*.py | 只看路径,不读内容 |
| Grep | 在文件内容中搜索文本模式 | 例如定位所有调用了某函数的代码行 |
- 用途: 七者构成完整但极简的工具箱,几乎任何 Agent 系统都能低成本集成;
为什么只给一个 Bash Shell 也够用?
- 事实: 仅凭 Bash Shell 一个工具就能完成所有文件读写与查找操作;
- 例证: OpenAI Codex 就只提供 Bash Shell;
- 选择: 另一些 Agent 仍保留独立的文件读取、写入、编辑工具;
- 取舍: 拆成七个工具是为了便于理解 Coding Agent 所需的基本能力,软件架构上并非必需;
七个工具如何协作完成一次任务?
用户:把项目里所有 TODO 注释整理成清单
Agent(思考)→ Grep("TODO", glob="**/*.py")
工具返回:src/api.py:42 / src/db.py:15 / tests/test_api.py:8
Agent(思考)→ Write("TODO_LIST.md", content="...")
工具返回:文件已创建
Agent:共发现 3 个 TODO,清单保存在 TODO_LIST.md
- 观察: 该任务只用到 Grep 与 Write 两个工具;
- 升级: 若要求“统计每个模块的 TODO 数量并画柱状图”,Agent 会再调用 Code Interpreter 执行统计与绘图;
这个工具箱与通用工具分类如何对应?
- 对应关系: 七个工具主要覆盖感知与执行两类;
- 缺口: 协作、事件触发、用户沟通三类需求仍需其他工具,但不构成 Coding Agent 的核心;