Agent 范式革命:从 Prompt 到 Autonomous Agent 的完整演进路径

Agent 范式革命:从 Prompt 到 Autonomous Agent 的完整演进路径


▎开篇导语

2023 年 AutoGPT 横空出世,AI 圈第一次集体意识到:**大模型不再只是「问答机器」,而是可以自主规划、调用工具、持续执行任务的「数字员工」。** 三年过去,Agent 已经从概念走向工程化。这篇文章带你走完从 Prompt 到 Multi-Agent 的完整演进路径,并手把手实现一个可运行的 ReAct Agent。


▎一、演进全景:六大范式一图看懂

在进入代码之前,先理清 LLM 应用的演进全景:

范式 核心思想 代表工作 适用场景 核心局限
**Prompt** 单轮指令,零推理 GPT-3 / 3.5 简单问答 无状态,无法多步
**CoT** 显式思维链 Wei et al. 2022 数学推理 单轮,易幻觉
**ReAct** 推理 + 行动交织 Yao et al. 2022 工具调用 长链路易偏
**Reflexion** 自我反思迭代 Shinn et al. 2023 代码生成 反思成本高
**Plan-Execute** 先规划后执行 LangGraph 长流程任务 规划错误传播
**Multi-Agent** 多角色协作 AutoGen / CrewAI 复杂协作 通信开销大

**核心洞察:** Agent 的真正革命不在于模型有多聪明,而在于**结构化推理 + 工具调用 + 记忆机制**三件套的工程化组合。


▎二、核心范式深度解析

2.1 Chain-of-Thought:教会模型「思考」

Chain-of-Thought(CoT)是 Agent 思想的奠基之作。 它让模型在给出最终答案前,先生成一条「思考路径」,从而显著提升推理能力。

一个经典的 Few-shot CoT 示例:

python 复制代码
prompt = """
Q: 小明有 5 个苹果,吃了 2 个,又买了 3 个,给了妹妹 1 个。还剩几个?

A: 让我一步步想:
1. 初始:5 个
2. 吃了 2 个 → 5 - 2 = 3 个
3. 买了 3 个 → 3 + 3 = 6 个
4. 给了妹妹 1 个 → 6 - 1 = 5 个
所以还剩 5 个。

Q: 商店有 23 个球,卖掉 12 个,又进货 8 个,又卖掉 5 个。还剩几个?

A:
"""

**论文出处:** Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(https://arxiv.org/abs/2201.11903) --- Wei et al., NeurIPS 2022


2.2 ReAct:让 Agent 学会「边想边做」

ReAct(Reason + Act) 是 Agent 范式的里程碑。它不再让模型「一步到终点」,而是把思考(Thought) 和**行动(Action)**交织成一个迭代循环:

text 复制代码
Thought ① → Action ① → Observation ①
   ↓
Thought ② → Action ② → Observation ②
   ↓
    ... 循环往复 ...
   ↓
Thought N → Final Answer

为什么 ReAct 如此重要?

这三个能力让它从「聊天机器人」跃迁为「工作助手」:

动态决策 --- 不像 CoT 一样一步锁定推理路径,ReAct 可以在每一步根据观察结果调整策略

工具交互 --- 原生支持调用外部工具(搜索引擎、计算器、数据库 API),不再封闭在模型内部

可解释性 --- 推理轨迹(Thought → Action → Observation)完整记录,便于调试和审计


2.3 Reflexion:给 Agent 装上「后视镜」

Reflexion 在 ReAct 的基础上增加了一个关键能力:自我反思。 任务执行完后,Agent 不是简单输出结果就结束,而是进入一个三段式反思循环:

阶段 角色 职责
**Actor** 执行者 尝试完成用户指定的任务
**Evaluator** 审查者 判断执行结果是否符合预期
**Self-Reflection** 反思者 总结失败原因,写成「反思文本」,存入记忆

**关键数据:** 在 HumanEval 代码生成基准上,Reflexion 比普通 ReAct 提升了**超过 30 分**,尤其在需要反复试错的代码修复场景中表现突出。


2.4 Plan-and-Execute:先谋后动,步步为营

Plan-and-Execute 是目前工业界落地最成熟的 Agent 范式。 它把任务拆成三个独立阶段:

Planner(规划者) --- 接收用户输入,输出一个完整的、可执行的任务计划,每一步都有明确的输入输出规范

Executor(执行者) --- 按计划逐步执行,每步产出中间结果

Replanner(重规划者) --- 监控执行状态,一旦某步偏离预期,立即修正后续计划

**代表产品:** LangGraph 的 `plan_and_execute` Agent、AutoGPT、BabyAGI,以及大量企业内部 RPA + LLM 的混合工作流。


▎三、实战:用 LangChain 写一个 ReAct Agent

理论走完,代码说话。下面用 LangChain + 通义千问(兼容任意 OpenAI 格式 API)实现一个能查天气、做计算的 ReAct Agent。

3.1 环境准备

bash 复制代码
# 安装依赖
pip install langchain langchain-openai python-dotenv

.env 文件:

bash 复制代码
OPENAI_API_KEY=sk-xxxxxxxx
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
MODEL_NAME=qwen-plus

3.2 定义工具函数

**设计原则:** docstring 是 Agent 理解工具的唯一途径------写清楚「什么时候用」「参数是什么」「返回值是什么」。

python 复制代码
# tools.py
from langchain.tools import tool


@tool
def get_weather(city: str) -> str:
    """查询指定城市的天气。

    Args:
        city: 城市名称,如 "北京" 或 "上海"
    """
    weather_data = {
        "北京": "晴,25°C,东南风 3 级",
        "上海": "多云,28°C,东风 2 级",
        "深圳": "雷阵雨,31°C,东南风 4 级",
    }
    return weather_data.get(city, f"暂无 {city} 的天气数据")


@tool
def calculator(expression: str) -> str:
    """执行数学计算,支持加减乘除和括号。

    Args:
        expression: 数学表达式,如 "(23 + 12) * 8 - 5"
    """
    try:
        allowed = set("0123456789+-*/.() ")
        if not all(c in allowed for c in expression):
            return "错误:表达式包含非法字符"
        return f"计算结果:{eval(expression)}"
    except Exception as e:
        return f"计算失败:{e}"

3.3 组装 Agent

python 复制代码
# agent.py
import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain import hub
from langchain.agents import create_react_agent, AgentExecutor
from tools import get_weather, calculator

load_dotenv()

# ① 初始化 LLM
llm = ChatOpenAI(
    model=os.getenv("MODEL_NAME", "qwen-plus"),
    temperature=0,
    base_url=os.getenv("OPENAI_BASE_URL"),
    api_key=os.getenv("OPENAI_API_KEY"),
)

# ② 加载 ReAct 提示模板
prompt = hub.pull("hwchase17/react")

# ③ 组装工具
agent = create_react_agent(
    llm=llm,
    tools=[get_weather, calculator],
    prompt=prompt,
)

# ④ 创建执行器
agent_executor = AgentExecutor(
    agent=agent,
    tools=[get_weather, calculator],
    verbose=True,               # 打印推理全过程
    handle_parsing_errors=True, # 解析异常自动重试
    max_iterations=5,           # 防止死循环
)

3.4 运行测试

python 复制代码
# main.py
from agent import agent_executor

if __name__ == "__main__":
    # 测试 1:单一工具
    result = agent_executor.invoke({"input": "北京今天天气怎么样?"})
    print(result["output"])

    # 测试 2:多步推理 + 多工具
    result = agent_executor.invoke({
        "input": "上海和深圳哪个城市气温高?高出多少度?"
    })
    print(result["output"])

verbose=True 时的完整推理日志:

text 复制代码
> Entering new AgentExecutor chain...
Thought: 用户想知道北京天气,调用 get_weather 工具
Action: get_weather
Action Input: 北京
Observation: 晴,25°C,东南风 3 级
Thought: 已获取数据,可以直接回答
Final Answer: 北京今天是晴天,气温 25°C,东南风 3 级

▎四、工程避坑:五个生产级问题

问题 现象 解决方案
**死循环** Agent 反复调同一工具 `max_iterations` + 重复检测
**幻觉工具** 凭空捏造工具名 JSON Schema 约束输出
**上下文爆炸** Token 数持续暴涨 滑动窗口 + 摘要压缩
**错误传播** 一步错,全盘错 Reflexion / Replanning
**成本失控** 单任务烧掉几块钱 小模型 + 缓存 + 超时熔断

▎五、趋势前瞻:2026 年五大方向

A2A 协议标准化 --- Google 牵头的 Agent-to-Agent 协议,将打通跨平台协作的「最后一公里」

Computer Use 普及 --- Claude Computer Use、OpenAI Operator 让 Agent 直接操作真实桌面和浏览器

Agent Ops 独立 --- 可观测性、调试工具、评估框架、成本控制将形成独立工程赛道

小模型 + 工具 --- Llama 3 / Qwen 3 7B 级别模型已能完成 80% 的 Agent 生产任务

Memory 标准化 --- 短期 / 长期 / 工作记忆的三层架构正在收敛为行业共识


▎六、总结与延伸

回顾全文,Agent 范式的演进是一条清晰的能力递进线:

CoT → 教会模型「思考」

ReAct → 教会模型「边想边做」

Reflexion → 教会模型「自我反思」

Plan-and-Execute → 教会模型「先谋后动」

Multi-Agent → 教会模型「分工协作」

**下一步学习路线:** 读论文(ReAct / Reflexion)→ 做实战(LangGraph / AutoGen / CrewAI)→ 关注前沿(A2A / Computer Use / Agent Ops)


参考资料:


我是杰哥,专注 AI Agent 工程化与实践。如果本文对你有帮助,欢迎点赞、收藏、关注三连。下期预告:《提示词工程进阶:从零样本到结构化提示的七个层次》。