一年之间,Agent 从 Workflow 到 While Loop
模型迭代速度超越了框架设计速度
- 2024年初:GPT-4、Claude 3 需要 Workflow 这样的”手把手”指导才能完成复杂任务
- 2025年中:Claude 3.7、GPT-4.5、o4-mini 直接理解任务意图,一个
while True配合详细 prompt 就能跑完全流程 - 核心转变:从”框架编排模型”到”模型即 agent”,Prompt+模型成为唯一核心
- 行业共识:模型能力每 3-6 个月翻倍,精心设计的工作流框架很快就会过时
一年前:为什么我们需要 Workflow?
2024年初,当我们想让 GPT-4 完成一个复杂的调研任务时,必须这样做:
- 手动拆解任务:定义”搜索”节点、“分析”节点、“总结”节点
- 设计状态机:规划节点之间的跳转逻辑、循环条件、退出条件
- 编写路由规则:用代码告诉模型”什么时候该做什么”
- 维护状态传递:在节点之间显式传递中间结果
# 2024年典型的代码
from langgraph.graph import StateGraph
workflow = StateGraph(AgentState)
workflow.add_node("search", search_node)
workflow.add_node("analyze", analyze_node)
workflow.add_node("summarize", summarize_node)
workflow.add_edge("search", "analyze")
workflow.add_edge("analyze", "summarize")
workflow.add_conditional_edges(
"summarize",
should_continue,
{"continue": "search", "end": END}
)
为什么这么复杂? 因为 2024 年的模型还不够聪明:
- 上下文窗口有限(GPT-4 才 128K,实际可用更少)
- 工具调用不稳定(经常遗漏参数或调错工具)
- 推理深度不足(多步任务容易”走偏”)
- 没有长期记忆能力
现在:Claude Code 只用了一个 while loop
2025年,Claude Code 让我们看到了另一种可能。它的核心代码简化到极致:
# Claude Code 的核心逻辑(简化版)
system_prompt = """你是一个软件工程助手...
[长达 5000+ 字的详细操作手册]
"""
while not task_completed:
response = claude_3_7.invoke(
system=system_prompt,
messages=conversation_history,
tools=available_tools
)
if response.tool_calls:
results = execute_tools(response.tool_calls)
conversation_history.append(results)
if response.says_completed:
task_completed = True
就这么简单。 没有节点、没有状态机、没有路由规则。模型自己决定:
- 下一步该做什么(规划能力)
- 需要调用哪些工具(工具理解)
- 任务是否完成(自我评估)
- 如何处理错误(容错能力)
为什么现在可以? 因为模型迭代太快了:
| 能力维度 | 2024年初 | 2025年中 | 提升倍数 |
|---|---|---|---|
| 上下文窗口 | 128K | 1M+ | 8x |
| 工具调用准确率 | ~60% | ~95% | 1.6x |
| 多步推理深度 | 3-5步 | 20+步 | 4-6x |
| Prompt 理解 | 需要精简 | 可以写”操作手册” | 10x+ |

核心转变:Prompt + 模型 = 一切
以前:框架是核心,模型是工具
开发者设计 → Workflow 编排 → 模型执行
↑ ↓
└──────── 结果反馈 ←────────────┘
- 开发者要想清楚所有逻辑
- 框架负责流程控制
- 模型只是”一个更好的函数”
现在:模型是大脑,框架是手
详细 Prompt → 模型自主决策 → 持续执行
↓
工具 + 记忆
- Prompt 就是”操作系统”(5000+ 字的系统提示)
- 模型自己规划、执行、评估
- 框架退化为”提供工具”和”防止出轨"
"真正的Agent,就是一个在循环中运行、不断调用工具的 LLM。差异只在于工程细节。“
这句话的深层含义是:当模型足够强时,复杂的框架设计变得不再必要。
理解 Claude Code 发现只需要四个东西:
1. 详细的系统 Prompt(5000+ 字)
Claude Code 的系统提示词包含:
- 工具使用说明(每个工具都有详细例子)
- 工作流程指南(什么时候该做什么)
- 错误处理策略(遇到问题怎么办)
- 输出格式要求(如何与用户沟通)
关键发现:Prompt 越详细,模型表现越好。2024年我们还在优化”如何用最少的 token”,现在直接把操作手册塞进去就行。
2. 规划工具(Todo List)
Claude Code 的 Todo List 工具本质上是个 No-Op(不执行任何操作),但它强制模型:
- 显式列出计划步骤
- 追踪任务进度
- 保持专注不跑偏
class TodoTool:
def add_task(self, task: str):
"""强制模型思考下一步"""
pass # 实际不执行任何操作
这个”假工具”的作用是让模型的 CoT(思维链)外化,类似于”把想法写下来”。
3. 子代理机制
复杂任务需要拆解。Claude Code 的子代理做法:
# 主代理创建子代理
sub_agent = Agent(
task="深度调研量子计算的最新进展",
parent_context=current_context, # 共享上下文
max_iterations=50
)
result = sub_agent.run()
main_agent.integrate(result)
- 主代理负责整体规划
- 子代理处理子任务(可以是搜索、代码、分析等)
- 上下文在主子之间共享
4. 文件系统(长期记忆)
无论是 Claude Code、Manus 还是 Deep Research,都把文件系统当作:
- 工作区:执行任务的场所(读写代码、文档等)
- 外部记忆:保存中间结果、避免上下文溢出
- 状态持久化:长时间运行任务的状态管理
# 模型可以随时读写文件
agent.write_file("research_notes.md", "...")
agent.read_file("previous_findings.txt")
这比传统的”把所有东西塞进 messages”要高效得多。
这一年的教训:模型迭代速度 >> 框架设计速度
回顾 2024 到 2025 这一年:
Q1 2024:Workflow 成为 Agent 开发的事实标准
Q2 2024:Claude 3.5 发布,工具调用准确率大幅提升
Q3 2024:GPT-4.5 支持 200K 上下文,开始减少节点数量
Q4 2024:o4-mini 展示深度推理能力,简单任务不再需要状态机
Q1 2025:Claude Code 公开,证明”while 循环 + 详细 Prompt”就够了
Q2 2025:行业开始反思”是否过度工程化了 Agent 框架”
核心教训:
- 不要为当前模型设计框架——3个月后模型就会升级
- Prompt 比代码更重要——5000 字的 Prompt 胜过 5000 行的编排代码
- 模型即 Agent——当模型足够强,循环就是最好的架构
- 保持简单——复杂的状态机在快速迭代中很难维护
实践建议
如果你现在要开发一个 Agent 系统:
从 while 循环开始
while not done:
response = model.invoke(messages, tools)
handle_response(response)
不要一上来就设计复杂的工作流图。先让最简单的循环跑起来,看模型能做到什么程度。
把精力花在 Prompt 上
- 写详细的工具使用说明(每个工具都要有例子)
- 定义清晰的工作流程(什么情况下该做什么)
- 提供错误处理策略(遇到问题如何恢复)
- 给出输出格式要求(如何与用户交互)
Claude Code 的系统 Prompt 有 5000+ 字,这不是偶然。
选最新最强的模型
模型能力的提升远超你的想象:
- Claude 4.5 vs Claude 3: 工具调用准确率从 60% → 95%
- GPT-5 vs GPT-4: 推理深度从 5 步 → 20+ 步
- o4-mini: 内置 CoT,自动进行多步推理
不要用 6 个月前的模型。 那会让你误以为需要复杂的框架。
提供必要的工具和记忆
- Todo List(强制规划)
- 子代理(任务拆解)
- 文件系统(长期记忆)
这些是工程细节,但很重要。
结语:模型就是 Agent
2024 年我们说”Agent = 模型 + 框架 + 工具”。
2025 年我们发现”Agent = 模型”,框架和工具只是辅助。
这不是说 Workflow 没有价值——在需要严格流程控制、人工审核节点、合规检查的场景,显式的工作流依然必要。但对于大多数”让 AI 自主完成任务”的场景,一个写得足够好的 Prompt + 一个足够强的模型 + 一个简单的 while 循环,就够了。
模型迭代太快了。 与其花时间设计完美的框架,不如把精力放在 Prompt 工程和模型选择上。半年后,你精心设计的状态机可能会被新模型的能力提升彻底取代。
不是我们设计得更好了,是模型变得更强了。
相关资源: