公司动态

Agent 全栈开发面试问答

📅 2026/7/16 22:08:57
Agent 全栈开发面试问答
Agent 是什么、为什么需要 - Prompt / 推理模式 - Function Calling、Tool、MCP - Memory、RAG - Planning、ReAct、Workflow、多 Agent - LangChain / LangGraph / SK / .NET 落地 - 生产成本、安全、观测基础概念什么是 AI Agent和 LLM 聊天有什么区别别答「智能体」三个字。标准说法Agent 大脑LLM 推理规划 工具调用 记忆 行动闭环。聊天用户 → 模型 → 文本。Agent用户 → 模型 →要不要调工具→ 你的程序执行 → 结果塞回 → 继续推理 → 最终回答。查北京天气下雨就帮我叫车 Chat凭训练数据瞎编 AgentWeather API → 判断 → 叫车 API → 完成核心区别Agent 能 Act不只会 Chat。能联网、查库、调 API 靠的是你写的工具不是模型自带。GPT 很强了为什么还要 AgentLLM 天然做不到或做不好实时数据天气、库存、股价 私有数据公司内部库、工单 执行动作下单、发邮件、改配置 长期跨会话记忆除非你做 Memory 确定性流程审批、对账Agent 用Tool RAG Memory Workflow补这些洞。不是模型不够聪明是缺手和眼。Agent 核心组成有哪些面试可以画简图User → Prompt → LLM ↓ Memory / Planning / Reflection ↓ Tool Calling → DB / API / Browser / Code / MCP Server模块干什么LLM推理、生成、选工具Prompt角色、约束、输出格式Memory多轮历史、长期用户档案Planning拆步骤、ReAct、Plan-ExecuteTool查数据、执行操作Reflection结果不对时重试、改方案Workflow企业里固定节点 Agent 灵活节点Agent、Workflow、Copilot 怎么分谁定下一步场景Workflow开发者写死 DAG审批、OCR→ERP、确定性流水线Agent模型选工具/步骤开放问答、运维助手Copilot人主导IDE 补全、草稿建议生产常见Workflow 骨架 个别节点用 Agent。Prompt 与推理Prompt 为什么重要包括什么System Prompt 是产品逻辑角色、任务、约束、输出格式、示例。Agent 里还要写工具使用约定何时调、不许编造 tool 结果。结构常用Role → Task → Constraint → Output Format → Few-shot Example要版本管理别堆在 Controller 字符串里。Zero-shot、Few-shot、CoT、ReAct 分别是什么术语含义Zero-shot不给示例直接指令Few-shot给几个输入输出示例CoTChain of Thought让模型「一步步想」再答提高复杂推理ReActReason Act想 → 调工具 → 看结果 → 再想Agent 默认范式ToTTree of Thought多路径探索成本高研究多、生产少ReAct vs CoTCoT 只在脑子里推ReAct 中间会真调工具适合要查实时数据的任务。Temperature 生产怎么设调工具、抽 JSON、分类低温 0~0.3。创意文案可略高。别全局高温然后怪 tool 参数乱。Function Calling 与 ToolFunction Calling 流程谁执行1. 你注册 toolsname description JSON Schema 2. 用户提问 3. 模型返回 tool_calls要选哪个、参数是什么 4. 你的程序执行调 API/SQL 5. 把结果作为 tool 消息塞回 6. 模型生成最终自然语言回答LLM 不执行函数只生成「我要调谁、参数啥」。真正执行必须在你的进程里——这样才有权限控制、超时、审计。为什么不能让 GPT 自己执行代码/函数安全模型可能被 Prompt 注入直接执行等于 RCE。可控超时、幂等、鉴权、日志都在应用层。可靠失败要能结构化回传不能让模型猜结果。Function Calling 和 Tool Calling 有区别吗面试口径Function Calling 是 OpenAI 等 API 的协议名字Tool Calling 是泛称工具可以是 SQL、浏览器、Shell、MCP Server。本质都是「模型选能力 → 应用执行 → 结果回灌」。工具怎么设计Tool Registry 是什么一事一工具description 写清何时用 Schema 类型/必填/枚举写严 返回尽量短大 JSON 烧 token 幂等 服务端鉴权别信模型传的 userId 失败回传真实 error别只回「失败」Tool Registry启动时注册所有工具名称、Schema、委托模型只见统一列表新增工具只注册不改 Agent 主循环。MCPMCP 是什么为什么火Model Context Protocol统一暴露工具、资源、提示词的开放协议。面试一句话AI 世界的 USB-C——以前每个 Agent 各接一套 SDK现在MCP Client 连 MCP Server发现能力、调工具。MCP Client 和 Server 各干什么MCP Client宿主侧IDE、Agent 运行时、Copilot——发现、调用 MCP Server能力侧filesystem、GitHub、MySQL、Redis、浏览器…——暴露 Tool List和 Function Calling 关系FC 是单次对话里模型怎么表达调用MCP 是工具从哪来、怎么标准化连接。企业内部系统怎么接 MCP把现有 API/DB 封装成 MCP Server暴露有限工具集 鉴权Client 侧Agent只连受信任的 Server。别把整个生产库只读账号裸给模型。Memory短期记忆和长期记忆短期长期内容当前会话 messages、tool 结果用户偏好、历史摘要、向量记忆实现Session DB/Redis向量库、用户档案表问题context 超长检索不准、过期「我叫张三十分钟后问我叫啥」——靠Conversation Memory或结构化长期记忆不是模型权重记住。上下文窗口爆了怎么办滑动窗口裁旧轮、摘要压缩历史、折叠旧 tool 输出、RAG 只塞相关 chunk。要有Compaction策略并观测压掉了什么。RAGRAG 是什么为什么不微调检索增强生成Query → Embedding → 向量库 TopK → 片段 问题 → LLM。用外部知识回答减少胡编。RAG微调知识更新换文档重训实时数据不行要配合 Tool不行私有文档问答主战场贵、慢固定口吻/格式Prompt 凑合微调更好RAG 流程要答到哪一步文档 → Chunk大小重叠→ Embedding → 写入向量库 查询 → Embedding → TopK 召回 →可选 Rerank→ 拼进 Prompt → LLM追问Chunk 太大语义糊、太小缺上下文纯向量不够就混合 BM25Rerank 提高精度答案要引用来源降幻觉。Planning、ReAct、ReflectionReAct 流程Thought要想啥→ Action调工具→ Observation结果 → Thought → Action → … → Final Answer大部分 Agent 框架默认接近 ReAct。Plan-and-Execute先列计划1、2、3再逐步执行可重规划。适合步骤明确的任务计划错了要带检查点或人工确认。Reflection 是什么第一轮答案/SQL/代码不对把错误信息塞回去让模型重写直到成功或达上限。提高质量但多烧 token、多延迟。生产要限制重试次数。Workflow 与多 Agent企业为什么常提 AI Workflow企业不要纯聊天要OCR → LLM 抽取 → 写 ERP → 发邮件这种可审计、可重试的链。固定节点用 Workflow其中「理解用户意图」「选参数」某一环用 Agent。LangChain 和 LangGraph 区别LangChainLangGraph模型Chain偏线性图/状态机能力Prompt、Memory、Tool、Retriever循环、条件分支、Checkpoint、Human-in-the-Loop场景简单链复杂 Agent、要暂停/恢复今年面试LangGraph问得多因为生产 Agent 总要重试、分支、人审。什么时候 Multi-Agent工具太多单 Agent 选乱 → 按域拆检索/代码/审核 角色清晰 → Supervisor 派活AutoGen、CrewAI 高权限工具隔离 → 单独子 Agent优先单 Agent 好工具多 Agent 延迟和调试成本成倍涨。框架含 .NETLangChain 解决什么把 Prompt、Memory、Chain、Tool、Retriever、OutputParser 串起来省胶水代码。LCEL是声明式拼链。Python/JS 生态最大。Semantic KernelSK微软出品.NET 企业向Kernel、Plugin函数、Prompt Function、Planner、Memory、Agent、MCP 集成。适合 ASP.NET Core Azure OpenAI M365 场景。.NET 现在常见怎么叠Microsoft.Extensions.AI → IChatClient换 OpenAI/Azure/本地模型 Microsoft.Agents.AI → Agent、Session、Skills、Compaction Semantic Kernel → Plugin/Planner或与 Agents.AI 配合面试 .NET 岗能说Extensions.AI 抽象模型Agents.AI 管 Agent 循环和 Skills底层仍是 tool calling。AutoGen、CrewAI多 Agent 编排框架角色对话、Supervisor、Handoff。懂定位即可不必背 API。.NET 全栈落地高频追问ASP.NET Core 里 Agent 怎么接APIPOST /chat支持 SSE 流式 编排Run 入口Prepare Session → 调 Agent → 落库 DI注册 ChatClient、Agent、Tools/Skills 回调企微/钉钉验签 异步 Run防网关超时一次用户请求一个RunId串遥测和计费。流式输出要注意什么SSE 改善首字延迟网关/渠道常有30s 超时。长任务先 ACK后台 Run完成后推送。会话和 Tool 生命周期Session 绑ConversationId 历史或 OSS 指针Scoped 注册 Tool 服务Tool 内注入DbContext等同请求生命周期。并发消息要串行或锁 Session。Tool 失败、超时、权限、审计超时CancellationToken 限时回传 error 给模型 权限工具内校验用户身份不信模型参数 审计每次 tool 调用记 RunId、参数摘要、结果、耗时 敏感操作人工确认或二次校验生产与面试收尾线上 Agent 常见故障工具失败模型胡编、上下文截断丢信息、死循环调同一工具、Prompt 注入、token 成本失控。治理最大步数、工具白名单、预算熔断、评测集回归。怎么观测RunId、每步 token/耗时、每次 tool 名与成败、总成本。OpenTelemetry / LangSmith / 自研AgentRunAgentLlmCall表。Prompt 注入怎么防System 不可被用户覆盖敏感工具服务端鉴权高风险管理操作人工确认。别指望模型自觉。怎么评估 Agent任务成功率、工具调对率、幻觉率答案是否超出 tool/RAG 结果、P95 延迟、token 成本、安全用例。上线前黄金集上线后点踩闭环。和经典后端的关系Agent 全栈仍要API 幂等/限流、DB 会话表、Redis 锁、MQ 异步、回调验签。面试官常用「工具幂等」「回调超时」筛真假全栈。