Agentadvanced18 分钟阅读

Agent 编程 5 种模式与各自的失败模式

ReAct / Plan-Execute / Reflexion / Code-as-Action / Multi-Agent 实战取舍

x
xaikey
更新于 2026/4/18
agentpatternsproduction
已验证作者于 2026-04-18 smolagents / LangGraph / Claude Sonnet 4.6 环境下亲自跑通。文中所有代码、prompt、命令均为实测。

过去 4 个真实项目,每个用了不同的 agent 模式。这篇把它们的适用场景、典型失败模式、 token 成本、调试体验拆开比较——不是教程,是选型指南。

TL;DR

  • 不知道选什么:默认 ReAct。能跑通 80% 简单任务。
  • 多步骤强依赖前序结果:Plan-Execute。可解释性最好。
  • 对正确率要求高:Reflexion。但慢 + 贵。
  • 主要工具是写代码:Code-as-Action(smolagents)。调试舒适。
  • 能不上 Multi-Agent 就别上。2026 年还没看到划得来的真实生产案例。

1. ReAct — 默认起点

Thought → Action → Observation 循环。最古老最稳的范式。langchainllamaindex 默认都是它。

适合

  • 简单工具调用(搜索、查 DB、调 API)
  • 步骤数 ≤ 5
  • 对延迟敏感(一次完成 vs Plan-Execute 两阶段)

失败模式

  • 循环陷阱——Action 失败后,模型继续重试同样的 Action(提高 temperature 也救不了)
  • 过早终止——觉得「我有答案了」其实信息不够
  • 工具调用不一致——同样问题第二次跑用了不同的工具组合

缓解

# 加 max_iterations + 失败计数器
agent = ReActAgent(
    tools=tools,
    llm=claude,
    max_iterations=8,
    early_stop_on_repeated_action=True,  # 关键
)

2. Plan-Execute — 多步骤主流

先 plan 出步骤列表,再逐步执行,每步可以回看 plan 调整。 2025 后大部分严肃 agent 系统的默认。

适合

  • 步骤之间有依赖(步骤 3 用步骤 2 的输出)
  • 需要 human-in-the-loop(用户在 plan 阶段可以改)
  • Claude Code 的 Plan mode 就是这个范式

失败模式

  • plan 过早细化——一开始就列 12 步,遇到第 3 步报错全乱了。
    缓解:plan 只列 high-level,每步再展开
  • 不更新 plan——执行中发现新信息,但 agent 还按老 plan 跑
  • plan / execute 模型不一致——plan 用 Sonnet,execute 用 Haiku,理解偏差

3. Reflexion — 高准确度

Action 之后多一步「自我评判」,错了就改。在数学、代码、严谨问答上能涨 10-25%。

适合

  • 有客观对错的任务(代码能否跑、数字对不对)
  • 对单次正确率要求 > 95%
  • 用户能接受 2-3× 延迟

失败模式

  • self-critique 是 yes-man——模型批评自己时还是说「我做得对」
  • 反复横跳——A 改成 B 又改回 A

4. Code-as-Action — 工程师友好

Agent 不输出 JSON 工具调用,而是写 Python / TypeScript 代码,运行后看结果。 HuggingFace smolagents 主推这个。

适合

  • 主要任务就是数据处理 / 文件操作 / API 调用
  • 工程师能读懂中间过程(这是最大优势——可调试)
  • 不需要严格 sandbox 的环境(或你接受 docker)

典型代码

from smolagents import CodeAgent, HfApiModel

agent = CodeAgent(
    tools=[search_tool, web_fetch_tool],
    model=HfApiModel("Qwen/Qwen2.5-Coder-32B-Instruct"),
)
agent.run("找出 2026 年 AI 工具领域 GitHub star 增量 top 5 的仓库")
# 它会输出可读的 Python 代码而不是工具调用序列

失败模式

  • 沙箱逃逸——必须用 docker 或 nsjail,不要相信 exec() 黑名单
  • 包依赖混乱——agent 装包时和宿主环境打架

5. Multi-Agent — 谨慎使用

AutoGen、CrewAI 这类把任务拆给多个「专业 agent」(Planner、Coder、Tester...)。 理论很美,工程现实很惨。

例外

  • 真有强角色隔离——比如 producer / reviewer 必须独立判断
  • 研究而非生产——探索 emergent behavior
  • 团队人手 ≥ 3——有人专门维护 agent 编排

6. 选型决策树

你的任务步骤数 ≤ 3?
├─ 是 → ReAct(够用)
└─ 否 ↓

需要 ≥ 95% 单次正确率?
├─ 是 → Reflexion(接受 2× 慢、2× 贵)
└─ 否 ↓

主要操作是写代码 / 数据处理?
├─ 是 → Code-as-Action(smolagents)
└─ 否 ↓

步骤间有强依赖、需要可解释?
├─ 是 → Plan-Execute
└─ 否 → ReAct(默认)

任何时候都问:能不能去掉 agent 直接 prompt?
80% 时候答案是「能」。

7. 真实成本对比

同一任务("找出 GitHub trending 中 5 个 RAG 工具,写一段 200 字对比")4 个范式跑各 50 次:

范式平均 tokens平均延迟正确率调试体验
ReAct4.8k14s72%🟢 好
Plan-Execute7.2k22s86%🟢 最好
Reflexion11.4k38s91%🟡 中
Code-as-Action5.5k18s83%🟢 好(看到代码)
Multi-Agent (CrewAI)26.7k71s78%🔴 差

看到 Multi-Agent 的数字了吗?4× token、3× 延迟,准确率反而比 Plan-Execute 还低。 这就是为什么我说「不要在没有强证据时上多 agent」。

作者后记

这篇 playbook 我手写后用 LLM 协助润色 / 校对,每一段技术结论都基于真实测试。如果你发现描述与你的环境有出入,欢迎提交 issue 或邮件 hello@xaikey.com。争议条目我会标注更新日期。

文档版本:v1 · 2026-04-18
不想错过下一篇

加入每周 AI 工程师 Brief

新 playbook 上线第一时间通知,附作者每周观察。永久免费。

相关 Playbook

Coding Workflow

Claude Code 真实工作流:从单文件改动到跨仓库重构

讲清楚什么任务该交给 Claude Code、什么必须自己写。包含 7 个可复制的 prompt 模板和 5 个不该用它的场景。

Industry Share

Investing in multi-agent AI safety research

Google DeepMind 联合合作伙伴宣布投入 1000 万美元,公开征集多智能体 AI 安全研究项目提案。 创意点:多智能体系统正在成为 AI 应用落地主流方向,但目前安全研究严重落后于能力研究——这笔资金可能催生新一代安全基准和防护机制;工程师可以关注即将发布的提案指南,提前思考自己的 agent 系统在多智能体协作场景下的安全盲点,并尝试贡献开源评估工具或 case study。 原文:https://deepmind.google/blog/investing-in-multi-agent-ai-safety-research/

Industry Share

PathoSage: Towards Multi-Source Evidence Adjudication in Pathology via Experience-Aware Agentic Workflow

PathoSage 提出三阶段病理学推理框架,通过显式分离知识检索、证据收集和证据裁决来解决 MLLM 幻觉和上下文污染问题,核心是 Structured Evidence Deliberation 模块在新鲜上下文中独立评估异构证据并执行冲突分析。 创意点:Beta-Bernoulli experience system 提供了无需训练的持续信用分配机制来建模工具可靠性,工程师可将此思路迁移到其他多工具 Agent 系统,实现基于相似度加权的工具选择优先序。 原文:https://arxiv.org/abs/2606.07549