面试 · 方案设计型
考察目标:系统性设计能力,把零散知识串成完整方案 约 8 题,覆盖 AI Agent 工程典型设计场景 说明:每题分「题干」(标题)与「参考答案」两段。Confused Deputy 防护、预算分级、技能供应链等通用模块统一引用其规范条目(见 3-原理 Q11 / 4-场景 Q6 / 6-岗位分支 Q6),不逐题重复。
Q1:设计企业知识库 Agent#
参考答案
核心模块:
text
[文档接入] → [解析+Chunking] → [Embedding+Vector DB]
↓
[用户提问] → [Query Rewrite] → [Hybrid Search] → [Rerank]
↓
[权限过滤] ← [Context Filter] ← [Top-k 截断]
↓
[Prompt 拼装] → [LLM 生成] → [引用溯源] → [RAG Eval]关键设计点:
- 文档解析:Marker/Docling 处理 PDF,保留结构;按 heading 切分
- Embedding:BGE-M3 / Qwen3-Embedding,中文友好
- Vector DB:Milvus(千万级)或 pgvector(中小规模)
- Hybrid Search:向量 + BM25 + RRF 融合
- Rerank:BGE-Reranker-v2-m3
- 权限感知检索:metadata filter 按用户权限过滤(部门/级别/项目组),检索时就过滤而非召回后过滤
- 引用溯源:每个事实陈述后附 [cite_id],并在 system prompt 强制"基于证据作答、不足即拒答"(忠实度不靠调 temperature,见 4-场景 Q2)
- RAG Eval:Ragas 评 faithfulness / context_precision / answer_relevancy
业务接入:飞书/企微/钉钉 IM 渠道,异步任务模式(长任务不阻塞)
准确率提升路径:Query Rewrite(HyDE/Multi-Query)→ Rerank → 引用强制 → Eval 回归
Q2:设计 MCP 工具平台#
参考答案
核心架构:
text
[MCP Server Registry] ← 注册/发现/版本管理
↓
[权限/审计/限流层]
↓
[MCP Server Pool] ← 多个 Server 并行
↓
[MCP Client] ← Agent 侧
↓
[工具调用] → [结果回灌]关键设计点:
- 工具标准化:MCP 协议,统一 schema;支持 Client 端原语(Sampling/Roots/Elicitation,见 1-概念 Q5)
- 注册/发现:Server 注册到 Registry,Agent 通过 Registry 发现工具
- 权限:5 级权限分级(公开读 → 不可逆),Human Approval 流程
- 审计:所有调用记 who/when/what/result
- 限流:按 user/tenant/tool 维度限流
- 失败回滚:工具事务(多工具组合的原子性)+ compensating action(Saga,见 6-岗位分支 Q5)
- 防恶意 Server(Confused Deputy):平台侧落地要点——每任务 scoped token + 按请求者身份鉴权 + 严禁 token 透传上游(校验 audience + PKCE);完整定义、危害放大与防护清单见 3-原理 Q11,此处不重复。
Q3:设计 Coding Agent Runtime#
参考答案
核心模块:
text
[Repo Context] → [任务理解] → [Plan]
↓
[File Edit] ← [Agent Loop] ← [Tool Calling]
↓ ↑
[Test Loop] → [失败?] → [改代码] → [再测试]
↓ (成功)
[Diff Review] → [Hooks 拦截] → [人工 Review]
↓
[Merge]关键设计点:
- Repo Context:选择性读文件,不全塞上下文(embedding 检索相关代码,Context 工程见 3-原理 Q12)
- Worktree 隔离:每个任务独立 worktree,不影响主仓库(Claude Code / Codex 均支持)
- Shell 权限:分级(read-only / 写入 / 部署),沙箱执行
- Test Loop:改完必跑测试,失败分析后改代码再跑
- Diff Review:自动 review(lint/security scan)+ 人工 review
- Hooks:PreToolUse 阻止删生产代码、PostToolUse 自动审计
- 长任务恢复:Checkpoint + Resume,断点继续
- 预算治理:Step/Token/Cost Budget(分级阈值见 4-场景 Q6)
Q4:设计 Office Agent(WorkBuddy 类)#
参考答案
核心模块:
text
[任务接收] → [任务拆解] → [并行子任务]
↓
[数据分析/报告生成/表格处理/图像生成]
↓
[交付物汇总] → [人工确认] → [输出]关键设计点:
- 办公任务拆解:复杂任务拆成子任务("做 Q3 营收分析报告" → 拉数据 + 做图表 + 写结论)
- 并行子任务:multi-agent 并行(数据 Agent + 图表 Agent + 文字 Agent),只在子任务真正独立时才上多 Agent(取舍见 3-原理 Q4)
- 交付物生成:报告(Markdown/PDF)、表格(Excel)、图像(图表/截图)
- IM 渠道:飞书/企微/钉钉,卡片式推送结果
- 人工确认:关键交付物(如对外报告)需人工审批
- 交付物质量评估:自动 eval(数据准确性、报告完整性、格式规范)
Q5:设计 Personal Agent(OpenClaw 类)#
参考答案
核心模块:
text
[本地 Runtime] ← [Channel Adapter]
↓
[Skills 系统] ← [ClawHub Marketplace]
↓
[设备权限] ← [浏览器/邮件/日历/文件接入]
↓
[长期记忆] ← [OAuth 凭证]关键设计点:
- 本地运行:守护进程,资源占用低,离线能力
- 邮件/日历/浏览器/文件接入:Channel Adapter 模式
- Skill 管理:触发条件、优先级、权限声明
- OAuth 安全:不存用户密码,存 token,最小化 scope
- ★ 防技能供应链攻击:来源审核(白名单)+ 静态扫描(隐藏脚本/依赖劫持)+ 沙箱试运行 + 回滚(供应链四件套详见 6-岗位分支 Q6)
- ★ 保护长期记忆:敏感字段(email/cc/账号)写入需人工确认 + 记忆审计 + 回滚(详见 6-岗位分支 Q6)
- 防 Confused Deputy:个人 Agent 场景落地要点——每任务 scoped 权限、按请求者校验、敏感操作二次确认;完整清单见 3-原理 Q11。特别注意:个人 Agent 的邮件/网页/文件都是间接注入入口(见 1-概念 Q11),注入 → 越权是主威胁。
Q6:设计 Agent 工作流平台#
参考答案
核心模块:
text
[Workflow Editor] ← 可视化/代码
↓
[Workflow Engine] ← 节点/边/条件/并行/循环
↓
[State Storage] ← Checkpoint/Resume
↓
[HITL] ← 审批/问答
↓
[Trace] ← 转 Dataset关键设计点:
- Workflow/Graph:节点(LLM/工具/条件/代码)+ 边(条件/并行/循环)
- 状态与边:状态机 + DAG + 带环图
- Human-in-the-loop:4 种模式(Approval/Q&A/Plan Review/Result Review)
- Checkpoint/Resume:关键节点存 checkpoint,断点恢复
- 版本化:workflow 有版本号,灰度发布(10% 流量新版)
- 执行 Trace:每步记录,转 dataset 做回归
- 多租户:tenant 隔离(数据/配额/凭证)
Q7:设计 Agent 评测与可观测平台#
参考答案
核心架构:
text
[Trace 收集] ← Run/Step/LLM·Tool Call
↓
[Trace Storage] ← 按 run_id/user_id/task_id 索引
↓
[Eval Engine] ← Task Success/Tool Success/Trajectory/Cost/Latency
↓
[Regression Dataset] ← 线上失败 → eval case
↓
[Benchmark Integration] ← τ-bench/SWE-bench/Terminal-Bench/GAIA/WebArena关键设计点:
- Trace Schema:Run → Step → LLM·Tool Call 三层结构
- 工具选择评估:标注 golden tool,算准确率
- 轨迹评估:LLM-as-a-Judge 评轨迹合理性
- LLM-as-a-Judge:用强模型评弱模型,多 judge 投票,人工校准——必须处理 position/verbosity/self-preference 偏差(偏差与校准方法见 3-原理 Q14)
- 回归集:线上失败 → 人工标注 golden → 发版前必跑
- ★ 基准谱系:对接 τ-bench(工具/客服)/ SWE-bench(编码)/ Terminal-Bench(终端)/ GAIA(通用)/ WebArena(浏览器)——各测什么维度、局限、为何不能互相替代见 1-概念 Q10;报 pass@1 + 环境版本,防过拟合
Q8:设计安全 Agent Runtime#
参考答案
核心模块:
text
[Input Guardrail] → [Agent Loop with Permission] → [Output Guardrail]
↓
[Tool Permission] ← [高风险识别] ← [Hooks 拦截]
↓
[Human Approval] → [Sandbox 执行] → [Audit Log]
↓
[Cost Limit] ← [Prompt Injection 防护] ← [Confused Deputy 防护]关键设计点:
- 高风险工具识别:5 级权限分级(公开读 → 不可逆)
- 权限最小化:每任务 scoped 权限,最小必需
- 人工审批:高风险操作(删除/转账/部署)必审批
- Prompt Injection 防护:分层防御——输入侧过滤 + system prompt 加固 + 数据/指令隔离 + 输出侧对高风险动作二次校验 + dual-LLM(隔离 LLM 无权限、特权 LLM 不见原文) + 权限约束 + 监控(直接/间接注入拆解与 dual-LLM 原理见 1-概念 Q11)
- ★ Confused Deputy 防护:凭证最小化委托 + 按请求者身份校验 + 审计每条调用 + 敏感操作二次确认 + 跨跳/跨会话再校验(规范清单见 3-原理 Q11)
- 沙箱:文件/网络/进程/资源/凭证隔离
- 成本·循环限制:Step/Token/Cost Budget(阈值见 4-场景 Q6),max_consecutive_same_tool
- 逐步审计:所有操作可追溯
- 防恶意 skill:来源审核 + 静态扫描 + 沙箱试运行 + 回滚(见 6-岗位分支 Q6)