你以为AI在写代码?它其实在跑一条“工具流水线”
先说结论:Coding Agent 的核心竞争力,不是“会说”,是“会调工具并持续迭代”。
如果你把它当聊天助手,它最多给你“看起来像答案”的文本。
如果你把它当执行系统,它才可能给你“跑得起来的结果”。
今天这篇,不谈玄学,只谈机制和胜率。
参考原文:Simon Willison《How coding agents work》
https://simonwillison.net/guides/agentic-engineering-patterns/how-coding-agents-work/
第一层:LLM 不是程序员,它是 Token 预测器

很多人第一步就误会了:
“模型这么强,应该什么都懂。”
不对。
LLM 的底层工作,是基于 token 做下一步预测。它确实能写代码,但它并不是“理解代码世界”的人类工程师。
这件事带来两个现实后果:
- 成本和 token 直接挂钩:输入越长、输出越长,账单越高。
- 能力有上下文上限:你塞不进上下文的东西,它就“看不见”。
一句话:你不是在雇一个无限记忆的天才,你是在驱动一个“按 token 计费的预测引擎”。
第二层:为什么越聊越贵?因为对话是“重放”

很多人以为 Agent 在“记住”上下文。
更准确地说:会话状态通常由外层系统维护,每轮都重放关键信息给模型。
所以你会遇到一个很真实的问题:
- • 会话越长,输入 token 越多;
- • 输入 token 越多,速度和成本压力越大。
原文提到 token caching,这就是工程优化的关键点之一:
尽量稳定上下文前缀,减少不必要改写,让缓存命中率更高。
这不是小技巧,这是“长期可用”和“越用越贵到放弃”之间的分水岭。
第三层:Agent 真正的分水岭在“工具调用”

普通聊天模型:给你答案。
Coding Agent:除了回答,还会请求调用工具。
比如它可能发出:
- • 读文件
- • 跑 shell 命令
- • 执行测试
- • 修改代码
然后把工具返回结果再喂回模型,进入下一轮。
这就是核心机制:
LLM + 工具 + 循环。
所以一个 Agent 到底强不强,不只看模型参数,还看两件事:
- 工具集够不够实用;
- 循环控制做得稳不稳(何时继续、何时回滚、何时停)。
第四层:系统提示词,决定了它的“职业习惯”
很多人问:同一个模型,为什么在 A 工具里聪明,在 B 工具里像实习生?
因为外层给的系统提示词不同。
系统提示词会定义:
- • 它优先怎样决策
- • 工具调用规则
- • 失败时的行为边界
- • 安全限制和输出格式
原文提到很多 coding agent 的 system prompt 非常长,这不是形式主义。
本质上,你是在给一个高能力但无默认流程的执行体,写“岗位说明书 + SOP”。
第五层:Reasoning 不是魔法,是“花 token 换成功率”
2025 以后,reasoning(或 thinking)成了重要能力。
你可以把它理解成:
先让模型多做一段“内部推演”,再产出动作。
优点:复杂调试、跨文件排查时,成功率更高。
代价:更慢、更贵。
所以真正会用的人,不会全程拉满推理强度。
而是按任务分级:
- • 小任务快跑
- • 难任务加推理
这才是工程思维,不是参数崇拜。
第六层:人类角色没有消失,只是重排了
“既然 Agent 能写和跑,工程师还干嘛?”
干三件更关键的事:
- 定义目标和验收标准(这一步交给模型,翻车率最高)
- 管理风险边界(权限、数据、上线开关)
- 做最终判断(尤其是安全、资金、合规相关改动)
别被“没人写代码、没人看代码”这种话术带节奏。
在 demo 里省掉审查,叫效率。
在生产里省掉审查,叫事故预告。
一句话总结:
Agent 不是替代工程判断,而是放大工程判断。
你判断力越强,它越值钱;你判断力越弱,它越危险。
快问快答
Q:是不是上下文窗口越大,Agent 就越强?
A:不绝对。窗口变大只是“可装更多信息”,不代表信息组织质量就自动变好;成本和延迟也会同步上升。
Q:是不是把任务一句话丢给 Agent 就行?
A:短任务可能行,复杂任务不行。必须拆目标、给约束、设验收点。
Q:那普通团队今天能做的最小升级是什么?
A:从“让它一次写完”改成“让它分轮交付”:每轮只做一小步,跑测试、看结果、再推进。
夜雨聆风