DRAFT hello-agents
约 765 字大约 3 分钟
2026-03-23
ReAct
ReAct = Reasoning + Acting
形成一种Thought -> Action -> Observation -> Thought的循环。
Thought (思考): 这是智能体的“内心独白”。它会分析当前情况、分解任务、制定下一步计划,或者反 思上一步的结果。
Action (行动): 这是智能体决定采取的具体动作,通常是调用一个外部工具,例如 Search['华为最新 款手机'] 。
Observation (观察): 这是执行 Action 后从外部工具返回的结果,例如搜索结果的摘要或API的返回 值。
工具的定义
- name
- description
- exec_logic
ReAct 智能体行为不符合预期时,可以从以下几个方面入手进行调试:
检查完整的提示词:在每次调用 LLM 之前,将最终格式化好的、包含所有历史记录的完整提示词打印 出来。这是追溯 LLM 决策源头的最直接方式。
分析原始输出:当输出解析失败时(例如,正则表达式没有匹配到 Action ),务必将 LLM 返回的原 始、未经处理的文本打印出来。这能帮助你判断是 LLM 没有遵循格式,还是你的解析逻辑有误。
验证工具的输入与输出:检查智能体生成的 tool_input 是否是工具函数所期望的格式,同时也要确 保工具返回的 observation 格式是智能体可以理解和处理的。
调整提示词中的示例 (Few-shot Prompting):如果模型频繁出错,可以在提示词中加入一两个完整的 “Thought-Action-Observation”成功案例,通过示例来引导模型更好地遵循你的指令。 尝试不同的模型或参数:更换一个能力更强的模型,或者调整 temperature 参数(通常设为0以保证 输出的确定性),有时能直接解决问题。
提示
检查:
- tool的输入和tool的输出
- 提示词的完善和few-shot prompts
Plan and Solve
笔记
👉 ReAct = 边想边做(交替进行)
👉 Plan-and-Solve = 先规划再执行(分阶段)
AutoGen
AutoGen 的设计哲学是"以对话驱动协作"
其本身通过创建多个有明确分工的智能体。每个智能体通过system_message获得一个独特的“人设”,这决定了它的知识边界、行为方式和发言风格
它用“角色扮演”解决了分工问题,用“对话”解决了协作流程问题,最后用一套强大的“事件驱动架构”确保了这套协作机制能在计算机世界里高效运行。
cosplay + groupchat 的方式(通过UserProxy来物理执行了,因为LLM主动调用模型一定的风险的)
弊端:可能出现不同助手之间的对话循环,调试因为对话的冗余叠加,导致找寻bug十分困难。
Memory && RAG
如果没有记忆,那么每次Model收到的用户请求都是无状态,Model不知道用户在这一轮对话到底要去做什么事情。
