主题
两边都答的高频送分题。对比 JavaGuide《AI Agent 核心概念》、二哥与小林《什么是 Agent》《基本架构》《什么是 AI Agent?》《Agent 和 ChatBot 有什么区别?》《AI Agent 是如何工作的?》《一个 AI Agent 有哪些核心组件?》四篇讲稿,结论融合成可口述的最优版。
多版对比
JavaGuide:给标准分解 Agent = LLM + Planning + Memory + Tools 四件套,配演进时间线(分水岭是 2023 年的 Function Calling),Agent Loop 每轮「模型选动作 → 执行工具 → 结果写回上下文」,上限 10-20 轮或按 Token 预算终止。系统、可核对,但四件套没把 Harness 的地位立起来,背完容易答成组件清单。
二哥:开场先打错误答案「Agent 就是加了 system prompt 的大模型」,给出「本质区别是有没有 ReAct 决策循环」的判断句,三条对比(一问一答 vs 循环决策、只会说 vs 能动手、失忆 vs 有状态)结构清晰好背;五组件把 Harness 抬到与模型同等(模型是引擎、Harness 是底盘刹车方向盘),执行过程落到 stop_reason 信号上。短板:「RAG 不算 Agent」说得太绝对。
小林:开场是面试官对话体,故意让「Agent 就是加插件/能调工具的大模型」两个错误答案出场再逐层拆掉,核心词「自主闭环」(感知→规划→行动→再感知)。两条增量:①决策与执行分离——模型只是大脑、只输出 JSON 决策,真正执行的是宿主代码;②四组件的公司类比(LLM 是老板、工具是外包团队、记忆是档案室、规划是项目经理),并主动标注记忆的语义/情景/程序三分类「类比非学术标准」,还给了记忆衰减公式(相关度 = 语义相似度 × 时间衰减,客服衰减快、法律衰减慢)。
结论:定义用二哥、组件补 Harness、再带一句小林的「决策与执行分离」——它是后面工具安全、任务幻觉两个话题的总开关。
最优题解
Agent 不是加了 system prompt 的大模型调用,而是有决策循环的系统:LLM 自己判断下一步做什么,调用工具拿到真实反馈,把结果写回上下文继续推理,直到任务完成。直接调 API 是一问一答、流程写死在业务代码里;Agent 是循环决策、能动手、有状态。
组件我用「Model + Harness」来讲:Model 负责理解目标、规划下一步、选工具;Harness 负责工具执行、状态维护、权限控制和失败处理——模型是引擎,Harness 是底盘。常见的 LLM + Planning + Memory + Tools 四件套是功能分解,Harness 是把这四件撑起来的运行时,两者不矛盾。底层再补一条铁律:决策与执行分离——模型只产出决策,真正动手、担责的是我们的代码。
边界要主动说清:RAG 是不是 Agent?固定管线的 RAG——检索、拼接、生成每一步都代码写死——不是 Agent;但当 LLM 自己决定要不要检索、用什么 query、结果够不够、要不要换词再搜一轮,有了这个决策循环才算。分界是「循环」,不是工具数量。
追问链
追问:一轮循环里 Agent 怎么知道该停? 参考答:看模型返回的停止原因——要求调工具就继续,明确收工就结束;工程上再叠三层保险:最大轮次、Token 预算、连续无进展检测。展开见 ReAct 终止与 Loop Engineering。
追问:Agent 和 Workflow 怎么选? 参考答:动手前能画出完整流程图就是 Workflow,画不出来才上 Agent;生产上大部分系统其实跑的是 Workflow,Agent 用在路径真不确定的地方。展开见 Workflow 与 Agent 范式。
我的理解
这道题的送命回答是背四件套清单。面试官想听的是「循环」这个分界:API 调用是函数,Agent 是带反馈的循环体。我记二哥的三条对比做骨架,用 Model + Harness 口径答组件,再主动补 RAG 边界——这能证明我不是背的,是真理解「循环才算 Agent」。