深度解析AI Agent:从概念、原理到构建模式,一文彻底搞懂

原文

深度解析AI Agent:从概念、原理到构建模式,一文彻底搞懂!

随着大模型技术的飞速发展,一个重要的概念------Agent (也叫AI Agent )------应运而生,并迅速成为行业热点。尽管这个词汇现在被频繁提及,但它究竟是什么?它是如何运作的?许多人对此仍感模糊。今天,我们就来彻底搞明白AI Agent的这些核心问题。

一、Agent:大模型的"感官与四肢"

我们都知道,像GPT-4、DeepSeek这样的大模型在回答问题和逻辑推理方面非常强大。然而,它们在实际应用中存在一个显著的限制:它们无法感知或改变外部环境。

举个例子:你想让GPT-4o帮你写一个贪吃蛇游戏,它确实能提供代码,但将代码写入文件、运行程序这些操作,大模型是无法直接完成的。它也无法自行查找你电脑上已有的贪吃蛇代码,除非你手动复制给它。这意味着大模型既无法感知外部环境(如文件内容、目录结构),也无法改变外部环境(如写入文件、运行命令)。

那么,如何解决这个问题呢?答案是:给大模型接上对应的工具。这些工具就像大模型的感官和四肢,比如读取文件内容的工具、查看文件列表的工具、运行终端命令的工具等。有了它们,大模型就可以自行查询文件、写入代码、运行程序,整个过程无需我们手动干预,完全自动化。

Agent的定义:将一个大模型和一堆工具组装起来,使其成为一个能够感知和改变外界环境的智能程序,我们称之为Agent。通常,Agent用一个机器人来表示,这与大模型的大脑图标形成了鲜明对比,因为Agent拥有了"感官和四肢",能够独立行动,就像一个机器人一样。

Agent的类型多种多样,擅长领域也各不相同。例如:

  • 编程类Agent:如Cursor,用户只需提交任务,它就会利用大模型和各种工具来编写代码,直到任务完成。整个过程中,用户基本无需操作,只需偶尔点击确认。
  • 信息查询/处理类Agent:如前段时间比较火的MUS,用户希望比较几款手机的性能和拍照能力,MUS会生成执行计划,搜索并浏览相关网页,最终整理成一个报告页面展示给用户,整个过程也基本无需用户插手。

二、Agent的运行模式:ReAct

Agent的运行模式有很多种,其中最有名、使用最广泛的一种是ReAct

1. ReAct模式的核心理念与循环

ReActReasoning and Acting(思考与行动)的缩写。它最初由2022年10月的一篇论文提出,尽管已有近三年时间,其提出的Agent运行模式至今仍被广泛使用。

在ReAct模式下,Agent的运行流程是一个持续的循环:

  1. 用户提交任务
  2. Thought(思考) :Agent首先进行思考,决定接下来要做什么。
  3. Action(行动) :思考后,Agent决定是否调用工具。如果需要,它会调用合适的工具(如读取文件、写入文件内容等)。请注意,这里大模型是请求调用工具,实际执行工具的是Agent的工具调用组件。
  4. Observation(观察) :Agent查看工具的执行结果,例如所读取的文件内容或写入是否成功。
  5. 循环:在观察之后,Agent会继续思考,再次判断是否需要调用工具。如果仍然需要,它会重复Thought -> Action -> Observation的流程,直到它认为不再需要调用工具,可以直接给出结论为止。
  6. Final Answer(最终答案) :当Agent认为任务完成时,它会输出最终答案,整个流程结束。

因此,ReAct流程的核心要素是:ThoughtActionObservationFinal Answer

2. ReAct模式的实现奥秘:系统提示词

为什么大模型拿到用户问题后会先思考再行动,而不是直接行动呢?这与模型的训练过程关系不大,大部分奥秘都集中在系统提示词(System Prompt) 上。

系统提示词是与用户问题一起发送给大模型的提示词,它规定了模型的角色、运行时要遵守的规则,以及各种环境信息等。如果希望模型按照ReAct模式返回答案,系统提示词就会比较复杂。

一个典型的ReAct系统提示词大致包含五个部分:

  • 职责描述:明确告诉模型它需要解决一个任务,并将任务分解为多个步骤。对于每个步骤,首先使用thought标签思考,然后使用action标签调用工具,工具的执行结果通过observation返回,并持续这个思考和行动的过程,直到有足够的信息提供final answer。
  • 示例:提供具体的ReAct流程示例,例如用户提问、模型思考、调用工具、观察结果、再次思考并给出最终答案的完整对话示例。这有助于模型理解并遵循预设的交互规范。
  • 可用工具:列举Agent可用的工具列表及其功能说明,例如用于读取文件内容、写入文件内容、运行终端命令的工具等。
  • 注意事项:提供一些操作上的注意点。
  • 环境信息:告知大模型当前的操作系、目录以及目录下的文件列表等相关环境信息。

通过将这样的系统提示词和用户任务一起提交给大模型,大模型就会遵循这些规范来输出答案,从而实现ReAct模式的运行。

3. ReAct模式的实际运行演示

DeepSeek 为例,当我们将包含ReAct规范的系统提示词和"写一个贪吃蛇游戏"的任务提交给它时,DeepSeek会按照要求先在thought 标签中思考,然后使用action 标签请求调用write_to_file 工具来写入index.html文件内容。

在实际的Agent中,当大模型请求调用工具后,Agent的工具调用组件会真正执行该工具,例如将HTML内容写入文件。然后工具的执行结果(如"写入成功")会作为observation 返回给Agent主程序,Agent主程序再将其加入到历史消息列表,并再次发送给大模型。模型拿到工具的执行结果后,就能根据结果推测下一步要干什么,继续进行思考(thought ),并请求写入CSS、JS文件。当所有文件写入完成后,大模型在thought 之后会返回一个final answer,整个回答过程便彻底结束。

这个过程完美体现了ReAct的运行节奏:Thought -> Action -> Observation ,直到任务完成,输出Thought -> Final Answer。系统提示词相当于给模型安排了一个迷你剧本,模型会严格按照这个剧本一步一步走完。

一个完整的ReAct Agent ,其核心代码在于一个run函数。这个函数内部构建了一个消息列表,包含系统提示词和用户问题,然后调用模型获取执行结果。它会提取返回结果中的thought 部分并打印,然后检测是否包含final answer 。如果不是,就解析出action ,提取函数名和参数,并执行对应的工具。工具执行结果会被放入observation 并添加到消息列表,然后循环再次请求模型,直到模型返回final answer

三、Agent的另一运行模式:Plan and Execute

除了ReAct,还有许多其他Agent的运行模式。其中一种常见的模式是先规划再执行。这类模式并没有统一的名称,且每个Agent的实现细节可能有所不同。这里我们介绍一个比较有名的实现:由LangChain提出的Plan and Execute模式。

从总体上看,Plan and Execute模式也遵循了先规划再执行的流程,但它引入了一些动态修改规划的环节,使其方案更加灵活。

1. Plan and Execute模式的组成模块

Plan and Execute Agent内部包含以下几个关键模块:

  • Plan模型(Plan Model):负责根据用户问题生成具体的执行步骤或计划。
  • Replan模型(Replan Model):负责根据每一步的执行结果动态调整或生成新的执行计划。Plan模型和Replan模型可以是同一个模型,也可以是不同的模型。
  • 执行Agent(Execution Agent):负责执行计划中的每一个步骤。这个执行Agent本身也可以使用我们前面讲到的ReAct模式来运行。
  • Agent主程序:负责串联整个流程,在合适的时机调用Plan模型、Replan模型或执行Agent。
2. Plan and Execute模式的运行流程

整个流程中,用户、Plan and Execute Agent内部的各个模块(Plan模型、Replan模型、执行Agent)以及Agent主程序之间协同工作。

1. 用户提交任务:用户将问题(例如:"今年澳网男子冠军的家乡在哪里?")提交给Agent主程序。
2. 生成初始计划:Agent主程序将用户问题发送给Plan模型,让它给出具体的执行步骤(例如:先查询当前日期,然后查询当前年份的澳网男子冠军名字,再根据名字查询冠军家乡)。
3. 执行计划步骤:计划有了之后,Agent主程序会将计划传给执行Agent,让它执行计划中的第一步(例如:查询当前日期)。执行Agent完成操作后,会返回执行结果。
4. 动态调整计划/生成新计划:Agent主程序会把用户问题、当前执行计划和历史执行记录都发送给Replan模型,让它生成一个新的执行计划。由于拿到了第一步的执行结果,情况可能发生变化,因此修改原计划是正常的。新的计划会剔除已完成的步骤,并可能根据新信息使后续步骤更精确。
5. 循环执行与Replan:Agent主程序接到新的执行计划后,会继续重复这个"执行计划步骤"和"动态调整计划"的循环。这个循环会一直进行,直到所有计划中的步骤都已完成。
6. 输出最终答案:在最后一轮循环中,当Replan模型发现所有步骤都已完成,用户的问题可以回答出来时,它返回的就不是最新的执行计划,而是最终的答案。Agent主程序接到这个最终答案后,便会将其转发给用户,整个流程结束。

因此,Replan模型的返回结果有两种可能性:新的执行计划或最终答案

四、总结

Agent作为大模型热潮下兴起的重要概念,通过将大模型与各种工具相结合,极大地扩展了其感知和改变外部环境的能力。无论是循环思考与行动的ReAct模式 ,还是先规划后动态执行的Plan and Execute模式,都为Agent赋予了强大的自动化和问题解决能力。

理解Agent的概念、运行原理以及不同构建模式,是深入掌握AI前沿技术,并将其应用于实际场景的关键。随着Agent技术的不断成熟,我们可以预见它们将在编程、信息检索、自动化办公等更多领域发挥越来越重要的作用,真正成为我们身边的智能助手。

历史大模型系列文章:

  1. DeepSeek大模型之本地部署体验
  2. 提示工程(prompt engineering)大揭秘
  3. OpenAI:GPT提示词(prompt)六大策略之解读
  4. GPT prompt(提示词)实战,用李佳琪式的流行梗回复,有点意思
  5. 提示词(prompt)那些事
  6. 彻底理解推理模型和通用模型
  7. 基于LangChain进行大模型应用开发-第一节
  8. 基于LangChain进行大模型应用开发-第二节(检索器)
  9. 基于LangChain进行大模型应用开发-第三节(对话检索器(聊天机器人))
  10. 基于LangChain进行大模型应用开发-第四节(agent代理)
  11. 基于LangChain进行大模型应用开发-第五节(LangServe服务开发)
  12. LangStudio构建nl2sql应用流,只要输入文字就可以转为sql执行并输出结果
  13. 解密manus的神秘面纱-搜索JackMa演示多智能体(Agent)的强大无比
  14. camel-ai推出的OWL用于处理现实世界的自动化任务
  15. 大模型怎么知道铁是导电的?
  16. LangStudio构建文件应用流,只要输入地址就可以转为你自己的知识库
  17. AI大模型学习框架
  18. 基于百炼构建天气预报应用,非常简单
  19. 基于MCP构建天气预报智能体
  20. 《零代码+AI赋能!基于阿里云百炼MCP快速打造智能爬虫应用》
  21. AI时代的高效信息管家:基于MCP-Agent与通义千问的网页总结智能体实战
  22. manus终于开放啦
  23. 在Mac上10分钟玩转LoRA微调模型
  24. 揭秘Google A2A协议:赋能智能体协作的未来
  25. 学习【北京大学】DeepSeek内部研讨系列: AI Agent与Agentic AI的原理和应用并做分享
  26. 提示工程(Prompt Engineering)还没学明白,上下文工程(Context Engineering)又来了
  27. 深度剖析Manus:如何打造低幻觉、高效率、安全可靠的Agentic AI系统
  28. 大模型时代的三巨头---Grok、ChatGPT与Gemini深度解析
相关推荐
大模型教程1 小时前
大模型本地部署:手把手带你在Mac本地部署运行AI大模型
程序员·llm·ollama
三道杠卷胡3 小时前
【AI News | 20250729】每日AI进展
人工智能·python·计算机视觉·语言模型·aigc
AI大模型3 小时前
FastGPT + Dify,本地知识库快速部署(附教程)
程序员·llm·agent
青衫客363 小时前
LLM—— 基于 MCP 协议(Stdio 模式)的工具调用实践
大模型·llm·mcp
AI扶我青云志3 小时前
BERT 的 NSP慢慢转换为SOP
人工智能·自然语言处理·llm
奇舞精选4 小时前
长音频离线语音识别系统——基于Whisper.cpp的本地部署方案
aigc
安思派Anspire4 小时前
GraphRAG 工作原理分步解析(一)
aigc·openai·agent
盼小辉丶5 小时前
生成模型实战 | GLOW详解与实现
深度学习·aigc·生成模型
AI大模型5 小时前
LangChain框架入门01:LangChain是什么?
langchain·llm·agent
后端小肥肠5 小时前
1 分钟出 10w + 职场漫画!Coze 一键生成,小白也能轻松拿捏
人工智能·aigc·coze