Skip to content

9. 分层智能体架构是什么?怎么设计? ​

难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min

本题阅读地图 ​

  1. 💡 简要回答
  2. 📝 详细解析
  3. 🎯 面试总结

👔面试官:如果要做一个能完成复杂任务的 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 工程的痛点。


章节首页 · ← Q8 · Q10 →

最后更新2026-05-01
难度P1
频率medium
阅读5 min
主题agent / architecture
觉得有帮助?把这个链接转给正在求职的朋友 · 用 Ctrl + K 全站搜索其它题