掘金 人工智能 前天 00:16
深度解析AI Agent:从概念、原理到构建模式,一文彻底搞懂
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入剖析了AI Agent的概念、核心原理及其构建模式。AI Agent被视为大模型的“感官与四肢”,通过与工具结合,赋予了大型语言模型感知和改变外部环境的能力。文章详细介绍了ReAct模式,一种循环式的“思考-行动-观察”机制,以及Plan and Execute模式,一种先规划后动态调整执行的策略。这两种模式的出现,极大地扩展了AI Agent在实际应用中的自动化和问题解决能力,预示着Agent技术将在各领域扮演越来越重要的角色,成为未来的智能助手。

💡 AI Agent是大模型的“感官与四肢”,通过整合大型语言模型与各类工具,使其能够感知并操作外部环境,解决了大模型无法直接与现实世界交互的局限性。例如,Agent可以被赋予读取文件、运行代码等能力,从而实现更复杂的自动化任务。

🔄 ReAct模式是AI Agent的一种核心运行机制,其全称为Reasoning and Acting(思考与行动)。它通过一个持续的循环过程:用户提交任务后,Agent先进行“思考”(Thought),决定是否调用工具,然后执行“行动”(Action),接收工具返回的“观察”(Observation),并根据观察结果继续循环思考,直至输出最终答案(Final Answer),这种模式在编程、信息查询等领域有广泛应用。

🗺️ Plan and Execute模式是另一种重要的Agent运行模式,它包含Plan模型、Replan模型和执行Agent。用户提交任务后,Plan模型生成执行计划,执行Agent负责执行计划中的步骤,而Replan模型则根据每一步的执行结果动态调整或生成新的执行计划,直至任务完成。这种模式的灵活性使其能更好地应对复杂多变的场景。

🚀 系统提示词(System Prompt)是实现Agent运行模式的关键。通过精心设计的系统提示词,可以指导大模型遵循特定的交互规范,如ReAct模式中的思考、行动、观察的流程,并告知模型可用的工具和环境信息,从而确保Agent能够按照预期逻辑运行。

原文

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

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

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

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

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

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

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

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

二、Agent的运行模式:ReAct

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

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

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

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

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

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

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

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

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

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

通过将这样的系统提示词和用户任务一起提交给大模型,大模型就会遵循这些规范来输出答案,从而实现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内部包含以下几个关键模块:

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技术的不断成熟,我们可以预见它们将在编程、信息检索、自动化办公等更多领域发挥越来越重要的作用,真正成为我们身边的智能助手。

历史大模型系列文章:

    DeepSeek大模型之本地部署体验提示工程(prompt engineering)大揭秘OpenAI:GPT提示词(prompt)六大策略之解读GPT prompt(提示词)实战,用李佳琪式的流行梗回复,有点意思提示词(prompt)那些事彻底理解推理模型和通用模型基于LangChain进行大模型应用开发-第一节基于LangChain进行大模型应用开发-第二节(检索器)基于LangChain进行大模型应用开发-第三节(对话检索器(聊天机器人))基于LangChain进行大模型应用开发-第四节(agent代理)基于LangChain进行大模型应用开发-第五节(LangServe服务开发)LangStudio构建nl2sql应用流,只要输入文字就可以转为sql执行并输出结果解密manus的神秘面纱-搜索JackMa演示多智能体(Agent)的强大无比camel-ai推出的OWL用于处理现实世界的自动化任务大模型怎么知道铁是导电的?LangStudio构建文件应用流,只要输入地址就可以转为你自己的知识库AI大模型学习框架基于百炼构建天气预报应用,非常简单基于MCP构建天气预报智能体《零代码+AI赋能!基于阿里云百炼MCP快速打造智能爬虫应用》AI时代的高效信息管家:基于MCP-Agent与通义千问的网页总结智能体实战manus终于开放啦在Mac上10分钟玩转LoRA微调模型揭秘Google A2A协议:赋能智能体协作的未来学习【北京大学】DeepSeek内部研讨系列: AI Agent与Agentic AI的原理和应用并做分享提示工程(Prompt Engineering)还没学明白,上下文工程(Context Engineering)又来了深度剖析Manus:如何打造低幻觉、高效率、安全可靠的Agentic AI系统大模型时代的三巨头—Grok、ChatGPT与Gemini深度解析

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI Agent 大模型 ReAct模式 Plan and Execute 系统提示词
相关文章