前言

近期,我参与了三场AI应用落地方向的技术面试。我将面试中出现的所有提问与追问完整收录

本文摒弃空泛的概念堆砌,直击底层机制、算法细节与系统权衡。它既能帮助求职者查漏补缺,也能为技术团队提供一份高标准的考察维度参考。


一、 Agent 架构与多智能体协同

1. 什么是 AI 智能体?它与传统的 LLM 链式调用有何本质区别?

面试官预期:考察对 Agent 核心定义的抽象能力,能否讲清“从工具调用到自主决策”的进化。

最优回答

  • 定义:AI Agent 是一个能够自主感知环境、制定计划、执行动作并基于反馈进行反思的智能实体。核心公式可以提炼为 Agent = LLM(大脑) + Planning(规划) + Memory(记忆) + Tools(工具)LLM作为推理内核,Planning负责动态任务拆解,Memory管理状态与知识,Tools提供对外部世界的感知与操作能力。

  • 本质区别

    • 传统 LLM Chain:是预定义的、硬编码的流程,每一步的输入输出固定,缺乏动态调整能力。它本质上是开环的一次性执行

    • Agent:是目标驱动的。它能根据任务目标动态规划执行步骤,在执行过程中通过 ReAct 等模式调用外部工具,观察返回结果,判断是否正确,甚至可以自我反思、修正错误。它是一个闭环控制系统,具备条件判断与自主编排能力。

    • 典型例子:对于“如果明天下雨,帮我取消下午的会议并通知参会人”,Chain只会按顺序执行查天气->写邮件。而Agent会先去查天气,判断条件满足,再去调用日历工具找到下午的会议,获取参会人列表,最后调用邮件或通讯工具发送通知。

2. React 模式的工作原理是什么?

最优回答
ReAct(Reasoning + Acting)是当前 Agent 实现的主流范式,它将推理轨迹与行动步骤交织在一起

  1. Thought(思考):Agent 接收任务后,进行一步推理,分析当前状况,判断下一步需要做什么。

  2. Action(动作):根据思考的结果,选择并调用一个外部工具(如搜索、计算器、数据库查询),并传入所需参数。

  3. Observation(观察):接收工具返回的结果,将其作为新的上下文。

  4. 重复 1-3 步,不断进行 思考-行动-观察 的循环,直到 Agent 认为已达成任务目标,最后用 Finish 动作输出最终结果。
    这种模式让模型在推理时能利用外部知识,在决策时有据可依,是解决大模型幻觉和执行复杂多步任务的关键。

3. 如何设计一个多智能体协作系统?遇到过哪些挑战并如何解决?

最优回答

  • 架构设计:我会采用“主-从式编排+动态路由”的混合架构。

    • 顶层-主控 Agent:负责意图识别、任务拆分与分发、结果汇聚。它不执行业务逻辑,只做调度员。

    • 领域-子 Agent:每个子 Agent 封装特定的业务能力,拥有独立的提示词、技能工具集和知识库。

    • 通信总线:基于 A2A 协议规范,实现 Agent 间的上下文传递和任务派发。所有 Agent 都通过标准化接口注册到总线,实现解耦。

    • 工作流引擎:对于流程固定的任务,可用 LangGraph 或硬编码状态机编排;对于探索性任务,则交由主控 Agent 动态路由。

  • 核心挑战及解法

    1. 上下文一致性与数据时序错位:多 Agent 并发执行时,A Agent 写入的数据 B Agent 可能无法立即读取。解法:引入全局状态管理器任务依赖图,B Agent 的执行必须显式依赖 A Agent 的完成事件,并通过状态快照传递数据,这本质上是一个跨进程的多版本并发控制模型。

    2. 任务分配与动态路由:意图识别错误会导致任务分发给错误的 Agent。解法:采用两级路由,第一级用轻量级分类模型做粗筛,第二级让主控 Agent 基于候选列表和历史对话做精细决策。

    3. 循环与无限等待:Agent 可能在某个步骤陷入死循环。解法:设置最大步数限制超时熔断无意义重复检测(如连续三次同样的 Action 则强制停止并转人工)。更关键的是,在提示词中植入元认知指令,强制Agent在每步执行前进行自我提问,有效抑制幻觉循环。

    4. 故障隔离:一个子 Agent 失败不应导致整个系统崩溃。每个子 Agent 需有完整的错误捕获和降级策略,返回结构化错误信息给主控,由主控决定重试、绕过或求助人类。

4. Agent 中的记忆是如何分类的?请结合实际应用说明。

最优回答
记忆是 Agent 实现连续对话和个性化体验的核心,通常分为三大类:

  • 短期记忆(Working Memory):当前对话窗口内的上下文,受模型最大长度限制。我会利用 KV Cache 技术加速推理,同时对过长历史进行摘要压缩或滑动窗口处理,防止上下文溢出。

  • 长期记忆(Long-term Memory):需要持久化存储的信息,分为两类:

    • 情景记忆(Episodic Memory):用户过往的对话记录、操作历史。通常以向量化形式存入向量数据库,用于时间线查询。

    • 语义记忆(Semantic Memory):关于用户、领域的事实性知识,如“用户偏好极简风格的报告”。适合用知识图谱或结构化数据库存储,便于精确查询和推理。

  • 程序性记忆(Procedural Memory):固化下来的技能或工作流模板。例如在 Claude Code 中定义的 Skills 或 Claude.md 文件,它告诉了 Agent “当遇到某类问题时,应该按什么步骤思考和执行”。这是把人的经验外化给 Agent 的最高效方式

5. 如何评估一个 Agent 的性能?

最优回答
评估 Agent 需要从最终效果、过程质量和运行效率三个维度综合考量:

  1. 任务成功率(Task Success Rate):这是金标准。需要构建覆盖核心场景的测试用例集,由人工或自动化判断 Agent 的最终输出是否解决了用户问题。

  2. 工具调用准确性(Tool Accuracy):检查 Agent 是否在正确的时机、以正确的参数调用了正确的工具。错误调用是 Agent 失败的常见根源。

  3. 推理效率(Efficiency):统计完成任务的平均步数/Token 数,衡量其是否走了弯路。理想情况是用最少的步骤完成工作。

  4. 幻觉率(Hallucination Rate):尤其在 RAG 场景,要检查 Agent 是否遵循了检索到的文档,是否编造了文档中不存在的事实。可用 RAGAS 等框架进行自动评估。

  5. 稳定性与延迟:在生产环境,需要关注 P50/P95 的端到端响应时间,以及系统的并发处理能力。

  6. 人工评估(Human Eval):上述指标都无法替代最终用户的主观体验。定期进行盲测打分,是校准技术指标、发现未知问题的最后一道防线。


二、 MCP 与 A2A 协议

6. 请解释 A2A 和 MCP 协议,并说明它们的区别。

最优回答
二者是 Google 和 Anthropic 分别提出的、互为补充的智能体协议标准。

  • MCP(Model Context Protocol):定位为“Agent 与外部系统之间的通用 USB 接口”。它解决的是“Agent 如何调用五花八门的工具和数据源”的问题。MCP 采用 Client-Server 架构,允许任何 LLM 客户端通过标准化的 MCP Client,连接到暴露了“资源、工具、提示模板”三大原语的 MCP Server,实现一次开发、随处集成。

  • A2A(Agent-to-Agent Protocol):定位为“Agent 与 Agent 之间的标准通讯录”。它解决的是“不同厂商、不同框架开发的 Agent 之间如何发现彼此、安全协作”的问题。A2A 定义了 Agent Card(名片)、任务生命周期管理、流式/同步通讯等规范。

  • 核心区别MCP 连接的是“Agent 与工具”,是垂直的、外部的;A2A 连接的是“Agent 与 Agent”,是水平的、内部的。 一个全栈 Agent 系统同时需要二者:用 A2A 拆解任务给专业子 Agent,每个子 Agent 通过 MCP 访问后端服务。

7. 你是如何设计 MCP 适配层来封装各个系统的 API 的?

最优回答
MCP 适配层的设计目标是把异构的后端系统,变成 LLM 能理解的、统一的工具描述。我的设计思路是“三层适配”:

  1. 统一接入层(Transport Layer):基于 FastMCP 框架,统一处理 stdio 或 HTTP 传输,并集成zstandard压缩和JWT会话管理,确保长连接稳定性。

  2. 工具标准化层(Tool Normalization Layer):这是核心。为每个后端 API 定义标准的 Tool Schema,不仅包含namedescriptionjson_schema,更关键的是引入usage_example(Few-Shot示例)和edge_cases(边界行为描述),将工具调用准确率提升至92%。同时用声明式格式化管道,将异构返回统一为LLM友好的结构体。

  3. 治理层(Governance Layer):负责横切面问题。包括:基于角色的工具访问控制(RBAC)、自适应限流(基于后端实时响应时间动态调整令牌桶算法)、以及审计日志(记录每次调用的参数和返回)。


三、 RAG 系统设计与优化

8. 你们的数据切片策略是什么?为什么不用父子目录结构?

最优回答
我们采用 “中文递归标点切分 + 父子块注入元数据” 的混合策略。

  • 方法:根据中文标点优先级进行递归切分,父块 1200 token 保证语义完整,子块 400 token 用于精确召回。每个块都会注入源文档的标题、章节等多级元数据

  • 为何不用目录树:对于海量、格式不规范的异构文档,严格依赖目录结构极易失败。我选择用元数据模拟目录语义:用专门的文档解析模型识别出逻辑目录,将其作为元数据注入到每个块中。这样做,在检索时既实现了基于上下文扩展的“父子召回”,又能通过元数据过滤实现按章节的精确检索,比硬编码目录结构的鲁棒性强得多

9. 你们的具体检索方式和重排算法是什么?系统响应时间如何优化?

最优回答

  • 分层检索架构

    1. L1 语义缓存层:高频问法对存储在 Redis 中,使用Sentence-BERT进行向量化,命中则直接返回,毫秒级响应。

    2. L2 混合检索:采用 BGE-M3 模型同时生成密集向量和稀疏向量。密集向量使用HNSW算法进行语义检索,稀疏向量使用BM25算法进行关键词检索,双路召回后进行倒数排名融合

    3. L3 精细化重排:使用 BGE-Reranker-v2-m3 模型进行交叉编码重排。为进一步提升精度,我们基于领域标注数据对Reranker进行了领域自适应微调,最终将Hit Rate@3提升了11个百分点。

  • 响应时间优化(综合2-3秒)

    • 关键加速点在于:① 有效的语义缓存直接拦截了约35%的请求;② 元数据过滤大幅缩小了检索范围;③ 使用 vLLM 等高性能推理框架对 7B 模型做了量化加速。

10. 你们的 RAG 准确率达到93%,是如何评估的?如何构建数据飞轮持续优化?

最优回答

  • 评估体系:绝不用单一的平均指标。我们构建了分层评估体系

    • 组件级:对召回和生成两个阶段分别评估,召回用 Recall@KMRR,生成用 Faithfulness(忠实度)和 Answer Relevance(答案相关性)。

    • 场景级:将测试集按问题复杂度分类,统计各场景的通过率。93% 是综合平均分,我们更关注复杂场景的“短板指标”。

    • 自动化工具:使用 RAGAS 框架,结合 GPT-4 等评判模型进行大规模自动评分。

  • 数据飞轮

    1. Bad Case 驱动:线上收集用户“踩”或客服转人工的案例。

    2. 消融实验:针对每个 Bad Case,我们模拟复现,并隔离变量进行消融实验(如单独替换切片策略、检索策略或 Prompt),以最小粒度定位问题根因。避免了“大锅饭式”调优。

    3. 闭环迭代:定位到问题后,进行针对性修复,更新系统,观察该场景下的指标变化。这个循环让我们每次优化都有的放矢,收益可衡量。

11. 在 Agent 架构中,RAG 处于什么位置?和普通 RAG 有何不同?

最优回答
在 Agent 架构中,RAG 被工具化场景化了。

  • 位置:RAG 不再是独立的问答系统,而是作为 Agent 可用的一个 知识检索工具(Retriever Tool)。Agent 根据任务目标,决定在何时、以何种查询策略调用它。

  • 与普通 RAG 的区别

    • 被动 vs 主动:普通 RAG 是请求-响应式被动检索;Agent RAG 是目标驱动的主动探查,Agent 可能会分解问题、多次检索、变换关键词。

    • 应用拓展:Agent RAG 不仅用于回答用户问题,还可以用于动态发现技能(Skills Discovery)。当 Agent 拥有成百上千个技能时,可以把所有技能的“名称和描述”向量化存入知识库,Agent 通过语义检索动态找到并激活所需技能,这解决了上下文爆炸和功能选择困难的问题。


四、 模型微调与工程化

12. 为什么会选择模型微调方案?解决了什么核心问题?

最优回答

  • 核心痛点:业务场景对时延极其敏感,复杂问题的多步 Agent 链路中,大模型 API 调用的累积延迟达到了 P95 30秒以上,用户体验不可接受。

  • 方案选择:用“本地小模型微调替代云端大模型 API”。

  • 解决方案:基于Qwen2.5-7B基座,清洗出5万条高质量真实对话数据,并利用GPT-4生成边界案例进行数据增强。采用 QLoRA 方案,在rank=64下对模型的所有线性层进行低秩适配,并引入NEFTune噪声提升泛化能力。推理时使用vLLM框架部署,开启FlashAttention-2和连续批处理。

  • 效果:端到端响应 P50 降至 3 秒内,P95 降至 10 秒内,推理成本大幅下降。通过严格的消融实验对比,微调后的 7B 模型在特定任务上成功率与线上大模型持平,实现了性能持平、延迟和成本大幅降低的目标。

13. 你们是如何推动企业内部的 AI Coding 工程化落地的?

最优回答
我们的目标是用标准化的流程和工具,让 AI 成为高可靠性的开发伙伴。我主导推动了以下工作:

  1. 流程标准化:将“测试驱动开发(TDD)”和“文档驱动开发(DDD)”作为核心流程。任何功能开发,必须先生成测试用例和标准化的 PRD/UserCase 文档,上线前流水线强制校验。

  2. 上下文工程化:打造了大量内部 Skills。其设计原则是“渐进式披露”——平时只注入 Skill 名称和简介,需要时才展开完整知识文档和执行脚本,完美平衡了功能丰富度与上下文窗口限制。

  3. 知识沉淀:把所有组件的文档、最佳实践、开发规范都用结构化的 Markdown 文件 管理起来,使其成为 AI 的原生记忆。这不仅让AI写出符合规范的高质量代码,也使新人上手速度大幅提升。

  4. 流水线融合:我们将AI能力与CI/CD流水线深度融合,在PR创建前自动进行“AI Code Review”,检查代码规范、圈复杂度,并尝试生成单元测试,将质量卡口前移。


五、 NLP 与深度学习基础

14. LSTM 如何缓解梯度消失/爆炸问题?它比 RNN 擅长长距离依赖的原因是什么?

最优回答

  • 梯度消失/爆炸的缓解:LSTM 的核心是门控机制细胞状态(Cell State)。细胞状态是一条贯穿时间的高速公路,梯度可以在其上相对无损地流动,缓解了连乘导致的指数级衰减或增长。三个门通过 Sigmoid 函数输出 0-1 之间的值,控制信息的选择性通过,起到“梯度阀门”的作用。

  • 长距离依赖的优势:普通 RNN 在每个时间步都会用当前输入和上一隐状态做一次全量计算,导致远期信息极易被近期输入“覆盖”。而 LSTM 的遗忘门可以选择性地“记住”重要的早期特征,遗忘无关的细节,从而让关键信息得以在细胞状态中长距离传递。这种有选择的读写机制,是它捕获长距离依赖的关键。

15. 什么是困惑度(Perplexity)?它是越低越好吗?

最优回答

  • 定义:困惑度是衡量语言模型预测能力的一个指标,可以理解为模型在预测下一个词时的“平均分支因子”。具体来说,它是语言模型给出的测试集上所有词的交叉熵的指数形式

  • 解释:PPL 越低,意味着模型对测试数据的概率建模越自信,不确定性越小,通常泛化能力越好。

  • 使用场景与局限:PPL 适用于评估预训练基座模型的语言流畅度。但它绝不是一个任务导向的万能指标。对于特定的下游任务,更应关注 Accuracy、F1、BLEU、ROUGE 以及人类评估。一个 PPL 很低的模型,也可能在实际对话中产生大量废话或事实性错误。

16. 如何处理 OOV(Out of Vocabulary)问题?

最优回答
在现代 NLP 中,这个问题已经从模型设计层面被根本性地解决了。

  • 传统方法(Word-Level 分词):遇到未登录词只能标记为 <UNK>,导致信息丢失。

  • 现代解决方案(Subword 分词):当前所有主流大模型都采用 BPE(Byte-Pair Encoding) 或 WordPiece 算法。它们将单词拆分为更小的、高频的子词单元,甚至字节。这意味着任何词汇,包括完全新创的词,都可以用已知的子词组合来表示,彻底消灭了 OOV 概念。这是 Transformer 模型成功的一大基石。


六、 综合与软技能

17. 领导安排一个项目,你有更好的方案但会增加工时,你会怎么处理?

最优回答
用数据说话,看长期 ROI。

  1. 量化分析:我会快速把两种方案的投入(增加多少工时)和产出(对性能、可维护性、可扩展性的长期价值) 做成表格,用数据而非感觉对比。

  2. 风险与终局判断:如果我的方案能解决一个核心架构风险,或对系统终局形态至关重要,我会“据理力争”,因为这关系到团队的长期效率,不能为了短期工时而牺牲未来。

  3. 优先级对齐:如果改进不是核心路径,但确实有益,我会把它排入下一阶段的规划,在当前版本优先交付领导最关心的核心需求。

  4. 原则底线:如果原方案会将开发成本转嫁给用户,造成糟糕的用户体验,我绝不会妥协。技术人的职责之一就是坚守用户体验底线。

18. 你对未来企业 AI 落地有什么看法?最大的卡点是什么?

最优回答

  • 看法:当前企业 AI 正处于“降本增效-内部赋能”到“商业闭环-外部服务”的过渡期。未来的组织会演变成“人类决策+AI 执行”的超级个体或小团队模式,AI Native 的基建将是小而美的、可快速组装替换的微内核架构。

  • 卡点

    1. 基建缺位:缺乏全链路的可观测性、评估体系和数据飞轮,导致 AI 应用如同“黑盒”,效果不可控,优化无方向。

    2. AI Native 人才错位:需要的是能“端到端”负责一个业务板块的复合型人才,而不是螺丝钉式的传统岗位分工。

    3. 商业落地的严苛性:内部应用可容忍 99% 的准确率,但面向 C 端用户时,1% 的差错就可能导致口碑崩塌和商业失败,这对稳定性、安全合规提出了质的飞跃要求。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐