M3.1 · Agent 工作原理
掌握程度:理解
转行工程师学生
📘 已发布学习资料
M3.1 Agent 工作原理
目标:理解 Agent 的"闭环"和与普通聊天的本质区别,看懂 ReAct 范式。
1. 闭环:感知 → 规划 → 行动 → 记忆
真正的 Agent 是一个循环,不是一问一答:
┌─────────────────────────────────────────────┐
│ 感知(Perceive):拿到用户任务 + 环境反馈 │
│ 规划(Plan):大模型决定下一步做什么 │
│ 行动(Act):调用工具 / 写文件 / 发请求 │
│ 记忆(Memory):把结果存起来,进入下一轮 │
└─────────────────────────────────────────────┘
↑________ 循环直到任务完成 ________│
2. 与"单纯聊天"的本质区别:会调用工具
普通聊天:模型只生成文字。 Agent:模型可以输出"我要调用某个工具",由外部代码真正执行,再把结果喂回模型。
# 伪代码:Agent 循环的最小骨架
def run_agent(task):
memory = [task]
while not done(memory):
# 1. 规划:让模型看当前记忆,决定下一步
decision = llm_plan(memory)
if decision.want_tool:
# 2. 行动:真正执行工具(这是 Agent 的"手")
result = execute_tool(decision.tool, decision.args)
# 3. 记忆:把结果存进上下文
memory.append(f"工具{decision.tool}返回:{result}")
else:
return decision.final_answer
3. 主流范式:ReAct、Plan-and-Execute
ReAct(Reason + Act):推理一步、行动一步,交替进行。适合需要边查边想的任务。
思考:用户问北京天气,我需要先查天气工具
行动:call_weather("Beijing")
观察:25°C 晴
思考:已拿到数据,可以回答了
回答:北京今天 25°C,晴...
Plan-and-Execute:先一次性把完整计划列好,再逐步执行。适合步骤明确的任务。
计划:1.读需求 2.写方案 3.评审 4.落地
执行步骤1...
执行步骤2...
# ReAct 思路示意(真实框架会处理更多细节)
def react_loop(task):
prompt = f"任务:{task}\n可选工具:{TOOL_DESC}\n请输出 思考/行动/回答"
for _ in range(5): # 最多循环 5 步,防死循环
out = llm(prompt)
if out.is_final:
return out.answer
result = call_tool(out.action)
prompt += f"\n行动结果:{result}\n请继续"
动手练习
- 找一个你用过的 AI 产品(如 Cursor),回忆它"读项目→改代码→跑测试"的过程,标出哪一步对应 感知/规划/行动/记忆。
- 用三句话向朋友解释:为什么 Agent "能干活"而聊天机器人"只能说"。
自测
- Agent 闭环的四个环节是什么?
- ReAct 里"行动"这一步,是谁真正去执行工具?模型自己能执行吗?
- 为什么 Agent 循环要加"最大步数"限制?不加会怎样?