AI Agent 开发学习 --- 框架开发实践(三)

Hello-Agents 第六章:框架开发实践(精读笔记)

来源 :DataWhale《Hello-Agents》第六章 · GitHub

本文定位 :压缩版学习笔记------用表格 + 要点 概括教材逻辑;完整原文、长代码与日志 请以官方章节与仓库 code 为准。


本章在讲什么

手写 ReAct / Plan-and-Solve 适合理解原理;要做多个、复杂、可维护的智能体应用,应转向框架 :把主循环、状态、工具、记忆、日志与观测等共性抽掉,你只写业务。本章用四个代表性框架 + 四个完整案例对比「怎么协作、怎么控流程」。


6.1 为什么需要框架

价值 要点
分层 模型层 / 工具层 / 记忆层解耦,便于替换实现。
可观测 Callbacks(如 on_llm_start、on_tool_end、on_agent_finish)系统化追踪,优于到处 print。
代际 LangChain、LlamaIndex 偏第一代通用范式;新一代更强调多智能体协作 与复杂工作流控制。

6.1.2 四框架总览(教材表 6.1 压缩)

框架 一句话 协作与控制
AutoGen 多智能体 群聊 对话与消息驱动轮替;角色 + 规则,任务在自动对话中推进。
AgentScope 消息驱动 的多智能体平台 Msg 为中心,Hub/Pipeline 编排;强调工程化、并发、分布式。
CAMEL 双智能体角色扮演 Role-Playing + Inception Prompting(初始结构化提示),少写流程多靠协议约束对话。
LangGraph 有向图 / 状态机 节点 = 步骤(调 LLM、工具),边 = 跳转;天然支持循环,适合 Reflection、分支与回退。

更细的维度对比 + 使用场景 + 选型一句话 见文末 四框架对比与使用场景(选型速查)。


6.2 AutoGen

哲学 :以对话组织协作,复杂任务 ≈ 多角色自动群聊。

机制(教材以 0.7.4 为例)

  • 分层:autogen-core(底层)+ autogen-agentchat(对话应用 API)。
  • 异步优先:多路 LLM 等待时不阻塞。
  • AssistantAgent :绑 LLM,靠 System Message 定角色与交接话术。
  • UserProxyAgent :既可代表用户,又可执行代码/工具;常负责发 TERMINATE 结束协作。
  • 多智能体协调:RoundRobinGroupChat 按 participants 顺序发言;TextMentionTermination 、max_turns 防死循环。

案例:软件开发团队

  • 角色:产品经理 → 工程师 → 代码审查 → 用户代理。
  • 任务:用 Streamlit 做 比特币价格 Web(需求---实现---审查---验收闭环)。
  • 非 OpenAI 兼容端点:可在 OpenAIChatCompletionClient 里配 model_info 声明能力边界。

优劣

  • 长:贴近人类协作、角色复用、人在回路自然。
  • 短 :对话不确定易跑偏;调试靠长对话历史(「对话式调试」)。

6.3 AgentScope

哲学 :工程化 优先------组合式架构 + 消息而非单纯函数调用链;偏「智能体操作系统」。

结构(教材分层)

  • 基础:Message、Memory、Model API、Tool。
  • 智能体层:ReAct、钩子、并行工具、异步等。
  • 协作:MsgHub 路由;Pipeline 顺序/并发编排。
  • 上层:Runtime、Studio 等工具链。

消息驱动的收益 :异步解耦、位置透明(本地/远程)、易观测、可持久化与重试。

智能体 :继承 AgentBase ,核心实现 reply(Msg) -> Msg ;可选 observe。

MsgHub :点对点 / 广播 / 组播;可落库(如 SQLite、MongoDB);跨节点 RPC 对开发者透明。

案例:三国狼人杀

  • 三层:游戏控制类 (全局状态与阶段)、MsgHub (一切对话与私聊频道)、DialogAgent + 提示词(游戏规则 + 三国人物性格)。
  • 狼人夜:MsgHub 建狼人私密频道;讨论后轮询 fanout_pipeline 并行收「击杀投票」,贴近「同时投票」。
  • Pydantic 结构化输出(如讨论、女巫行动)把规则写进字段与校验,减少胡编。
  • 容错:单智能体异常时用默认结构化结果,游戏不中断。

优劣

  • 长:并发与规则约束强,适合复杂多智能体、要稳定跑在生产形态的场景。
  • 短 :学习异步与消息范式成本高;简单对话可能过度工程;生态仍在长。

6.4 CAMEL

哲学 :轻架构、重提示 ------两个互补角色 + Inception Prompting,用协议(一次一步、完成标记等)约束自主多轮对话。

角色模型(经典)

  • AI User:提需求、拆步骤(如「交易员」)。
  • AI Assistant:执行与产出(如「Python 程序员」)。

案例:拖延症科普电子书

  • RolePlaying (assistant_role_name / user_role_name / task_prompt);作家推结构,心理学家给实证内容。
  • 循环:init_chat() → 反复 step() ;出现 <CAMEL_TASK_DONE> 则结束。
  • 协作阶段(教材描述):对齐框架 → 内容生产循环 → 润色与事实核对 → 收尾。

教材亦提到:CAMEL 生态在扩展(多模态、工具、多后端、与 LangChain / CrewAI / AutoGen 等互通)。

优劣

  • 长:双专家深度协作、代码量少、行为可很灵活。
  • 短:强依赖提示质量、难定位失败原因;大规模多智能体、硬流程、极高并发分别不如 AutoGen 群聊路由、LangGraph 图、AgentScope 消息架构。

6.5 LangGraph

哲学 :把执行流画成 StateGraph ------共享 State 、Node 返回部分更新、Edge / conditional_edges 决定下一步;循环一等公民。

三要素 :TypedDict 状态;节点函数;普通边 + 条件边 (路由函数返回下一节点名或 END)。

案例:三步搜索问答助手

  1. Understand :从用户话里提炼 user_query + search_query。
  2. Search :教材示例为 Tavily ;失败则 step=search_failed。
  3. Answer:成功则结合检索生成;失败则回退为「仅凭模型知识」并说明情况。

图结构:线性 START → understand → search → answer → END ;可挂 checkpointer (如 InMemorySaver)做状态持久化。本仓库实现与差异见 langgraph_search_assistant.md。

优劣

  • 长 :流程显式、可审计、可预测 ;易插人在回路;条件边做反思/重试/回退。
  • 短 :样板多;偏「怎么跑」而非开放式群聊涌现;调试要懂全图与状态传递。

6.6 本章小结(两条主轴)

  1. 涌现式协作 vs 显式控制

    AutoGen、CAMEL:靠角色与目标,协作从对话里长出来 ------像人,但更难预测。

    LangGraph:每一步和分支写死------像流程引擎,可靠、可观测,少一点惊喜。

  2. 工程化

    不论选哪种协作范式,上生产都要面对并发、容错、分布式;AgentScope 这条线把「能跑」往「能稳定服务」推。


四框架对比与使用场景(选型速查)

下表把四个框架放在同一套维度下对照,便于按任务形态 与工程要求快速缩小范围(与教材 6.6「涌现 vs 显式」「工程化」两条主轴一致)。

维度 AutoGen AgentScope CAMEL LangGraph
协作隐喻 多角色 群聊,轮替发言 消息总线(Hub / Pipeline),可广播、可并行 双人 专家对话,角色互补 有向图:节点是步骤,边是跳转
控制方式 发言顺序 + 终止条件;流程多从对话 涌现 显式消息模式 + 编排;易表达 并发 与阶段 Inception Prompting 协议约束每轮说什么 显式 状态机;条件边 做分支与 循环
工程化 / 运维 中等;异步 Team,观测可接 Callback 强:持久化、分布式 RPC、Runtime/Studio 偏轻;双智能体为主,生态在扩展 与 LangChain 生态结合;checkpointer 便于持久与回放
上手与代码量 定义角色 + 群聊即可,概念直观 需适应 异步 + 消息;结构更「平台化」 少代码 ;成败高度依赖 提示设计 样板多(State / Node / Edge);简单问答也偏啰嗦
可预测性 中低(LLM 对话易跑偏) 中高(结构化输出 + 容错可拉高) 中(协议在、模型仍可能误解) 高(路径由图决定,易审计)
典型适用场景 3+ 角色流水线:迷你「产品---开发---测---审」、研讨式任务、人在回路验收 高并发 / 多智能体实时交互、仿真与博弈、要落库与分布式 双专家深度共创:写作+领域专家、需求+实现、长程迭代 固定 SOP:审批链、合规步骤、检索---回答---反思循环、需可追溯流程
不太适合 要强审计的刚性流程(无额外设计时) 只想快速试两个 bot 对话(易觉重) 多方群聊路由、毫秒级海量 QPS、纯流程引擎需求 强依赖「开放式闲聊涌现」、角色很多的圆桌社会仿真

按场景一句话指向(可与教材末习题「应用 A/B/C」对照思考):

  • 高并发、7×24、水平扩展的多租户客服 / 网关类 :优先考虑 AgentScope(消息与分布式),或基础设施自建 + 轻量编排;单靠双智能体 CAMEL 往往不够。
  • 「研究员 + 写手」长期共写、自主推进章节 :CAMEL 或 AutoGen (若要多角色插话)更合适;要每一步可审计则往 LangGraph 靠。
  • 金融风控式「资料 → 风控 → 合规 → 人审 → 决策」 :LangGraph 最贴;AutoGen 需额外约束才不易跑偏。

参考文献(教材)

1 AutoGen (COLM 2024) · 2 AgentScope (arXiv:2402.14034) · 3 CAMEL (NeurIPS 2023) · 4 LangGraph · 5 AutoGen UserProxyAgent 文档


精读笔记 · 替代不了原文章节;需要长代码与完整日志请打开官方第六章。

相关推荐
2501_938140071 小时前
做内容很省心,2026好用AI笔记,支持抖音小红书视频无水印保存
人工智能
sell-cloud4 小时前
Prompt Engineering要凉了?Fable 5.5能“猜“意图,但银行正在封杀AI Agent——企业AI的真正护城河是什么
人工智能·prompt
Navicat中国5 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI6 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区6 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
XCDoris8 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy8 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V8 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI8 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技8 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人