Agent相关问题
什么是大模型Agent?他和传统的大模型有什么不同?
什么是大模型Agent?他和传统的大模型有什么不同?
Agent他是以大模型为大脑,配合规划,记忆,工具等模块,能够自主去完成复杂任务的系统。他和传统大模型的区别在于,传统的大模型只是一个对话工具,你一问他一答。而Agent是你给他一个任务,他能够自己去拆解任务,调用工具,一步步帮你完成这个任务。
LLM Agent 的核心架构由四个部分组成:LLM 核心、规划模块、记忆模块、工具模块。
- LLM 核心是整个系统的大脑,负责理解任务、生成计划、协调各模块工作。GPT、Claude、Qwen 这些大模型都可以充当这个角色。
- 规划模块负责把复杂目标拆成可执行的子任务。比如"帮我写一篇市场分析报告"这种任务,规划模块会拆成:搜集行业数据、分析竞品、整理趋势、撰写报告等步骤。执行过程中还能根据结果动态调整计划。
- 记忆模块分短期和长期两种。短期记忆保存当前任务的上下文和中间状态,长期记忆存储跨任务的知识和经验。没有记忆模块,Agent 干完上一步就忘了,没法处理多轮复杂任务。
- 工具模块是 Agent 的手和脚,让它能和外部世界交互。搜索引擎、代码解释器、数据库、API 接口都可以作为工具接入。没有工具,Agent 只能动嘴不能动手。
Agent和传统大模型的具体差异可以从这几个维度来看:
- 目标导向 vs 被动响应。传统大模型就是个对话机器,用户输入什么它输出什么,没有主动性。Agent 不一样,你给它一个最终目标,比如"帮我调研竞品并写一份分析报告",它会自己规划要做哪些步骤、先做什么后做什么,然后一步步执行。
- 有记忆 vs 无状态。传统模型只能看到当前对话的上下文窗口,聊完就忘。Agent 有专门的记忆模块,短期记忆存当前任务的中间状态,长期记忆存历史经验,下次碰到类似问题可以复用。
- 能调用工具 vs 只能说话。传统模型只能输出文本,想搜索、算数、操作数据库都得人来做。Agent 能调用搜索引擎、执行代码、读写文件、调 API,真正把事情做出来。
- 多步推理 vs 单轮问答。Agent 能在执行过程中不断评估结果、发现问题、调整策略,形成一个闭环。传统 AI 系统要么靠写死的规则引擎,要么就是一锤子买卖。
如何让Agent具备长期记忆的能力?
- 向量数据库 + RAG:把历史对话和知识转成向量 embeddings,存进向量数据库。新会话来了,先根据用户输入检索相关的历史内容,把检索结果塞进 prompt,LLM 就能"回忆"起之前聊过什么。这是目前最成熟、落地最多的方案。
- 分层记忆:把记忆分成短期和长期两层。短期记忆就是当前会话的上下文,长期记忆是压缩后的关键信息摘要或 embeddings。
Agent的工作流程是怎样的?
Agent 的工作过程本质上是一个 感知-思考-行动 的循环,可以拆成这么几步:
- 接收与理解输入:Agent 拿到用户的自然语言指令后,先把它解析成内部能处理的格式,搞清楚用户到底想干啥、有什么约束条件。
- 规划:LLM 根据输入生成一份行动计划,把大任务拆成可执行的小步骤并排好序。比如用户说"帮我订明天北京到上海的机票",Agent 会拆成查航班、筛选合适的、确认价格、完成预订这几步。
- 工具调用:按照计划,Agent 挑选合适的外部工具来干活。查航班可能调携程 API,算价格用计算器,存订单信息用数据库。这一步是 Agent 区别于普通聊天机器人的关键能力。
- 观测:工具执行完会返回结果,Agent 把这个结果作为 Observation 反馈给 LLM,更新当前状态。如果查航班返回"没有直飞",Agent 就知道该调整策略了。
- 记忆:关键的观测结果和交互细节会被存进短期或长期记忆,保证多轮对话时不会"失忆"。
- 决策:综合最新的观测结果、记忆内容和任务目标,Agent 判断下一步该干啥。任务完成就准备输出,没完成就继续执行下一个子任务,遇到问题就重新规划。
- 输出:所有步骤跑完后,Agent 汇总信息,生成最终结果返回给用户。
- 反思与纠错:高级 Agent 还会启动自我反思模块,回顾执行过程,评估结果是否正确,发现问题就重规划或修正策略,避免下次犯同样的错。
Agent常见的功能有哪些?
- 指令理解与上下文处理:通过自然语言解析用户指令,理解任务目标,抓取对话历史中的关键信息。
- 任务规划与分解:拿到一个复杂需求后,Agent 会先拟定解决问题的多个步骤,再按顺序逐步执行。比如用户问"帮我对比三款笔记本的性价比",Agent 会自动拆成搜索产品信息、提取关键参数、计算性价比、生成对比表格这几步。
- 外部工具调用:Agent 不只会"说",还会"做"。它能调用搜索引擎查实时信息、调计算器算数、调数据库取数据、调各种 API 完成特定任务。
- 循环观测与执行:每次调用工具后,观测模块会收集执行结果并反馈给决策模块,形成持续的 Action-Observation 循环,不断微调策略直到任务完成。
- 记忆管理:短期记忆负责当前对话的上下文,长期记忆负责存储历史交互和学到的知识,两者配合让 Agent 在多轮交互中保持一致性。
- 决策与分支:根据观测结果和已有记忆灵活做出决策,处理 if-else 条件分支和循环逻辑,执行路径能动态调整,不会一条路走到黑。
- 检索增强生成:遇到知识盲区时,Agent 会调用外部知识库或文档,以 RAG 的方式补充信息,避免一本正经地胡说八道。
- 自我反思与纠错:通过内省模块评估自身输出的正确性,发现偏差时触发重试或修正策略。Reflexion、Self-Refine 这些方法就是干这个的。
- 多模态能力:现在的 Agent 不只处理文本,还能看图、听音频、生成图像,应用场景大大扩展。
什么是Function Calling / MCP
Function Calling是模型调用工具的一种机制,核心思想是给模型一些函数描述,让模型能够在回答问题时可以判断是否需要选择调用其中的某些函数来处理。(实际发起调用的是Agent,大模型拿到的是函数调用的结果)
通常来说Function Calling的这些方法是大模型特有的能力,比如市面上不同的大模型他内部定义的这些Function Calling都不相同。也就是说Function Calling是=是各家厂商自己定义的调用机制。主要是各厂商用来增强自家模型的功能性
而MCP是一种工具调用协议标准,他解决的问题就是由于Function Calling是由各厂商自己给自己的大模型定义的,因此没有一个规范的标准,几乎无法复用。而MCP协议要求通信格式遵循 JSON-RPC 2.0,按协议开发一次接口,就能被多个模型调用,不用给每个模型单独适配。
因此MCP允许 AI 可以调用任何工具,而不需要写死在代码里。只要你的工具是遵循MCP协议开发的,就能被支持MCP协议的各大模型使用,扩展性很高。
简单做个类比:Function Calling就相当于是项目中写的本地方法,而MCP协议就相当于HTTP API标准,能够通过它调用一些外部的接口/
Copilot 模式和 Agent 模式的区别是什么?
两者的核心差异在于控制权归属:Copilot 模式下人类保留决策权,大模型只是提供建议;Agent 模式下大模型拿到完整的任务目标后,自己拆解、自己执行、自己收尾,人只管验收结果。
Copilot 模式:用户输入需求,模型给出建议,用户审核后决定是否采纳,然后再继续下一轮交互。整个过程用户始终握着方向盘,模型像副驾驶一样实时提醒、辅助,实际控制权还是在人手中。典型场景就是 GitHub Copilot 写代码,它给你补全建议,按不按 Tab 接受是你自己的事。
之前的coplit模式核心其实就是基于当前光标的上下文做单步预测,给你一段代码建议(Tab 接受),本质就是预测下一段代码最可能是什么?
而现在的ai编辑器里的tab补全已经不是简单的coplit了,而是会读取整个文件,甚至读取多个文件,理解你的代码逻辑,然后自动补全整个方法,或者是改你前面的代码,帮你补全一整段业务逻辑。
他已经不是预测下一段代码是什么怎么简单了,而是理解你的意图,然后生成一段合理代码。
Agent 模式:用户只需要给一个目标,比如"帮我订下周三去上海的机票和酒店",Agent 自己规划步骤、调用航班 API 查票、调用酒店 API 比价、处理支付流程,中间遇到问题自己想办法解决,最后把结果汇报给你。整个链路可能跑十几个工具调用,用户压根不用盯着。
为什么会出现这两种不同的模式呢?
最早大模型刚出来的时候,推理成本高、响应慢、上下文窗口小,根本不可能让它独立干活,只能把它藏在后台做一些增强任务。后来 GPT-3.5/4 这一波模型出来,响应速度上来了、效果也肉眼可见地好,但大家发现让它完全自主干活还是不靠谱,幻觉问题严重、复杂任务容易跑偏。于是 Copilot 模式成了主流,人机协作,人做决策、模型做执行,GitHub Copilot 就是这个阶段的标杆产品。
到了 2023 年底 2024 年初,模型的推理能力、工具调用能力、长上下文处理能力都有了质的飞跃,Agent 模式才真正可用。AutoGPT 虽然早早就火了一把,但当时实际跑起来效果很差,任务完成率可能连 20% 都不到。而且Agent 跑复杂任务的时候,中间任何一步出错都可能导致整个任务失败,这些错误往往是静默的,它可能给你一个看起来正确但实际上有问题的结果。在生产环境,比如自动处理客户订单这种场景,一次失误可能就是真金白银的损失。另外成本也是个问题,一个复杂任务跑下来可能要几十次 API 调用,Token 消耗量比 Copilot 模式高一个数量级。
你对AI发展的看法
首先我观察到三个趋势:
- 具身智能的结合: 像 OpenClaw 这样的项目让 AI 走出了屏幕,开始控制硬件,这意味着 AI 正在获得物理世界的执行力。
- 算力平权: 随着模型蒸馏技术和端侧算力(如手机、电脑本地 NPU)的提升,AI 不再是云端的昂贵专利,‘本地化’和‘私有化’成为主流。
- 从 Copilot 到 Autopilot: 我们正从‘辅助编程’过渡到‘自主解决复杂工程问题’。未来的核心竞争力将不再是写代码的熟练度,而是系统架构的设计能力和对复杂业务的建模能力。”
AI未来在哪些方面帮助你?你如何利用AI?
工程化辅助: 在编写相关业务时,我会让 AI 生成重复性的 CRUD 代码、单元测试,实体类定义等。这能帮助我从繁琐的样板代码中解脱出来。有更多的时间思考核心的业务逻辑的设计。同样也会使用AI来辅助设计项目架构
辅助学习新技术: 我会使用AI来帮助我阅读一些技术文档,或者是代码等,让AI帮我总结文档内容,以让我能够更快get到核心原理,再逐步定位到具体的设计细节仔细看,而不是一上来就从头开始。并且还会让AI帮助生成更加直观的逻辑图,极大缩短了学习路径。
排障与重构: 相比于搜索引擎,AI 能根据整个项目的上下文定位内存泄漏或死锁问题。
学校课程受 AI 影响有调整吗?
考核方式的转变: 很多老师不再布置单纯的‘编程作业’,因为那对 AI 来说是秒清。现在的作业更偏向于系统设计、算法推演和闭卷实操。
课程内容的更新: 更强调一些基础原理的理解,以及系统设计上的能力,这些AI可能更难替代
学习思维的进化: AI 降低了编程门槛,但也提高了上限。老师更强调‘批判性思维’——即如何判断 AI 给出的答案是否正确,以及如何向 AI 提出正确的问题。”
最近爆火的 OpenClaw 你怎么看?
- 降低了使用成本,推动 Agent 开源生态,让普通用户在本地电脑甚至旧设备上就能部署一个‘数字分身’,绕过了昂贵的云端 API。
- 它打破了 AI 只能在网页里聊天的限制,能直接操控文件系统、操作 App。
但我觉得目前 Agent 仍然存在一些挑战:
- 稳定性不够
- 成本比较高
- 复杂任务容易失控
Agent 现在更像一个正在快速发展的方向,但还没有完全成熟。
我觉得未来 AI 不会取代开发者,但会取代不会使用 AI 的开发者。 所以作为开发者,我更希望学会如何把 AI 融入开发流程,而不是只是把它当作聊天工具。