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

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

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

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


本章在讲什么

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


6.1 为什么需要框架

价值 要点
分层 模型层 / 工具层 / 记忆层解耦,便于替换实现。
可观测 Callbacks(如 on_llm_starton_tool_endon_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 结束协作。
  • 多智能体协调:RoundRobinGroupChatparticipants 顺序发言;TextMentionTerminationmax_turns 防死循环。

案例:软件开发团队

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

优劣

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

6.3 AgentScope

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

结构(教材分层)

  • 基础:MessageMemoryModel APITool
  • 智能体层: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 程序员」)。

案例:拖延症科普电子书

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

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

优劣

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

6.5 LangGraph

哲学 :把执行流画成 StateGraph ------共享 StateNode 返回部分更新、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 往往不够。
  • 「研究员 + 写手」长期共写、自主推进章节CAMELAutoGen (若要多角色插话)更合适;要每一步可审计则往 LangGraph 靠。
  • 金融风控式「资料 → 风控 → 合规 → 人审 → 决策」LangGraph 最贴;AutoGen 需额外约束才不易跑偏。

参考文献(教材)

1\] AutoGen (COLM 2024) · \[2\] AgentScope (arXiv:2402.14034) · \[3\] CAMEL (NeurIPS 2023) · \[4\] [LangGraph](https://github.com/langchain-ai/langgraph) · \[5\] [AutoGen UserProxyAgent 文档](https://microsoft.github.io/autogen/stable/reference/python/autogen_agentchat.agents.html#autogen_agentchat.agents.UserProxyAgent) *** ** * ** *** *精读笔记 · 替代不了原文章节;需要长代码与完整日志请打开官方第六章。*

相关推荐
新缸中之脑2 小时前
Autoresearch 代码深度解析
人工智能
love530love2 小时前
OpenClaw 手机直连配置全流程
人工智能·windows·python·智能手机·c#·agent·openclaw
VillanelleS2 小时前
AI工程化之Agent架构
人工智能·架构
余俊晖2 小时前
多模态大模型后训练强化学习训练方法:Shuffle-R1
人工智能·自然语言处理·多模态
黄焖鸡能干四碗2 小时前
网络安全建设实施方案(Word文件参考下载)
大数据·网络·人工智能·安全·web安全·制造
未来之窗软件服务3 小时前
为何模型越强、幻觉越大、工业越弱[AI人工智能(六十二)]—东方仙盟
人工智能·仙盟创梦ide·东方仙盟
云上的云端3 小时前
vLLM-Ascend operator torchvision::nms does not exist 问题解决
人工智能·pytorch·深度学习
szxinmai主板定制专家3 小时前
基于ZYNQ MPSOC船舶数据采集仪器设计(一)总体设计方案,包括振动、压力、温度、流量等参数
arm开发·人工智能·嵌入式硬件·fpga开发
Westward-sun.3 小时前
CNN 核心知识点详解:从图像基础到卷积与池化
人工智能·计算机视觉·cnn