hello agent chapt4 构建智能体经典范式

52 阅读2分钟
  1. 最简单的agent可以粗略地理解为llm_client+tool_executor,更有效的agent则需要memory模块等其他组件,其中tool_executor要实现的一些方法包括:注册、获取可用工具的信息、获取对应工具的函数等。(我需要加深对.get()函数的运用和理解)智能体需要设置最大步数,防止陷入死循环或者token彻底燃烧🔥完了。

  2. react包括思考thought、行动action、观察observation三部分:thought是llm的思考规划过程,action实际上是具体的下一步行动计划(调用的工具+传入的参数),observation则是调用工具得到的结果(“工具不存在”或工具函数返回的结果)

  3. react提示词模版需要包括:1)角色定义: 设定了LLM的角色。 2)工具清单 ({tools}): 告知LLM它有哪些可用的“手脚”。 3)格式规约 (Thought/Action): 这是最重要的部分,它强制LLM的输出具有结构性,使我们能通过代码精确解析其意图。 4)动态上下文 ({question}/{history}): 将用户的原始问题和不断累积的交互历史注入,让LLM基于完整的上下文进行决策。知道了交互历史(action+observation),llm_client才知道任务的进度。

  4. Plan-and-Solve 范式适合结构性强、可以被清晰分解的任务。 比如解数学应用题、汇总多种材料整合数据撰写报告、规划旅行计划、生成给定功能的代码等

  5. reflection范式:执行、反思、优化。优点是:自我审阅、自我优化,能大大提高模型对复杂任务的成功率和交付质量。缺点:会使得历史上下文变得特别长,更需要高效的记忆模块;对大模型的调用次数会大量增加,token花费和时间花费会大大增加。是一种用时间换性能的策略。由于幻觉问题的存在,reflection范式能够一定程度上缓解幻觉问题(模型在反思过程中会根据交互历史更好地对任务进度、失败原因等有更全面的了解)。适用场景:较为复杂的任务场景,同时需要较高的交付质量。

react范式智能体:

调用网络搜索回答“谁是现任美国总统”

Plan-and-Solve 范式智能体:

解答数学应用题

reflection范式智能体:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)