你已经学了7个独立概念:agent、tool、memory、skill、MCP、hook、planning。这一章把它们串成一张图,让你看清楚这些部件在一个真实系统里是怎么组合在一起的。

一个完整的agent系统 = 推理核心 + 工具层 + 记忆层 + 技能层 + 编排层,每层解决不同的能力问题。

┌─────────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ 用户输入 ←───────────→ agent输出 │
└─────────────────────────┬───────────────────────────────────┘

┌─────────────────────────▼───────────────────────────────────┐
│ 编排层(Orchestration) │
│ Plan Mode │ Multi-agent │ 任务分解 │ 并行执行 │
└──────┬────────────────────────────────────────┬─────────────┘
│ │
┌──────▼──────┐ ┌────────────▼────────────┐
推理核心 │ │ 技能层(Skills) │
│ (LLM) │◄──── 技能注入 ────│ CLAUDE.md │ Skill文件 │
│ │ │ 触发 → 加载 → 执行 │
└──────┬──────┘ └─────────────────────────┘

┌──────▼──────────────────────────────────────────────────────┐
│ 工具层(Tools) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 读写文件 │ │ 执行命令 │ │ 搜索 │ │ MCP工具 │ │
│ └──────────┘ └──────────┘ └──────────┘ └────┬─────┘ │
│ │ │
│ [PreToolUse Hook] ─ 工具执行 ─ [PostToolUse Hook] │
└──────────────────────────────────────────────────┼─────────┘

┌──────────────────────────────────────────────────▼─────────┐
│ MCP服务层 │
│ GitHub Server │ 文件系统Server │ 数据库Server │ ... │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ 记忆层(Memory) │
│ │
│ 对话上下文 │ 外部文件(MEMORY.md)│ 向量库 │ 程序性记忆 │
│ (短期) (跨会话) (语义) (规则/技能) │
└─────────────────────────────────────────────────────────────┘
各层解决的根本问题

层次

没有这层会怎样

有了这层能做什么

推理核心

什么都做不了

理解目标,决定下一步

工具层

只能说,不能做

真正操作文件、代码、外部服务

记忆层

每次对话从零开始

跨会话保持知识和状态

技能层

每次重新思考流程

快速调用预定义的最佳实践

MCP层

工具难以扩展

无缝接入任意外部服务

Hooks层

工具无法被监管

自动化质量控制和安全检查

编排层

复杂任务无法拆解

并行执行、分工协作

如果只保留必要的层,最简单的agent长这样:

用户输入

LLM(推理核心)

1个工具(如:read_file或write_file)

循环检查:任务完成了吗?

输出结果

这已经是一个真正的agent。其他层都是为了解决规模化和可靠性问题加进去的。

到这里,你已经具备了继续深入学习的基础

误解

真相

每个系统都实现了所有层

不同系统侧重不同的层,这是设计选择

层次越多越好

层次越多,复杂度和维护成本越高

架构图是固定的

真实系统的层次会随需求演化

画出你理想中的个人agent系统:

  1. 1 你需要哪些层?
  2. 2 每层里你最想要什么具体能力?
  3. 3 哪层是你现在最迫切需要的?
打开网易新闻 查看精彩图片