1.1 问题背景与面试切入面试官高频开场你做过 Agent 吗Demo 和生产级 Agent 的核心差距是什么答题框架5 句话Demo 关心 happy path生产关心异常路径生产级 P-P-A-O-R 完整循环 持久化状态 沙箱 审计关键能力可恢复、可降级、可审计、可治理参考 Anthropic 2026 内部数据Claude Code 多 Agent 架构比单 Agent 性能高 90%但 token 多 15x工业界主流Plan-and-Execute Reflexion 状态机约束1.2 2026 年 Agent 范式演进最新图景范式提出核心思想适用局限ReActYao 2022Thought-Action-Observation 交替通用工具调用易循环、无规划Plan-and-Execute2023Planner Executor 分离复杂多步规划僵化ReflexionShinn 2023失败后反思重试迭代任务反思可能也错ToT2023树形探索数学/博弈成本高LATS2023ToT MCTS复杂决策计算成本极高Plan-and-Execute Reflexion2024-2026 主流动态规划 失败反思 工具重试生产级通用工程复杂Multi-Agent Orchestrator2026 主流Lead Agent 调度 Sub-Agent复杂业务token 成本 15xAgent Skill (progressive disclosure)Anthropic 2026 推广Agent 按需加载 Skill 工具企业级Skill 治理2026 年关键引用Anthropic 2026-01 工程实践90% 任务在 L1 单 Agent 完成但 10% 复杂任务需多 Agent多 Agent token 多 15x但任务完成率提升 90%因此2026 工业界默认架构 L1 单 Agent 显式升级到多 Agent1.3 P-P-A-O-R 核心循环面试必背Perception → Planning → Action → Observation → Reflection ↑ │ └──────────────────────────────────────────────────┘工程约束面试常追问最大循环次数默认 25硬上限防止恶意 Prompt 致无限循环单步超时单 LLM 调用 30s单工具调用 60s总预算Token 预算 时间预算 步骤预算循环检测相同 State 出现 ≥3 次强制终止Anthropic 2026-04 经验值Claude Code 平均任务 8-12 轮循环90% 任务在 15 轮内完成超 25 轮几乎都是 Prompt 漏洞1.4 主流 Agent 框架对比2026 年 7 月终极版框架厂商最新版范式流式多 AgentMCPA2A适用面试高频LangChainLangChain0.3.xReAct弱弱✓✗通用入门LangGraphLangChain1.2.72026-06-30状态图强强✓1.0复杂工作流★★★★★LlamaIndexLlamaIndex0.12.xReAct中中✓✗RAG★★★AG2AutoGen社区Microsoft 原0.9.8对话中强社区实验Multi-Agent★★★CrewAICrewAI1.15.12026-06-27角色Process中强✓✓团队协作★★★★OpenAI Agents SDK (Python)OpenAI0.17.72026-06-24Handoff强强✓✗通用沙箱★★★★★OpenAI Agents SDK (JS)OpenAI0.11.42026-05-12Handoff强强✓✗Node 生态★★★★Anthropic Agent SDKAnthropic1.x内置 Claude内置 Sub-agent强强✓✗Coding★★★★Microsoft Agent Framework (MAF)Microsoft1.0 GA替代 SK多 Agent 编排强强✓✓.NET/Azure★★★★Pydantic AIPydantic0.5.x类型驱动强中✓✗Python 生态★★★Google ADKGoogle2.2.0 GA2026-06-18A2A 优先强强✓✓ 原生Google Cloud★★★★OpenAgents社区0.6.x网络协议强强原生原生互操作★★Claude CodeAnthropicv2.1.1932026-06-26Dynamic Workflow强强嵌套5层✓✓代码编排★★★★★MJ Nexus OS 自研MJ Nexusv0.5.0P-P-A-O-R强强兼容原生桌面★★★★★关键框架生态变化Semantic Kernel → MAFPyPI 已明确宣布 SK 被 Microsoft Agent FrameworkMAF1.0 取代新项目应直接选 MAFGoogle ADK 2.0 GA6 月 18 日从 1.33.0 跃升至 2.2.0确立为 Google Cloud 生产级默认选择OpenAI Agents SDK SandboxAgent0.14.0 引入沙箱内执行文件操作和命令0.17.x 加入 SandboxManifest 安全边界Claude Code v2.1.193Dynamic Workflows 可编排数百个子 Agent/cd 切换工作目录嵌套子 Agent 最多 5 层fallbackModel 支持 3 个备选模型1.5 面试高频追问与答题模板Q1.1ReAct、Plan-and-Execute、Reflexion 的区别ReAct边想边做适合探索型Plan-and-Execute先想后做适合确定性多步Reflexion失败后反思适合易错任务生产级Plan-Execute 做骨架 Reflexion 兜底 ReAct 填细节Q1.2生产级 Agent 如何防止死循环硬上限max_iterations、timeout循环检测state hash 相同 N 次成本熔断token 超阈值外部观察者Trace 平台告警Q1.3LLM Router 如何选模型任务分类 → 规则路由简单/复杂/代码/视觉成本敏感度 → 便宜模型优先性能关键 → 强模型兜底实际做法意图分类器 模型池 实时反馈Q1.4Agent 与 Copilot 的本质区别Copilot辅助人类决策AI 提议、人确认Agent自主执行AI 决策执行反馈工业界 2026 趋势Copilot 2.0 弱 Agent保留人类确认环节Q1.5PM 题你如何衡量 Agent 的智能任务成功率Task Success Rate平均完成任务轮数Avg Steps单任务成本Cost per Task人类干预率Human Intervention Rate用户满意度CSAT / 点赞率工具调用准确率Tool Call Accuracy---------------------------------------------------------------------------------------------------------------------------------2. Agent 状态机与工作流引擎2.1 三种执行模型面试必问模型灵活性可控性可恢复可审计适用自由循环Free Loop极高极低难难Demo状态机FSM中高易易客服、审批DAG 工作流中高易易数据处理状态机 LLM 节点高高易易生产级主流2026 主流选择状态机骨架 LLM 节点决策转移参考 LangGraph 范式。2.2 任务定义DAG / State Machine# LangGraph 示例2026 主流范式 from langgraph.graph import StateGraph, END from typing import TypedDict, Annotated import operator ​ class AgentState(TypedDict): messages: Annotated[list, operator.add] plan: list[str] current_step: int tool_results: dict retry_count: int ​ # 节点纯函数 def planner(state): ... def executor(state): ... def reflector(state): ... ​ # 图 workflow StateGraph(AgentState) workflow.add_node(plan, planner) workflow.add_node(execute, executor) workflow.add_node(reflect, reflector) workflow.add_conditional_edges( execute, lambda s: reflect if needs_retry(s) else END, ) workflow.add_edge(plan, execute) workflow.add_edge(reflect, plan) text ​ ### 2.3 持久化 Checkpoint生产级必备 ​ **Anthropic 2026 推荐**所有 Agent 状态必须可 Checkpoint支持 **time-travel debugging**。 ​ python # LangGraph 内置 Checkpoint from langgraph.checkpoint.postgres import PostgresSaver checkpointer PostgresSaver(conn_string...) graph workflow.compile(checkpointercheckpointer) ​ # 恢复 config {configurable: {thread_id: user_123_session_456}} graph.invoke({messages: [...]}, configconfig)2.4 故障恢复机制故障恢复策略LLM API 抖动重试 指数退避3 次LLM API 不可用切换备用模型工具超时重试 切换备用工具Checkpoint 写入失败WAL 日志 异步持久化Worker 崩溃K8s 自动拉起 从 Checkpoint 恢复用户主动中断cancel() 协作中断 保存进度2.5 确定性 Replay高级题Q2.1Agent 调试为什么难怎么解决答非确定性 多步依赖 工具副作用解决固定随机种子 Mock 工具 Trace 完整记录 Replay 模式Q2.2什么是 HITL怎么实现Human-in-the-Loop关键决策点插入人工确认实现状态机设置等待人类节点UI 推送 Webhook 回写适用删除、转账、发送邮件等高风险操作3. 长对话上下文管理与压缩3.1 三层危机面试必背危机现象数据Cost Crisis长对话 Token 成本飙升200K token 上下文成本 $1/次Latency Crisis上下文越长推理越慢4K → 200K延迟 1s → 5-10sLost-in-Middle Crisis中间信息被忽略32K 时70% 中间信息被丢失引用Liu et al. 2023 Lost in the Middle3.2 主流压缩策略对比策略压缩率信息保留适用滑动窗口1:1保留最近 N 轮通用摘要压缩10:1语义保留长对话抽取式压缩5:1关键事实结构化对话分段压缩8:1主题分段多主题对话分层上下文15:1系统用户任务历史生产级主流3.3 分层上下文2026 主流┌──────────────────────┐ │ Layer 1: System │ 角色定义、规则、输出格式不变 ├──────────────────────┤ │ Layer 2: User Profile│ 用户偏好、历史画像慢变 ├──────────────────────┤ │ Layer 3: Task State │ 当前任务进度、变量快变 ├──────────────────────┤ │ Layer 4: Recent Dialog│ 最近 N 轮对话滑动窗口 ├──────────────────────┤ │ Layer 5: Memory │ 检索召回的相关记忆按需 └──────────────────────┘Anthropic 缓存优化将不常变化的 Layer 1-2 启用 Prompt Caching可节省 90% 成本。3.4 长程依赖保持关键事实外提将用户是产品经理等关键事实存入 Layer 2实体引用表维护 (实体, 最新值) 表Prompt 中只插引用Context Summary每 N 轮生成对话摘要放在 Layer 4 头部4. Agent 流式响应与中断控制4.1 流式协议对比协议方向优势劣势适用SSE服务器→客户端简单、HTTP 友好单向Chat UIWebSocket双向全双工协议重协作场景gRPC Stream双向高性能复杂内部服务HTTP/2 Stream双向现代浏览器支持混合2026 主流SSE前端 gRPC后端内部。4.2 流式数据结构Anthropic 规范// event stream data: {type:message_start,message:{...}} data: {type:content_block_start,index:0,content_block:{type:text,text:}} data: {type:content_block_delta,index:0,delta:{type:text_delta,text:Hello}} data: {type:content_block_delta,index:0,delta:{type:text_delta,text: world}} data: {type:content_block_stop,index:0} data: {type:message_delta,delta:{stop_reason:end_turn}} data: {type:message_stop} data: [DONE] text ​ ### 4.3 中断机制 ​ | 中断类型 | 实现 | 协议 | |---|---|---| | **用户主动中断** | 前端发送 cancel_event | WebSocket 控制帧 | | **系统超时** | 服务端 timeout | gRPC deadline | | **优雅中断** | 协作式检查 ctx.is_cancelled() | 应用层 | | **强制中断** | 断开连接 | 传输层 | | **Kill Switch** | 全局标志位 | 共享状态 | ​ ### 4.4 用户打断Barge-in ​ **语音 Agent 关键能力** - 用户在 Agent 说话时打断 - Agent 立即停止 TTS 保留已生成内容 - 切换到 ASR 接收新输入 ​ **实现**VAD语音活动检测 流式 ASR cancel token。 ​ ### 4.5 面试高频追问 ​ **Q4.1为什么用 SSE 不用 WebSocket** - SSEHTTP 友好、自动重连、简单 - WebSocket双向但复杂、需要独立服务 - 大多数 Chat 场景单向够用SSE 是首选 ​ **Q4.2流式中如何实现边生成边工具调用** - Anthropic APItool_use 块在 content_block 中 - 前端收到 tool_use 时暂停渲染 → 调用工具 → 注入结果 - OpenAI 同理tool_calls 字段 ​ **Q4.3流式中断后如何保证前端不丢消息** - 每个 delta 携带 sequence_id - 客户端记录已接收的最大 sequence - 中断后重连从 sequence1 续传 - Anthropic prompt caching 可减少重连成本 ​