跳到正文

从单 Agent 到 Coding Agent,它多了什么

面试官想听的「Agent 比调一次 LLM 强在哪」

一句话:你在第 7 篇写的最小 Agent,把"查天气"工具换成"读文件 / 改文件 / 跑命令",再加一条"改完自己验证"的循环,就成了 Claude Code / Cursor 这类 Coding Agent 的雏形。这也是面试官想听的"Agent 比调一次 LLM 强在哪"。 Coding Agent = 最小 Agent + 三类工具 + 自验证 回顾第 7 篇:Agent = LLM + 工具 + 循环。Coding Agent 就是把工具集换成"和代码打交道"的那几样: 工具 作用 read file 读代码,搞清现状 list dir / search 在项目里找相关文件 write file / edit 改代码 run 跑命令(测试 / 编译 / 起服务) 再加一条灵魂循环:改完 → 跑测试 → 看报错 → 接着改 → 直到通过。这条"自验证闭环"是它比"让 LLM 吐一段代码"强得多的关键。 把第 7 篇的循环改成 Coding Agent 结构和第 7 篇一模一样,只是工具变了。核心还是那个 while 循环: 模型会:read file 看代码 → 发现 bug → write file 改 → run("pytest") → 看到还报错 → 再改 → 直到测试绿。全程没有人工干预,这就是 Coding Agent 的本质。 面试官想听的"它多了什么" 把这几点讲清,这题就满分: 会用工具:能读写文件、跑命令,把"想法"落成"对代码的真实操作"。 有自验证闭环:靠测试 / 运行结果收口,而不是"看起来对就完事"。 能多步规划:复杂任务拆成"读 → 改 → 验"的多步,而非一次性吐答案。 能从失败恢复:工具报错喂回去,它自己换路、重试。 常见坑(也是工程难点) 不设步数上限:可能反复改不收敛、烧钱。必须 max steps 兜底。 放任执行危险命令:run 能跑任意命令——真实系统必须沙箱 + 权限 + 危险操作确认。 上下文爆炸:读的文件、跑的输出全堆进上下文,长任务很快撑爆 → 要截断 / 摘要(回到第 5、6 篇)。 工具结果不截断:一个命令吐几万行日志直接塞回去 → 上下文炸。结果要截断 / 提炼。 关联面试题 「Agent 比直接调用 LLM 多了什么?」(用这篇的四点答) 「ReAct 框架的工作流程?和 Plan-and-Execute 的区别?」 「Agent 的工具调用失败了怎么处理?」 👉 去 题库 搜 Agent / ReAct / 工具调用。 训练营延伸 从这个单 Coding Agent 再往上——多 Agent 协作、统一工具网关 + 多级沙箱、长程记忆压缩、用强化学习训练 Agent 的决策策略、可观测与私有化上线——就是训练营的集群 Agent 那条完整的线。学完这个模块,你已经站在了那条线的起点。