本周一篇技术拆解把 AI 编程助手的核心代码摆到台面上:所谓'智能体',本质是一个会循环的工人——读你的需求、调模型想下一步、执行工具(读文件、跑命令)、看结果、再决定下一步。直到任务完成或步数耗尽。这套模式有个学术名字叫 ReAct(Reason+Act,"先想再做"),工程上没比这更花哨的东西。

这是什么

文章里有个值得记下来的设计细节:循环其实是双层的。外层 for 循环推进任务步骤,内层 while 循环专门处理单步内的模型报错——网络抖动、响应解析失败、上下文压缩重试。把错误处理单独收在内层,是因为不能让重试把外层的"任务进度"消耗掉。听起来朴素,但在多步骤任务里直接决定系统会不会"卡在半路假装完成"。

还有一个被低估的工程纪律:状态对象用了 frozen=True(不可变)。每次"修改"都生成新对象,调试和并发时不会被悄悄改掉。这是工程上的严谨,不是科学上的突破——但我们认为这种克制,正是区分玩具 Agent 和生产 Agent 的分水岭。

行业怎么看

认同这条拆解思路的人认为,把 Agent 拉回到"循环 + 错误处理 + 状态管理"这三件套,能让团队更靠谱地评估一个 AI 产品的实际能力边界:是模型强,还是工程强,这两件事要分开付钱。

但也有不同的声音。一种观点是,把 Agent 描述成"循环工人"虽然在工程上没错,但容易让买家低估真正难的部分:怎么定义"任务完成"(文章里那个完成门的三态判决:PASS/FAIL/UNVERIFIED)、怎么兜底步数耗尽。文章里 UNVERIFIED 意味着"不确定但交差",max_steps 用尽就静默返回——这两类边界恰恰是用户实际遭遇翻车的地方。看代码看得见,看真实使用场景的复杂度看不见。

对普通人的影响

对企业 IT:选 AI Agent 产品时,重点看的不是接了哪个大模型,而是错误处理策略、步数上限、失败兜底——这些决定了它在你流程里是稳定执行还是安静崩盘。

对个人职场:用 AI 助手时效果更好的用法,是把任务拆成清晰步骤,并在提示里指明可读的文件和完成标准——这是这套循环机制的天然要求,不是模型的偏好。

对消费市场:理解"Agent 本质是工程产物"后,能建立一个朴素判断:你在为模型智能付费,还是为循环稳定性付费,这两件事的合理价位不同。