微信扫码
与创始人交个朋友
我要投稿
Nvidia 给出了基于 LLM 的 AI Agent 的概念:基于 LLM 的 Agent 是利用 LLM 进行推理、制定计划并执行任务,同时结合工具、记忆和任务执行功能。
Nvidia 原文:
https://developer.nvidia.com/blog/introduction-to-llm-agents/
这一领域自 2022 年底开始发展,早期研究虽然相对基础,但在当时提出让 LLM 学会使用工具的概念却极具创新性。
下图来自于介绍 2022 年 10 月发布的 ReAct 模式的文章,该模式通过整合工具的使用来增强 Agent 的实力。
原文:
https://arxiv.org/abs/2210.03629
Agent 工作流设计
当前,AI Agent 的工作流设计可分为两大类:反思驱动(Reflection-focused)和规划驱动(Planning-focused)。
反思驱动
反思型工作流强调从过去的经验中学习,以提高适应性和解决问题的能力。
这些 Agent 通过分析过去的行为和结果,改进未来的策略,从而实现持续优化。其主要模式包括:
基本反思:从执行的步骤中学习。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/reflection/reflection.ipynb
Reflexion:通过强化学习优化 Agent 的后续行为。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/reflexion/reflexion.ipynb
树搜索:结合链式思维(TOT)与强化学习进行反思。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/lats/lats.ipynb
自我发现:在任务内进行深入推理。
https://arxiv.org/abs/2402.03620
规划型工作流以任务分解和结构化为核心,通过细化复杂任务为可管理的子任务来提升效率与效果。这类 Agent 注重在行动前制定详细计划,以便预见挑战并高效分配资源。其主要模式包括:
计划与解决:制定任务清单并动态调整计划。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/plan-and-execute/plan-and-execute.ipynb
LLM 编译器:并行制定计划和执行行动。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/llm-compiler/LLMCompiler.ipynb
REWOO:计划步骤间明确依赖关系,逐步执行行动。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/rewoo/rewoo.ipynb
Storm:生成提纲→搜索各主题→总结成长文本。
https://github.com/langchain-ai/langgraph/blob/main/docs/docs/tutorials/storm/storm.ipynb
工作流本质上是任务的协调器,每个节点可以是 LLM 任务、函数调用或如 RAG 任务的其他类型操作。
接下来的内容将详细探讨两种具体的工作流设计模式:ReAct 模式和计划与解决模式,并简要介绍其他模式的动机及适用场景。
ReAct 模式
ReAct 模式体现了人类智能的一个核心特征:“通过语言推理指导行动”。它将推理与行动结合,并通过“观察”进行即时反馈和调整。例如,在执行一个任务时,Agent 不再机械地完成所有步骤,而是根据每一步的结果(Observation)决定是否继续或修改策略。
代码逻辑概述如下图所示:
生成提示
使用预定义的 ReAct 提示模板(格式为问题→推理→行动→观察)结合用户问题生成初始提示。
生成推理与行动
将提示发送至 LLM,让其生成“推理”和“行动”内容,但通过设置停止标记(Stop.Observation),避免模型直接生成“观察”部分。
调用外部工具
根据生成的“行动”调用外部工具。首先判断“行动”是否为“完成(Finish)”,如果不是,则将行动转化为工具所需的API调用格式,执行具体操作。
生成观察
将外部工具返回的结果转换为自然语言描述,生成“观察”内容,并结合之前的推理与行动,重复步骤2和3,直到“行动”为“完成”。
最终输出
将最终的“观察”内容转化为自然语言作为输出结果提供给用户。
提示模板的少样本示例(few-shot example)
这些示例体现了结构化的人类思维模式,是实现特定任务的核心。
外部工具的定义与调用
根据具体应用场景,定义模型可以调用的工具及其功能接口。
优点:
ReAct 模式通过“推理—行动—观察”的循环使 Agent 能够动态调整策略,提升适应性和任务解决的效率。它将人类的思考和管理策略转化为结构化的模型提示,为复杂任务提供了一种可扩展的解决方案。
计划与解决模式
核心组件:
规划器(Planner)
功能:为完成复杂任务生成一个多步骤的初始计划。
实现:通过提示模板引导 LLM 制定计划,包括任务的目标和分解后的各个步骤。
重新规划器(Replanner)
功能:在每个步骤完成后,根据当前进度和实际情况调整原计划。
提示内容:包含目标、原计划、已完成步骤状态以及新的零样本输入,用于动态调整后续计划。
执行器(Executor)
功能:接收用户的任务请求和规划步骤,调用一个或多个工具完成具体操作。
需要在执行任务前明确所有步骤的任务,例如制定复杂报告或完成多阶段项目。
执行过程中可能需要动态调整计划的任务,例如因外部条件变化而修改流程的任务。
提高零样本推理能力:通过清晰的多步骤计划,增强 LLM 在未知任务中的推理效果。
动态调整:规划器与重新规划器的结合确保任务能够灵活应对意外情况。
任务分解:大任务被分解为多个子任务,有助于提高效率并更容易监控进展。
计划与解决模式通过结合初始计划和动态调整的能力,为需要清晰规划与灵活执行的复杂任务提供了高效解决方案。
其他工作流设计模式
REWOO
REWOO(Reason without Observation)模式通过省略显式观察步骤,将观察隐式嵌入下一执行单元,从而简化了 ReAct 的“思考→行动→观察”流程,实现更流畅的任务执行。
LLM Compiler
LLM Compiler 模式通过并行调用函数提升计算效率,实现同时处理多项任务并整合结果,显著优化任务执行速度。
Basic Reflection
Basic Reflection 是生成器与反射器之间的反馈循环,通过不断完成任务、接受反馈和改进,直到达到满意结果。
Reflexion
Reflexion 在 Basic Reflection 的基础上,结合了强化学习原理,通过外部数据评估回应,并强制模型解决冗余或遗漏,使反思过程更加健壮,输出更加精炼。
LATS
LATS (Language Agent Tree Search) 结合了树搜索、ReAct、计划与解决、反思和强化学习等技术,通过树搜索评估结果并整合反思,以实现最佳结果,其架构包括多轮基础反思,多个生成器和反思器协作工作。
Self-Discovery
Self-Discovery 的核心是让 LLM 在更细粒度的层面进行反思,除了关注任务是否需要调整,还鼓励对任务本身及其各个组成部分和执行过程进行反思。
Storm
Storm 通过一个工作流程,从头开始生成类似维基百科的综合文章,首先使用外部工具搜索信息并生成大纲,然后根据大纲为每个部分生成内容,实现了结构化和高效的写作过程。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-01-07
Agent 最全 Playbook:场景、记忆和交互创新
2025-01-04
吴恩达DeepLearning.AI课程系列 - 大模型检索增强生成(七):对话
2025-01-04
2024年AI Agents发展现状:机遇与挑战并存
2024-12-26
开发者的选择越来越多了,又一个AI智能体框架玩家:PydanticAI
2024-12-25
2025年,拥抱AI Agent!
2024-12-25
基于LangChain构建安全Agent应用实践(含代码)
2024-12-22
ANTHROPIC:高端的食材往往需要最朴素的烹饪方法: prompt, workflow, agent
2024-12-21
用LangChain教AI模仿你的写作风格:详细教程
2024-04-08
2024-08-18
2024-10-10
2024-06-03
2024-04-08
2024-04-17
2024-09-04
2024-06-24
2024-07-13
2024-04-11
2024-12-02
2024-11-25
2024-10-30
2024-10-11
2024-08-18
2024-08-16
2024-08-04
2024-07-29