智能体经典范式
ReAct
让智能体使用外部工具
场景
需要外部知识的任务、需要精确计算的任务、需要与API交互的任务
智能体范式ReAct (Reason + Act)。ReAct由Shunyu Yao于2022年提出1,其核心思想是模仿人类解决问题的方式,将推理 (Reasoning) 与行动 (Acting) 显式地结合起来,形成一个"思考-行动-观察"的循环。
ReAct 的主要特点
高可解释性、动态规划与纠错能力、工具协同能力
ReAct 的固有局限性
对LLM自身能力的强依赖、执行效率问题、提示词的脆弱性、可能陷入局部最优
调试技巧
检查完整的提示词、分析原始输出、验证工具的输入与输出、调整提示词中的示例、尝试不同的模型或参数
Plan-and-Solve
先规划 (Plan),后执行 (Solve)
规划阶段 (Planning Phase): 首先,智能体会接收用户的完整问题。它的第一个任务不是直接去解决问题或调用工具,而是将问题分解,并制定出一个清晰、分步骤的行动计划。这个计划本身就是一次大语言模型的调用产物。
执行阶段 (Solving Phase): 在获得完整的计划后,智能体进入执行阶段。它会严格按照计划中的步骤,逐一执行。每一步的执行都可能是一次独立的 LLM 调用,或者是对上一步结果的加工处理,直到计划中的所有步骤都完成,最终得出答案。
场景
多步数学应用题、需要整合多个信息源的报告撰写、代码生成任务
Reflection
执行 -> 反思 -> 优化
场景
存在明确的优化路径、反思点清晰、优化方向明确
成本
模型调用开销增加、任务延迟显著提高、提示工程复杂度上升
收益
解决方案质量的跃迁、鲁棒性与可靠性增强
对最终结果的质量、准确性和可靠性有极高要求,且对任务完成的实时性要求相对宽松
生成关键的业务代码或技术报告。
在科学研究中进行复杂的逻辑推演。
需要深度分析和规划的决策支持系统。
Tree-of-Thought
每一步生成多个可能的思考路径,然后选择最优路径继续
总结

框架开发实战
AutoGen:AutoGen 的核心思想是通过对话实现协作
AgentScope:AgentScope 是一个专为多智能体应用设计的、功能全面的开发平台
CAMEL:CAMEL 提供了一种新颖的、名为角色扮演 (Role-Playing) 的协作方法
LangGraph:作为 LangChain 生态的扩展,LangGraph 另辟蹊径,将智能体的执行流程建模为图 (Graph)
AgentScope
异步解耦: 消息的发送方和接收方在时间上解耦,无需相互等待,天然支持高并发场景。
位置透明: 智能体无需关心另一个智能体是在本地进程还是在远程服务器上,消息系统会自动处理路由。
可观测性: 每一条消息都可以被记录、追踪和分析,极大地简化了复杂系统的调试与监控。
可靠性: 消息可以被持久化存储和重试,即使系统出现故障,也能保证交互的最终一致性,提升了系统的容错能力。
消息传递机制
灵活的消息路由: 支持点对点、广播、组播等多种通信模式,可以构建灵活复杂的交互网络。
消息持久化: 能够将所有消息自动保存到数据库(如 SQLite, MongoDB),确保了长期运行任务的状态可以被恢复。
原生分布式支持: 这是 AgentScope 的标志性特性。智能体可以被部署在不同的进程或服务器上,MsgHub 会通过 RPC(远程过程调用)自动处理跨节点的通信,对开发者完全透明。
Camal
角色扮演 (Role-Playing) 和 引导性提示 (Inception Prompting)。
langgraph
LangGraph 放弃 | 的原因。对于 Agent 来说,真正重要的不是"上一个节点输出什么",而是"整个系统当前处于什么状态(State)"
优点
高度的可控性与可预测性、高度的模块化
局限性
缺少了对话式智能体那种动态的、"涌现"式的交互
开发框架实战
LLM接入
自动推断模型提供商,通过apikey、baseurl推断
推断后从环境变量读取对应apikey、baseurl
最后根据openai规范创建llm
统一message
对内兼容,对外丰富
config
记录硬编码值,设置有默认值,用户传入值时,会覆盖默认值
agent基类
用于提供基本的agent信息
ReAct/Plan And Solve/Reflection
通过agent基类构造具体行为范式的agent
自定义工具管理类
注册、删除工具,获取所有工具描述,执行对应工具