名词解释:Agent、Workflow、Tools、Skill、ReAct、Plan-and-Execute、Reflection 等
名词解释:Agent、Workflow、Tools、Skill、ReAct、Plan-and-Execute、Reflection 等
提示
题眼: 掌握关键概念,区分差别,同类型需要了解优劣。
重要
参考答案:
Agent 是一个智能体,它和 LLM 大模型最大的区别是自主性。传统的 LLM 是对话型的,一问一答,而 Agent 有规划和行动能力,可以通过调用工具,加载记忆等方式,设计步骤,完成一个复杂的任务。
Workflow 是工作流,它可以将 Tools、大模型、Agent 等等各种工具作为一个 Lambda 节点编排到一个工作流里,每个节点做什么,按什么顺序流转都是预先设计好的,这样可以保证最后的输出内容符合开发者的预期。
Tools 是一个工具,可以认为是整个 Agent 开发中的最小单元。可以简单的认为,它就是一个封装好的函数,比如说搜索,读取文件之类的。它只有执行的权限,没有任何决策能力,也不能自主决定什么时候执行,一般都是随 Agent 或者 Workflow 来调用。
Skills 是一个技能模块,是面向业务能力的封装。它是把 tools 或者 function calling 等工具、流程,规则等逻辑打包成一个独立的能力,提供给 Agent 调用,并且可以复用,进而降低 Agent 自己造轮子的成本。
ReAct 是 Agent 开发的一种范式,它主要逻辑是边干边思考,通过‘思考-行动 -观察-在思考’这样的循环,走一步看一步,完全基于当前现状,规划下一步操作。这种方式比较简单,比较适合简单的,流程不固定,需要随时调整的任务。但他也有缺点,就是容易出现‘长任务偏离’问题,并且随着步骤越来越多,消耗的 Token 也会线性增长。
Plan-and-Execute 是 Agent 开发的另一种范式。它和 ReAct 刚好相反,是‘先规划再执行’,它把 ReAct 的‘规划’和‘执行’模块解耦,有不同的大模型各自负责,先把任务拆解成可以逐步执行的 TODOList,然后逐个执行,最后再统一汇总。他的优势是能解决复杂任务,而且相对于 ReAct 能降低 Token 消耗,可以使用强 LLM 做规划,用弱 LLM 来执行。但它也有缺点,不如 ReAct 那么灵活,如果出现了意外情况,有可能会卡住,需要重新规划,进而造成 额外的 Token 开销。(后面又增加了一个动态 Replan 来解决这个问题,它其实就是把每一步的结果,交给大模型,来判断是否需要调整计划。)
Reflection 是反思迭代范式,一般不会独立出现,主要是挂在 ReAct 或者 Plan-and-Execute 的后面,增加一个‘自我检查并修正’的环节。这样,就把原有的流程变为‘思考-行动-评估-改进’。它最主要的优势是作为最后一环,帮助 Agent 提高交付质量。缺点的话,也很明显,会增加 Token 和时间开销,并且有可能陷入‘为了更好而改动’的死循环。因此,一般用在需要保质量的场景,比如代码编辑、商业报告、质量检测等。(为了记录错误, Reflexion 会总结经验教训,持久化为长期记忆,避免以后出现类似的错误。)
相关信息
引申:动态 Replan 和 Reflexion 是什么
