1. 什么是 Agent?与大模型有什么本质不同?
在当今的技术面试中,Agent 相关的问题越来越常见。作为一个经历过多次技术面试的开发者,我发现很多候选人对 Agent 的理解还停留在表面。今天我就来分享一些实战经验,帮助你在面试中脱颖而出。
第一件:工具调用(Tool Use) ,这是让 Agent 从「说话」变成「做事」的关键。Agent 能调用外部工具,比如搜索引擎、代码执行器、数据库、API 等等。不过这里有一个容易误解的地方:不是模型自己执行,而是模型「告诉你该调什么」,你的代码去真正执行,结果再反馈给模型。模型始终只是大脑,不是手脚。
为什么工具调用如此重要?因为它一下子突破了前面说的三个局限。知识被冻结?接上搜索引擎,模型就能获取实时信息。不能行动?接上邮件 API、代码执行器,模型就能真正做事。这就好比一个人原来只能用嘴说话,现在给他配了手、脚和各种工具,能力上限瞬间拔高了一个量级。
我来举个最具体的例子。假设你给 Agent 配了两个工具:查天气和发邮件,然后让它「帮我查一下北京天气,发邮件给老板
工具定义里没有一行执行逻辑,只有「名字、描述、需要哪些参数」,本质上就是一份说明书。模型读了这份说明书,自己决定该调哪个工具、参数填什么,然后把决策以 JSON 格式告诉你,真正执行的还是你的代码。这个「决策和执行分离」的思想,是理解工具调用最核心的一点。
理解了工具调用之后,你会发现 Agent 光有「做事」的能力还不够,它还得「记事」。这就引出了第二件核心的事。
第二件:记忆机制 。传统 LLM 每次对话都是「失忆」的,除非你手动传上下文,不然它完全不记得上一次说了什么。而 Agent 系统通常会设计短期记忆和长期记忆两层。短期记忆就是当前任务执行过程中的中间状态,比如第一步搜索到了什么、第二步计算结果是多少,这些都存在上下文里,保证 Agent 不会做到一半忘了前面发生了什么。长期记忆则是跨任务的,比如用户的偏好、历史操作记录,通常用向量数据库来存储,需要的时候做语义检索拿回来。有了这两层记忆,Agent 在执行复杂任务时才能保持连贯性,不会走着走着忘了目标是什么。
那有了工具能做事、有了记忆能记事,Agent 就完整了吗?还差最后一块拼图,也是 Agent 最像「人」的地方。
第三件:多步推理和自我纠错 。这一点经常被忽略,但其实是 Agent 区别于简单自动化脚本的关键。Agent 在执行过程中如果某一步失败了,它不会直接崩掉,而是能感知到失败、分析原因、换一种方式重试。比如用关键词 A 搜索没找到有用信息,它会自己换关键词 B 再搜一次;调用某个 API 报错了,它会看报错信息然后调整参数重新调用。这就像一个真正在「思考」的执行者,碰到障碍会绕路走,而不是一条路走到黑。更进一步,它还能在完成某一步之后回头审视:我做的这步对不对?结果和预期一致吗?要不要调整后续的计划?这种「边做边反思」的能力,让 Agent 在面对复杂、不确定的任务时,表现远比死板的自动化流程好得多。
讲完这三件事,我们用一个最直观的场景来感受一下差距。你让一个普通 LLM「帮我发一封天气播报邮件」,它能做的只是告诉你「你可以这样写代码……」;而一个 Agent,它会真的去调天气 API、拿到数据、组织邮件内容、再调邮件发送接口,整个过程自动完成。这就是本质区别:从生成文字,到执行任务 。
Agent 生态的最新趋势
Agent 火起来之后,一个很自然的问题就冒出来了:Agent 越来越多,它们之间怎么协作?工具越来越多,怎么统一管理?这两个问题催生了两个非常重要的标准协议,面试里被问到的概率很高,值得了解一下。
第一个是 Anthropic 在 2024 年底提出的 MCP(Model Context Protocol,模型上下文协议)。你可以把 MCP 理解成 Agent 工具世界的「USB-C 接口」。在没有 MCP 之前,每个 Agent 框架接每个工具都要写一套适配代码,假设有 M 个 Agent 框架和 N 个工具,就需要 M x N 套适配逻辑,工程成本非常高。MCP 的做法是定义一套标准的 JSON-RPC 协议,工具提供方只要按这个标准暴露自己的能力(变成一个 MCP Server),任何支持 MCP 的 Agent(通过内置的 MCP Client)都能直接发现和调用这些工具,不需要额外写适配代码。MCP 的架构分三层:最外层是 Host(就是用户直接交互的 AI 应用,比如 Claude Desktop、Cursor 这些),中间是 Client(负责和 MCP Server 建立连接、管理通信),最里层是 Server(真正暴露工具能力的服务)。到 2025 年底 MCP 已经捐给了 Linux 基金会,OpenAI、Google DeepMind 都已经接入支持,生态发展非常快,目前已经有数千个公开的 MCP Server 可用。
第二个是 Google 在 2025 年 4 月推出的 A2A(Agent2Agent,Agent 间通信协议)。如果说 MCP 解决的是「Agent 怎么调用工具」的问题,A2A 解决的就是「Agent 怎么和另一个 Agent 协作」的问题。在多 Agent 系统里,不同的 Agent 可能来自不同的厂商、用不同的框架开发,它们之间怎么互相发现对方的能力、怎么协调任务、怎么传递中间结果?A2A 的核心设计是一个叫 Agent Card 的概念,每个 Agent 都有一张「名片」,上面写着它能做什么、正在做什么、需要什么输入,其他 Agent 读了这张名片就知道该怎么跟它协作。A2A 同样已经捐给了 Linux 基金会,SAP、Salesforce、ServiceNow 等大厂都在接入。
这两个协议的关系其实是互补的:MCP 管的是 Agent 和工具之间的连接,A2A 管的是 Agent 和 Agent 之间的通信。你可以这样理解,MCP 让每个 Agent 都能方便地「伸手拿工具」,A2A 让不同的 Agent 能方便地「互相说话合作」。未来的 Agent 生态大概率是两个协议同时存在、各管一层的格局。面试的时候能把这两个协议的定位和区别说清楚,会非常加分。
感知 - > 规划 -> 行动 -> 再感知这个循环才是 Agent 区别于普通 LLM 的核心机制。
面试时答这道题,一定要点出三件事:一是 Agent 有自主规划能力,给它一个复杂目标它能自己拆解成多步;二是它能行动,通过工具调用跟外部世界真实交互;三是它有闭环,每步的结果会反馈回来指导下一步,而不是一次性生成完就结束。另外还要提一句容易混的点:模型本身只是「大脑」,工具的真正执行是你的代码,模型只负责决策。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Agent 的基本架构由哪些核心组件构成?
我理解 Agent 的基本架构有四个核心组件:LLM、工具、记忆、规划模块。LLM 是整个系统的大脑,负责理解任务和做决策;工具让 Agent 能跟外部世界交互,搜索、执行代码、调 API 都
