mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
2042 字
6 分钟
AI Agent:打造能自主干活的智能体
2025-09-22

你让 AI 帮你做一份市场调研报告。

普通 Chatbot 的反应是等你一个问题一个问题地问:“XX 行业的市场规模是多少?""主要竞争者有哪些?""最近有什么政策变化?” 你问一句,它答一句。

但你真正想要的是:给 AI 一个目标 “帮我做一份 XX 行业的市场调研报告”,然后 AI 自主搜索资料、分析数据、整理成文、自我检查、发现不足再补充,最终交给你一份完整的报告。

这就是 Agent(智能体)

本文要点#

  • Chatbot 和 Agent 的本质区别
  • Agent 的核心能力循环
  • 三种 Agent 架构:ReAct、Plan-and-Execute、Reflection
  • Multi-Agent 多智能体协作系统
  • 主流开发框架对比
  • 前沿发展:OpenAI Agents SDK、Devin、A2A 协议

一、从 Chatbot 到 Agent#

flowchart TD N0["用户提问"] N1["LLM 生成回复"] N0 --> N1 N1["LLM 生成回复"] N2["结束"] N1 --> N2 N3["目标"] N4["规划"] N3 --> N4 N4["规划"] N5["执行"] N4 --> N5 N5["执行"] N6["观察"] N5 --> N6 N6["观察"] N7["反思"] N6 --> N7 N7["反思"] N8["修正"] N7 --> N8 N8["修正"] N9["完成"] N8 --> N9

类比一下:Chatbot 像一个只会回答问题的客服。你问什么,它答什么。Agent 像一个能独立完成任务的助理。你给一个目标,它自己想办法完成。


二、Agent 核心能力循环#

Agent 的工作遵循一个循环:感知→决策→执行→反思

flowchart TD A[感知] --> B[决策] B --> C[执行] C --> D[反思] D -->|未完成| A D -->|已完成| E[输出结果]

感知: 接收任务描述和环境状态。用户要一份市场调研报告。

决策: 规划下一步行动。我应该先搜索行业数据。

执行: 调用工具完成行动。调用搜索 API、查询数据库。

反思: 评估结果、调整策略。“搜索结果不够详细,需要换个关键词再查一次”。

这个循环不断重复,直到任务完成。


三、三种单体 Agent 架构#

3.1 ReAct:推理与行动交替#

ReAct(Reasoning + Acting)是最基础的 Agent 架构。核心模式:想一想→做一做→看结果→再想

任务:"找出销售额最高的产品并分析原因"
Thought 1:需要先查询销售数据
Action 1:query_database("SELECT product, SUM(amount) ...")
Observation 1:产品 A 销售额 100 万,产品 B 80 万……
Thought 2:产品 A 最高,需要分析原因
Action 2:search_web("产品 A 市场分析 2024")
Observation 2:产品 A 在 Q4 进行了促销活动……
Thought 3:信息足够了,可以总结
Answer:产品 A 销售额最高,原因是……

ReAct 简单直观,适合大多数场景。

3.2 Plan-and-Execute:先规划再执行#

先生成完整计划,然后按计划逐步执行。

flowchart TD N0["某步骤失败时"] N1["重新规划"] N0 --> N1

适合步骤清晰、可提前规划的任务。

3.3 Reflection:加入自我反思#

在执行后加入自我评估环节,发现问题并改进。

flowchart TD N0["1. 标题是否吸引人?"] N1["略显平淡,修改"] N0 --> N1 N2["2. 结构是否清晰?"] N3["过渡不够流畅,补充连接词"] N2 --> N3 N4["3. 论据是否充分?"] N5["第 3 点缺少数据支撑,补充"] N4 --> N5

Reflection 显著提升输出质量,适合写作、代码生成等创造性任务。


四、Multi-Agent 系统#

当任务复杂到单个 Agent 难以处理时,需要多个 Agent 协作。

4.1 协作型:流水线分工#

flowchart TD N0["Product Manager Agent"] N1["分析需求,生成 PRD"] N0 --> N1 N2["Architect Agent"] N3["设计技术方案"] N2 --> N3 N4["Developer Agent"] N5["编写代码"] N4 --> N5 N6["QA Agent"] N7["测试代码"] N6 --> N7 N8["Reviewer Agent"] N9["代码审查"] N8 --> N9

每个 Agent 专注于自己的领域,通过消息传递协作。

4.2 层级型:管理者分配任务#

mindmap root((Manager Agent)) Research Agent(研究员) Writer Agent(写作者) Editor Agent(编辑)

Manager 接收任务→分解为子任务→分配给 Worker→收集结果→评估质量→整合输出。

4.3 竞争型:辩论式决策#

Pro Agent(支持方) vs Con Agent(反对方)
Judge Agent(评判者)
最终决策

适合需要权衡利弊的决策场景。


五、Agent 开发框架#

框架特点适用场景
LangGraph状态机编排、复杂工作流复杂 Agent 流程
CrewAIMulti-Agent 协作多角色协作任务
AutoGen微软开源、对话式 Agent研究原型
LangChain功能全面、生态丰富通用 LLM 应用
Semantic Kernel微软企业级企业应用集成

LangGraph 示例:

from langgraph.graph import StateGraph, END
class AgentState(TypedDict):
messages: list[str]
next_action: str
def research_node(state):
return {"messages": [...],"next_action":"write"}
def write_node(state):
return {"messages": [...],"next_action":"review"}
def review_node(state):
if quality_ok:
return {"next_action": END}
return {"next_action":"write"}
workflow = StateGraph(AgentState)
workflow.add_node("research", research_node)
workflow.add_node("write", write_node)
workflow.add_node("review", review_node)
workflow.add_edge("research","write")
workflow.add_edge("write","review")
workflow.add_conditional_edges("review", lambda s: s["next_action"])

六、OpenAI Agents SDK#

2025 年,OpenAI 发布了官方 Agent 开发框架 Agents SDK。

核心概念:

  • Agent:具有指令和工具的 LLM 实例
  • Handoff:Agent 之间的任务交接
  • Guardrails:安全护栏,限制 Agent 行为

与 LangGraph 等社区框架的区别:OpenAI Agents SDK 更轻量,直接集成 OpenAI API,适合使用 OpenAI 模型的开发者。LangGraph 更灵活,支持多种模型。


七、Claude Code:编程 Agent 实例#

Anthropic 的 Claude Code 是一个终端 Agent,能在你的项目中自主操作。

flowchart TD N0["6. 测试失败"] N1["分析原因"] N0 --> N1 N1["分析原因"] N2["修改"] N1 --> N2 N2["修改"] N3["再测试"] N2 --> N3 N4["7. 全部通过"] N5["提交"] N4 --> N5

Claude Code 代表了 Agent 在编程领域的深度应用:不是简单的代码补全,而是理解→规划→执行→验证的完整循环。


八、Devin:AI 软件工程师#

2024 年,Cognition 发布了 Devin,号称 第一个 AI 软件工程师。

Devin 能自主完成:创建项目、编写代码、调试错误、部署上线。它有自己的代码编辑器、浏览器和终端。

当前能力: 在 SWE-bench 基准上解决了约 14% 的 GitHub issue,虽然远非完美,但标志着 Agent 从 “辅助” 走向 “自主” 的趋势。

局限: 复杂任务仍需人类介入,执行速度较慢,成本较高。


九、A2A 协议:Agent 间通信标准#

Google 在 2025 年提出了 A2A(Agent-to-Agent)协议,解决不同 Agent 之间如何协作的问题。

flowchart TD N0["MCP:AI ←"] N1["工具/数据源(人与工具的连接)"] N0 --> N1 N2["A2A:Agent ←"] N3["Agent(Agent 间的连接)"] N2 --> N3

场景: 你的 “客服Agent” 需要调用”物流Agent” 查询包裹状态。如果两个 Agent 由不同团队开发,用不同框架构建,A2A 协议让它们能相互理解和协作。

A2A 和 MCP 是互补关系:MCP 解决 AI 与数据源的连接,A2A 解决 Agent 与 Agent 的连接。


十、Agent 的评估、安全与可靠性#

10.1 如何评估#

  • 任务完成率:Agent 成功完成任务的比例
  • 步骤效率:完成任务用了多少步(越少越好)
  • 成本:消耗了多少 Token
  • 质量评分:输出质量的人工或自动评估

10.2 安全风险#

  • 无限循环:Agent 在两个步骤间来回跳转
  • 资源消耗:Agent 可能发起大量 API 调用
  • 权限滥用:Agent 可能执行超出预期的操作

10.3 可靠性保障#

  • 设置最大步骤数超时限制
  • 高风险操作加入人工确认(Human-in-the-loop)
  • 完整的日志追踪,方便排查问题
  • 沙箱环境执行,限制 Agent 权限范围

图解#

10.1 Agent 技术栈#

┌──────────────────────────────────────────────┐
│ Agent 技术栈全景 │
├──────────────────────────────────────────────┤
│ │
│ 应用层 │
│ └── Devin、Claude Code、自定义 Agent │
│ │
│ 框架层 │
│ └── LangGraph、CrewAI、OpenAI Agents SDK │
│ │
│ 协议层 │
│ └── MCP(连接工具)、A2A(连接 Agent) │
│ │
│ 能力层 │
│ └── Function Calling、RAG、Memory │
│ │
│ 模型层 │
│ └── GPT-4o、Claude 3.5、DeepSeek V3 │
│ │
└──────────────────────────────────────────────┘

常见问题 FAQ#

Q1:Agent 和 Chatbot 的本质区别是什么?

A:Chatbot 是被动的 “一问一答”。Agent 具备自主规划和执行能力,能把一个目标分解为多个步骤并逐步完成。核心区别在于 “是否有决策循环”。

Q2:什么时候用 Agent 而不是简单的 LLM 调用?

A:当任务需要多个步骤、多次工具调用、或者需要根据中间结果调整策略时,用 Agent。单轮问答、简单生成任务用直接调用即可。

Q3:Multi-Agent 越多 Agent 越好吗?

A:不是。Agent 之间的通信有开销,协调越复杂越容易出错。从最少的 Agent 数量开始,必要时再增加。

Q4:Agent 会不会陷入无限循环?

A:有这个风险。解决方法:设置最大步骤数、超时限制、循环检测。如果 Agent 在 N 步内无法推进任务,强制终止并汇报。

Q5:Agent 技术成熟吗?

A:2024-2025 年 Agent 快速发展,但仍处于早期阶段。简单任务(如研究和总结)已经可用,复杂任务(如完整的软件开发)仍需人类监督。建议从低风险场景开始尝试。


小结#

从 Chatbot 到 Agent,AI 从 被动回答 进化到 主动规划执行。ReAct、Plan-and-Execute、Reflection 三种架构解决不同类型的任务。Multi-Agent 系统让多个专业 Agent 协作完成复杂工作。

Agent 技术仍在快速进化。OpenAI Agents SDK、A2A 协议等标准化工作正在让 Agent 开发变得更简单、更可靠。


下篇预告#

Agent 需要记住之前的对话、连接各种数据源、拥有专业技能。这些 “基础设施” 是怎么实现的?


参考资料#

支持与分享

如果这篇文章对你有帮助,欢迎支持作者或分享给更多人

AI Agent:打造能自主干活的智能体
https://blog.souloss.com/posts/machine-learning/llm-guide/ai-agent/
作者
Souloss
发布于
2025-09-22
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时