← 返回学习路线

M3.1 · Agent 工作原理

掌握程度:理解 转行工程师学生 📘 已发布学习资料
📥 下载资料 (.md) 含概念讲解 · 可运行代码 · 练习 · 自测

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请继续"

动手练习

  1. 找一个你用过的 AI 产品(如 Cursor),回忆它"读项目→改代码→跑测试"的过程,标出哪一步对应 感知/规划/行动/记忆。
  2. 用三句话向朋友解释:为什么 Agent "能干活"而聊天机器人"只能说"。

自测

  1. Agent 闭环的四个环节是什么?
  2. ReAct 里"行动"这一步,是谁真正去执行工具?模型自己能执行吗?
  3. 为什么 Agent 循环要加"最大步数"限制?不加会怎样?