AI Agent 原理与实现(一):AI Agent 是如何工作的
从 2023 年起,以大语言模型为核心的智能助手——无论是 ChatGPT,还是国内的豆包、DeepSeek——逐渐成了很多人离不开的工具。它们能写文章、写代码、做总结、回答问题,但本质上只会“说话”,不会“做事”。
而最近,一类新软件开始流行,它们号称能帮你“自动完成一切”——做 PPT、剪视频、运营社交媒体,甚至在网上买东西、订酒店、预订机票。用户下一条指令,它们真的能改变现实世界的状态。它们不再只是“会说话的模型”,而是“能自主行动的智能体”。
这些智能体究竟是怎么做到的?它们的智能来自哪里?它们和大语言模型又是什么关系?这就是本文要回答的核心问题。
聊天类智能助手的局限性
大语言模型能帮你写文章、写代码、做总结、翻译文本、回答问题等,但它的局限性是只能开口说,不能实际动手做。它能写文章,但是它不能帮你把文章写好,然后发布到你的自媒体账户中。它能够帮你生成一个 PPT 的大纲以及每一页的内容,但是它不能帮你把 PPT 做好,放在你的电脑桌面上。
下面是我和豆包(字节跳动的智能助手)的对话:
帮我查一下明天杭州的天气,如果下雨的话,帮我在我的日历里创建一个“带伞”的提醒。
搜索 2 个关键词,参考 11 篇资料
杭州 7 月 12 日(明天)晴到多云,午后局部有阵雨或雷雨,气温 27~30℃;中到大阵雨,局部暴雨,傍晚后转为间歇性阵雨,受台风外围影响。 有降雨可能性,建议随身备伞。
我无法直接操作你手机本地日历,给你一条可以一键复制新建日程的信息:
日期:2026-07-12|标题:带伞|备注:杭州中到大阵雨,局部暴雨
如果你使用苹果 / 安卓手机,长按复制文字,打开系统日历粘贴即可快速创建提醒。 需要我帮你设定一个早上出门时段的提醒时间吗?
语言模型本质上是一个概率模型,给定一段输入的文本,它会预测下一个最可能出现的字符。在大语言模型的训练数据中,包含了很多这类指令跟随任务的示例,模型可以学习如何根据用户的指令生成合理的输出。从用户的角度来看,大语言模型似乎能理解你的意图,能根据你的输入内容给你合理的回答。在上面的例子中,我让豆包查一下明天杭州的天气,如果下雨的话,帮我在我的日历里创建一个提醒。但豆包接触不到我的日历,所以它只能告诉我怎么做,但不能实际动手帮我完成这个任务。
本质上,大语言模型是一个文本生成模型,它只能生成文本,无法执行任何动作。你在使用此类智能助手时,它只能根据你的指令生成相应的文本,但它无法执行任何实际操作。我们当然不满足于此,我们希望智能助手不仅能生成文本,还能执行实际操作,这就需要引入本文要介绍的全新的智能助手——Agent,通常也被称为智能体。
什么是 AI Agent
Agent 在英文中的本意是代理人、代理商、经纪人,就是某个帮你办事的机构或人。在当下的人工智能领域,Agent 指的是一个能自主决策与行动的程序,它能接收用户的指令,并自动完成用户所提出的任务。当我使用对话式的智能助手帮我写一篇文章时,它会生成一篇文章,但我需要手动从网页或者 APP 中复制文本,然后粘贴到类似于 Word 这样的文档编辑软件中。
修改日程、制作 PPT、剪辑视频,这些都不是只动动嘴就能完成的任务,人类在执行这些任务时,需要打开相应的应用程序,使用这些应用程序提供的功能去完成任务。比如修改日程需要打开日历应用,制作 PPT 需要使用 PowerPoint,剪辑视频需要用视频编辑软件。大语言模型能够教我们如何使用这些应用程序来完成任务,但它无法直接操作这些应用程序。
当你想要做某件事情,但是你不知道如何做时,你可以问大语言模型。大语言模型会告诉你如何做,你可以按照它的指引一步步完成任务。我们日常使用的 Deepseek、豆包这样的大语言模型,它们是运行在远程的服务器上的,他们无论如何都是无法直接操作你电脑上的文件的。而 AI Agent 就是一个运行在你自己电脑上的应用程序,它通过网络连接到运行在字节跳动或者 Deepseek 机房里面的大语言模型。现在你电脑上的 AI Agent 就可以在大语言模型的指导下,你个人电脑上执行文本编辑等操作来帮你完成写文章、写 PPT 等操作。这里写的文章和写 PPT 并不是说只生成内容,而是真实的把那个 PPT 做好放到你的电脑桌面上。
简单来讲,AI Agent 就是一个介于用户和大语言模型之间的程序,它接受用户的指令,然后发送给大语言模型。当大语言模型想要执行某些操作时,Agent 可以直接调用相应的工具去执行这些操作。因为大语言模型通常部署在云服务商的机房里面,你想让它修改自己本地的文件,帮你做 PPT,保存在你的电脑上,这肯定是不现实的。所以现在需要有一个软件运行在你自己的电脑上,当你想要做 PPT 时,大语言模型会告诉这个程序该打开什么软件、该怎么操作。最终,AI Agent 就帮你完成了一件此前大语言模型没法独立完成的工作。
使用 AI Agent 的例子
下面我将使用 Claude Code,让它帮我写一篇文章并写入到 Word 文档中,Claude Code 是市面上常用的编程类 Agent,它能帮你完成写代码、生成文档、做 PPT 等任务。
下面是我和 Claude Code 的对话内容的精简版:
❯ 帮我写一篇关于 AI Agent 的介绍文章,并写入到一个 word 文档中,并做好排版
⏺ 好的,我直接开始。先安装 python-docx 库,然后撰写文章并生成排版好的 Word 文档。
⏺ 环境已就绪。现在我来撰写文章内容,并编写生成排版 Word 文档的脚本。
⏺ Write(generate_ai_agent_doc.py)
⎿ Wrote 218 lines to generate_ai_agent_doc.py
⏺ 已完成。文档已生成并通过校验,保存在:
/Users/wy/code/AI_Agent入门介绍.docx
智能体(Agent)收到指令后,它明确了目标:生成一篇关于 AI Agent 的介绍文章,并写入到一个 Word 文档中。此前的对话式智能助手能生成一篇介绍 Agent 的文章,但无法把文章写入到 Word 文档中。而这里的 Agent 在明确需要创建 Word 文档后,并没有直接操作 Word 文档,而是通过编写 Python 脚本来生成 Word 文档。它使用了 python-docx 库来创建和排版 Word 文档,并在脚本中定义了标题、章节标题、正文、要点列表等的字体、字号、颜色和对齐方式。
当任务完成后,Agent 会把生成的 Word 文档保存在我的电脑中,并告诉我文档的保存路径。下面是我打开 Word 文档后看到的内容:

通过上面的例子,你应该能初步感受到 AI Agent 与此前的对话式智能助手的差异。简单来说,此前的对话式智能助手只会“说”不会“做”,而 Agent 能一步到位帮你把事情“办”了。
AI Agent 是如何帮你“做”事的
大语言模型本身只会根据上下文生成文本,它只会“说”不会“做”。但我们可以写一个程序,让大语言模型来指导这个程序去执行动作,从而让大语言模型能够帮你“办”事。
比如,我们的程序可以执行下列任务:
- 读取文件: 给到一个文件路径,程序会读取文件内容并返回。
- 写入文件:给到一个文件路径和内容,程序会把内容写入到指定的文件中。
- 搜索网络:给到一个搜索关键词,程序会在网络上搜索相关内容,并返回搜索结果。
我们需要让大语言模型知道这些功能的存在,并告诉它如何调用这些功能。我们可以让大模型帮我们搜索当下 AI Agent 的最新进展,并整理成一篇文章写入到 Word 文档中。
我们发送给大语言模型的内容如下:
你可以使用如下工具来帮我完成任务:
- read_file
- 功能:读取文件内容
- 参数:
- file_path: 要读取的文件路径
- write_file
- 功能:写入文件内容
- 参数:
- file_path: 要写入的文件路径
- content: 要写入的内容
- search_web
- 功能:搜索网络
- 参数:
- query: 搜索的关键词
当你需要使用这些工具时,请按照如下格式输出:
<tool_call>
{"name": <function-name>, "arguments": <args-json-object>}
</tool_call>
比如当你需要搜索网络时,你可以输出:
<tool_call>
{"name": "search_web", "arguments": {"query": "要搜索的关键字"}}
</tool_call>
工具执行完成,结果会使用如下格式返回给你:
<tool_result>
<content>
</tool_result>
请帮我搜索当下 AI Agent 的最新进展,并整理成一篇文章写入到文本文件中。
模型收到我的输入后,返回的输出如下:
<think>
好的,用户让我搜索当下AI Agent的最新进展,并整理成一篇文章写入到文本文件中。首先,我需要确认用户的需求是什么。他们可能想要一个最新的AI Agent的发展报告,可能用于学术、技术博客或者项目文档。不过用户已经明确指定了使用工具,所以先确定需要哪些信息。
接下来,我需要考虑如何使用提供的工具。用户提到可以使用search_web来搜索网络,所以第一步应该是用这个工具来查找最新的AI Agent进展。参数是query,所以应该设置关键词为“最新AI Agent进展”或者类似的表达。
然后,搜索结果可能包括技术文章、新闻报道或学术论文。我需要确保搜索结果的时效性,可能需要设置时间范围,比如最近的几个月。如果搜索结果不理想,可能需要调整关键词,或者使用更广泛的搜索词。
假设搜索到的信息后,我需要整理成文章。这一步可能需要提取关键点,比如AI Agent的发展背景、主要应用领域、技术突破、未来趋势等。整理成文章时要注意结构清晰,逻辑连贯,信息准确。
最后,将整理好的文章写入到指定的文本文件中。使用write_file工具,参数是文件路径和内容。需要确保文件路径正确,内容格式符合要求,没有语法错误。
现在需要检查是否有遗漏的步骤,比如是否需要处理搜索结果的格式,或者是否有其他工具需要调用。根据用户提供的工具列表,已经包含search_web和write_file,所以应该没问题。确保输出格式符合用户指定的JSON结构,并正确引用工具名称和参数。
</think>
<tool_call>
{"name": "search_web", "arguments": {"query": "最新AI Agent进展"}}
</tool_call>
可以看到,模型在分析了用户的指令后,决定先使用 search_web 工具来搜索最新的 AI Agent 进展。Agent 可以解析模型的输出,调用 search_web 工具去执行搜索动作。当搜索完成后,我把搜索结果返回给大语言模型:
<tool_result>
当前AI Agent(智能体)正从早期的概念验证(POC)和单兵实验,加速迈向生产级系统工程与多智能体集群协作的成熟期。 [1, 2]
核心技术与架构进展
• 推理与规划(Planning):以OpenAI o系列、DeepSeek R系列为代表的带思维链(CoT)推理模型大规模落地,让Agent具备了高级别的任务拆解与自我反省(Self-Reflection)能力。
• 代码驱动能力:代码模型成为推动Agent的关键一步,能够将模糊指令转化为明确的检验与调试动作(如Cursor等AI原生IDE的爆发)。
• 上下文工程(Context Engineering):取代了传统的简单提示词工程,通过动态写入、筛选、压缩与隔离上下文,显著提升了Agent处理长任务的稳定性。
• 标准协议落地 :Anthropic 推出的MCP(模型上下文协议) 与谷歌等推动的 A2A(智能体间协作协议)成为行业标准,大幅降低了Agent对接工具和多智能体互联的复杂成本 。 [1, 3]
产业落地与生态趋势
• 开源与商业化框架:如LangGraph、OpenAI Agents SDK、Kimi等框架和平台成熟,支持持久记忆、安全沙箱(Sandbox)运行及人机协同(Human-in-the-loop)。
• 垂直领域领跑:软件开发(Coding Agent)与智能客服(Customer Service Agent)商业化最快,产生巨大估值与收入溢价;同时金融、医疗及零售等高监管与复杂流程场景也开始规模化部署。
• 代理支付与自主交易:随着Stripe、PayPal及各大信用卡机构入局,Agent支付正快速走向基础设施化,为未来的全自主网购与服务交易奠定基础。 [3]
如果你想深入了解某个具体方向,我可以为你展开介绍:开发框架选型(如 LangGraph, OpenAI Agents SDK 等)行业落地案例(如金融、客服或软件研发)核心底层技术(如 MCP 协议或上下文工程)请告诉我你最关心的主题。
AI responses may include mistakes.
[1] https://ppio.com/blogs/post/yi-wen-kan-dong-2025nian-agentliu-da-zui-xin-qu-shi-aizhuan-lan
[2] https://aws.amazon.com/cn/blogs/china/agentic-ai-intelligent-enterprise-framework/
[3] https://zhuanlan.zhihu.com/p/1992993195878027887
[4] https://www.kimi.ai/zh-hant/resources/best-ai-agent-frameworks
</tool_result>
接着模型输出了如下内容:
<tool_call>
{"name": "write_file", "arguments": {"file_path": "ai_agent_progress.txt", "content": "AI Agent最新进展研究报告\n\n一、技术演进\n1. 推理能力突破\n基于OpenAI o系列和DeepSeek R系列的思维链(CoT)模型,实现了任务拆解与自我反省能力,推动Agent进入高级推理阶段。\n\n2. 代码驱动革命\n代码模型的成熟(如Cursor等AI原生IDE)使模糊指令转化为可执行代码,标志着Agent从指令执行向代码生成的跨越式发展。\n\n3. 上下文工程革新\n通过动态写入/筛选/压缩上下文技术,显著提升长任务处理稳定性,替代传统提示词工程成为主流方案。\n\n4. 协议标准建立\nAnthropic MCP协议与谷歌A2A协议的推出,降低工具对接与多智能体协作的开发成本,推动行业标准化进程。\n\n二、产业应用\n1. 开源生态繁荣\nLangGraph、OpenAI Agents SDK等框架支持持久记忆、安全沙箱和人机协同,构建完整开发生态。\n\n2. 垂直领域突破\n软件开发(Coding Agent)和智能客服(Customer Service Agent)实现商业化,金融、医疗等场景开始规模化部署。\n\n3. 支付基础设施\nStripe、PayPal等机构推动Agent支付基础设施建设,为全自主交易奠定基础。\n\n三、未来趋势\n多智能体集群协作成为主流,代码模型与上下文工程的深度融合将推动Agent进入生产级应用新阶段。\n\n参考资料:[1] https://ppio.com/blogs/post/yi-wen-kan-dong-2025nian-agentliu-da-zui-xin-qu-shi-aizhuan-lan [2] https://aws.amazon.com/cn/blogs/china/agentic-ai-intelligent-enterprise-framework/ [3] https://zhuanlan.zhihu.com/p/1992993195878027887 [4] https://www.kimi.ai/zh-hant/resources/best-ai-agent-frameworks"}}
</tool_call>
大模型收到搜索结果后,会分析这些结果,并整理成一篇文章,然后会请求调用 write_file 工具。Agent 会解析大语言模型的输出,并最终调用 write_file 工具,把整理好的文章写入到指定的文本文件中。
上面的例子演示了一个简单的 AI Agent 的工作原理。我们首先给大语言模型提供了一个工具列表,让它知道这些工具的存在,并告诉它如何调用这些工具。Agent 接收用户的指令后,会把指令发送给大语言模型,让大语言模型分析当前的任务,决定下一步应该做什么。大语言模型会根据用户的指令,分析当前的任务,并发出调用工具的指令。Agent 会解析大语言模型的输出,并调用相应的工具去执行这些动作。通过这种方式,在大语言模型的指导下,Agent 可以帮你完成各种各样的任务。
因为我们不能预先知道用户会提出什么样的指令,所以我们需要给大语言模型提供尽可能多的工具,大模型可以组合使用这些工具来完成用户的指令。常见的工具如下:
- 文本操作类:读取文件、写入文件、创建文件、删除文件、读取目录中的文件列表
- 网络操作类:搜索网络、从网络下载文件、发送邮件
- 系统操作类:执行系统命令
有了这些工具,大语言模型就可以完成很多任务,比如帮你搜索网络上的信息,并把搜索结果写入到一个文本文件中;帮你把本地的文件翻译成英文,并把翻译后的内容写入到一个新的文件中;帮你整理你的文件夹,对文件进行分类等等。
AI Agent 是如何完成复杂任务的
大语言模型本身没有记忆,它只能基于当前输入来生成后文。为了让大语言模型能够完成复杂任务,我们需要在每次行动前,把当前的任务状态和工具执行结果写入上下文,让大语言模型据此决定下一步该做什么。可以把大模型看到的上下文想象成一块“黑板”:起初黑板上是空白的,用户下发指令后,Agent 会把指令写到黑板上,模型看着黑板决定下一步该做什么,Agent 再按照指令去调用工具,并把工具的执行结果写回黑板。模型就这样盯着这块不断变长的黑板,一轮轮地决定接下来该做什么。
这种“先思考、再行动、再根据结果继续思考”的循环,业界给它起了一个专门的名字,叫做 ReAct,它是 Reasoning(思考)和 Acting(行动)的缩写。AI Agent 就这样交替地思考与行动,直到任务完成。在这期间,Agent 和大语言模型之间可能会进行很多次交互,用户往往看不到任何输出。直到某个时刻,大语言模型认为任务已经完成,或者需要向用户提问,Agent 才会把内容返回给用户。
我们用 “订咖啡” 这个任务来复盘 AI Agent 的执行过程:
计划(Planning)—— 拆分任务,制定计划
用户下发指令:“帮我订咖啡”。Agent 会把这个指令写在黑板上,然后让大语言模型看这个黑板。大语言模型会分析当前的任务,并把任务拆分成几个步骤:
- 确认口味(美式/拿铁/卡布奇诺)
- 寻找附近评分高的咖啡店
- 下单
这个执行计划会被写在黑板上,作为后续执行的参考。大语言模型会输出一个问题:“你喜欢喝哪种口味的咖啡?”Agent 会把这个问题返回给用户,用户回答:“美式”。Agent 会把用户的回答写在黑板上,然后让大语言模型看这个黑板。
思考 (Thought) —— 审视黑板,决定下一步
模型读取上下文,发现当前的任务是订咖啡,且计划的第一步“确认口味”已经完成(得知用户喜欢喝美式)。于是它判断:下一步该去找一家附近评分高的咖啡店了。
行动 (Action) —— 呼叫外部工具
模型知道自己没有实时联网和下单能力,于是它在输出的文本中,写下一段特殊格式的工具调用指令(Tool Call)。
- 输出内容:Call_Tool: Map_Search(keyword="美式咖啡", location="公司附近")
观察 (Observation) —— 吸收外部反馈
Agent 识别到了模型的工具调用请求,代替模型去调用了地图搜索工具,并将搜到的结果,例如:1.星巴克咖啡 4.8分;2.瑞幸咖啡 4.5分。并以文本形式追加到上下文中。
- 黑板更新:增加了“观察到的地图搜索结果”。
更新状态,进入下一个循环
此时,上下文(黑板)变长了,里面多了一项“刚刚拿到的搜索结果”。系统再次启动大模型:
- 新一轮的思考:模型读到最新的上下文,了解到当前的任务是订咖啡,且已经完成了“确认口味”和“寻找附近评分高的咖啡店”两个步骤。它看到地图搜索结果后,决定选择评分更高的星巴克咖啡,并准备下单。
- 新一轮的行动:输出 Call_Tool: Delivery_App_Order(shop="星巴克咖啡", item="冰美式")。
那就是 Agent 在执行订咖啡的任务时大致的工作流程。不同的任务可能需要不同的计划和执行流程,但基本思路是相同的。整个完成任务的步骤不是预先设定好的,而是大语言模型根据当前的任务和当前的状态动态决定该做什么。这里的核心能力来自于大语言模型在海量语料上训练后得到的逻辑推理能力。
如果仅仅是死板地按照最初拆分的计划走,一旦中间出点意外(比如:计划中第一步是去 A 网站查资料,结果 A 网站出了故障,网页无法访问),Agent 就会卡死。而这种“看一眼上下文计划 => 走一步 => 看看结果 => 更新上下文 => 再走下一步”的机制,赋予了 Agent 极强的灵活性和鲁棒性。它可以根据当前的任务状态,动态调整执行计划,甚至在执行过程中发现问题并纠正错误。如果某个动作执行时报错了,比如网络超时了,模型在下一轮的思考中会看到这个错误,从而在下一轮的行动中决定重试,或者换一个备用工具。如果某个步骤返回了意料之外的信息,模型可以更新和修正执行计划。
总结
聊天助手只会“说话”,Agent 却能“做事”,AI Agent 本质上是一个介于用户和大语言模型之间的程序,大语言模型负责思考与决策,Agent 负责把决策落实成真实的动作。
要把决策落实成动作,Agent 依赖三个关键机制:
- 工具调用:把文件读写、网络搜索等能力包装成工具,模型以固定格式输出调用请求,Agent 负责解析并真正执行。
- 上下文:模型没有记忆,Agent 把任务状态和每一步的执行结果持续写回上下文,让模型始终知道进度。
- ReAct 循环:模型交替地思考与行动,并根据反馈动态调整计划,直到任务完成。
了解了这三点,你就能从直觉上明白 AI Agent 是如何借助大语言模型完成复杂任务的。当然,本文只是从宏观层面介绍了大致原理,Agent 的实现细节远比这复杂,我会在后续文章中继续介绍。对实现细节有兴趣的读者可以关注后续文章。