Appearance
9. 分层智能体架构是什么?怎么设计?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔面试官:如果要做一个能完成复杂任务的 AI Agent,比如「帮我调研竞品并写一份分析报告」,单个 Agent 够用吗?
🙋♂️我:一个 Agent 给它足够多的工具,让它自己来就行了。
👔面试官:单 Agent 处理复杂任务时,上下文会变得很长(调用了几十次工具),LLM 的注意力会分散,容易在中途忘记目标或做出错误决策。这个问题你有考虑过吗?
单 Agent 处理复杂任务有上下文污染和注意力分散的问题,分层 Agent 是更好的方案。
💡 简要回答
分层智能体架构的核心思路:主 Agent(Orchestrator)负责任务拆解和协调,子 Agent 各自专注一个细分职责。每个 Agent 的上下文保持干净(只看到自己职责范围内的信息),避免单 Agent 上下文过长导致的注意力分散问题。
📝 详细解析
java
@Component
public class OrchestratorAgent {
private final ResearchAgent researchAgent; // 专门负责信息搜集
private final WritingAgent writingAgent; // 专门负责文本写作
private final ReviewAgent reviewAgent; // 专门负责质量审核
public String executeComplexTask(String task) {
// 1. 主 Agent 拆解任务(只做规划,不执行细节)
TaskPlan plan = llm.decompose(task);
// 2. 委托子 Agent 并行或串行执行
String research = researchAgent.research(plan.getResearchTask());
String draft = writingAgent.write(plan.getWritingTask(), research);
String result = reviewAgent.review(draft);
return result;
}
}为什么分层比单 Agent 好:
- 每个子 Agent 只看到自己任务的上下文(短而干净),LLM 注意力集中
- 子 Agent 可以并行执行(研究和写作在某些步骤可以并行)
- 某个子 Agent 失败时,只重试那个子任务,不用从头开始
- 子 Agent 可以有不同的 System Prompt(研究 Agent 更偏搜索,写作 Agent 更偏创作)
何时用分层 vs 单 Agent:简单任务(单轮工具调用、几步就能完成)用单 Agent 足够;复杂任务(多个阶段、需要多种专业能力、预期调用工具 10 次以上)才引入分层架构,避免过度设计。
🎯 面试总结
分层 Agent 的核心价值:隔离上下文,专注职责。单 Agent 处理复杂任务时「上下文污染」是核心问题,分层是解法。面试时说出「上下文污染会导致注意力分散」这个问题根因,再说出分层的好处,面试官会认为你真的思考过 Agent 工程的痛点。