🧠 图解记忆:Agent 管决策,工具管确定性动作,数据层管事实,Harness 负责约束与验证;点击图片可查看原图。
> 2026 年面试高频架构题:面试官拿"你做的 AI 项目架构分几层、为什么这么分"来考察系统思维。社区流行的说法是"四层架构",但这是经验总结、不是官方标准——能给出分层、还能说清每层什么时候可以砍,才是高分回答。💡 答案要点
先纠偏两个常见误区:
- 四层架构是工程经验分层,不是官方标准,也没有唯一答案;面试重点是"职责划分清晰 + 能说明取舍"。
- 常说的"SQL 层"实际是数据层——SQL 只是其中一种存储。结构化数据用 SQL、非结构化知识用向量库、日志/文档用对象存储,别把数据层窄化成 SQL。
四层职责:
┌─────────────────────────────────────────────────────┐
│ Agent 层(决策调度) │
│ 意图理解、任务规划、工具选择、多步执行、结果组装 │
├─────────────────────────────────────────────────────┤
│ 工具层(能力接入) │
│ MCP/Function Calling:统一协议连接外部能力 │
│ 查库、发消息、调第三方 API、执行计算 │
├─────────────────────────────────────────────────────┤
│ 数据层(知识/事实供给) │
│ SQL(结构化业务数据)+ 向量库(非结构化知识) │
│ + 缓存/对象存储,配合 RAG 管道 │
├─────────────────────────────────────────────────────┤
│ Harness 层(横切:安全 + 评测) │
│ 权限管控、沙箱隔离、审计日志、评测集、灰度回归 │
└─────────────────────────────────────────────────────┘一次完整请求的协同时序:
1. 用户请求 → Agent 层:意图识别、拆解任务
2. Agent 决定调工具 → 经 Harness 校验(白名单 + 权限 + 沙箱)
3. 工具层执行:数据层读知识(RAG 检索)/ 读业务数据(SQL)/ 调外部 API
4. 结果回填上下文 → Agent 继续规划或组装回复
5. 全程结构化日志 → Harness 评测/审计,线上反馈回流评测集选型:什么时候砍层(MVP 思路,面试加分项):
| 场景 | 可以砍掉/简化的层 | 理由 |
|---|---|---|
| 单场景 POC | Harness 简化为日志 + 手工回归 | 没有多用户/多工具,安全面小 |
| 直连少量工具 | MCP 简化为 Function Calling | 工具 < 5 个、单模型,标准化收益不明显 |
| 纯知识问答 | 工具层可后置 | 先 RAG 跑通,再补工具调用 |
| 纯流程执行 | 数据层简化为 SQL 直查 | 不需要向量检索 |
反向逻辑(什么时候必须四层齐全):
工具数多(>10)→ MCP 统一接入,否则每个工具一套适配代码
多模型/多应用共享工具 → MCP,一次实现多处复用
Agent 有写操作/外发能力 → Harness 必须上:权限 + 人审 + 审计
知识 + 业务数据混合 → 数据层拆两层:向量库 + SQL 各司其职面试话术:
"我把 AI 应用拆成四层:Agent 层做决策调度,工具层用 MCP 统一接外部能力,数据层按数据形态分 SQL 和向量库,Harness 是横切层管安全沙箱和评测。但四层不是标配,是经验分层——MVP 我会按风险砍层:单场景先不做 Harness,工具少就先 Function Calling,等工具多了再迁 MCP。什么时候必须四层齐全:工具多、有写操作、多租户,那安全和标准化一个都不能少。"
内容治理: 2026-08-14 | 新增 Q9 四层架构协同题;架构为经验分层而非官方标准,避免教条化
