Ch12 Prompt工程修订于 二〇二六年七月六日

漏斗架构

一句话理解

漏斗架构是”摘要 → 全文”的两层信息加载策略:先读摘要(~200-500 tokens)决定是否需要全文,再按需加载完整内容。这个架构是 Context 工程和 Loop 工程的交汇点——Context 工程决定”给什么信息”,Loop 工程决定”何时加载更多信息”。

核心概念

为什么需要漏斗架构

AI Agent 在处理知识库时面临一个核心矛盾:

  • 信息完整性:需要获取足够的信息来做出正确决策
  • 上下文预算:上下文窗口有限,加载所有全文会超出预算

漏斗架构解决这个矛盾:通过摘要层提供”足够判断的信息”,只在必要时加载全文。

两层架构

┌─────────────────────────────────────────┐
│              索引层 (Index)               │
│  文件列表、目录结构、WikiLink 图谱          │
│  Token 消耗: ~100                        │
│  作用: 让 Agent 知道有哪些内容              │
├─────────────────────────────────────────┤
│              摘要层 (Summary)             │
│  每个文件/文件夹的摘要 (~200-500 tokens)    │
│  Token 消耗: ~200-500/文件                │
│  作用: 让 Agent 判断是否需要全文            │
├─────────────────────────────────────────┤
│              全文层 (Full Text)           │
│  完整的文件内容                             │
│  Token 消耗: ~2000-10000/文件             │
│  作用: 提供完整信息                         │
└─────────────────────────────────────────┘

摘要层设计原则

摘要应该包含什么:

内容说明示例
一句话概括文件/章节的核心主题“本章介绍 PEFT 的三种主要方法”
关键概念列表涉及的核心概念“LoRA, Adapter, Prefix Tuning”
适用场景什么情况下需要读全文“需要选择 PEFT 方法时阅读”
前置知识阅读前需要了解什么“需要先了解 Transformer 架构”
与其他内容的关联WikiLink 链接“详见 LoRA(Low-Rank Adaptation)”

摘要不应该包含什么:

  • 过于详细的实现细节(那是全文的责任)
  • 冗长的背景介绍(摘要不是全文的压缩版)
  • 模糊的概括(“本章讨论了一些重要话题”——这句话没有信息量)

全文层设计原则

  • 完整性:全文层包含所有必要的细节
  • 自包含:全文层不依赖摘要层的信息(摘要是全文的”预览”,不是”补充”)
  • 结构化:使用标题、表格、列表组织信息,便于 Agent 快速定位

漏斗架构和 Loop 循环的关系

漏斗架构不是一次性的”加载策略”,而是嵌入在 Loop 循环中的动态过程:

Perceive: Agent 感知到用户提问
    ↓
Think: Agent 推理需要哪些信息来回答
    ↓
Act: Agent 读取相关文件的摘要层(漏斗第一层)
    ↓
Observe: Agent 观察摘要内容,判断哪些文件需要全文
    ↓
Perceive: Agent 感知到"需要文件 A、C 的全文"
    ↓
Think: Agent 推理加载顺序(先文件 A 还是先文件 C)
    ↓
Act: Agent 加载文件 A 的全文(漏斗第二层)
    ↓
Observe: Agent 观察全文内容,判断是否足够回答
    ↓
... 循环继续,直到信息足够

关键点:漏斗架构不是”一次性加载所有摘要”——Agent 在 Loop 中逐步判断、逐步加载,避免一次性消耗过多上下文。

本 Vault 的漏斗架构实现

实现方式

  • 索引层:笔记/、深挖/、对比/ 文件夹结构
  • 摘要层:每个文件夹的 摘要.md
  • 全文层:具体的 .md 笔记文件
  • 导航机制:[[概念-WikiLink]] 链接网络

摘要.md 示例结构

# 笔记文件夹摘要

## 核心主题
- AI 工程核心概念

## 包含内容
- [[概念-MCP+A2A]] - MCP+A2A 双协议生态
- [[概念-FunctionCalling演化]] - Function Calling 演化
- ...

## 适用场景
- 需要理解 AI 工程的核心概念时
- 需要了解 Agent 通信协议时

工作流程

  1. Agent 收到用户问题,先读取相关文件夹的 摘要.md
  2. 根据摘要中的 WikiLink,判断哪些笔记与问题相关
  3. 加载相关笔记的全文
  4. 如果信息不足,回到步骤 1,搜索更多文件夹

和渐进式加载的关系

维度漏斗架构渐进式加载
定义信息分层的静态架构按需加载的动态策略
关系提供了”分什么层”决定了”何时加载哪层”
设计层面内容组织层面交互流程层面
核心问题每层应该包含什么信息什么时候加载更多信息

类比:漏斗架构是”图书馆的索引卡片系统”,渐进式加载是”读者如何查找和借阅图书的流程”。

什么时候不适合漏斗架构

场景问题替代方案
内容极其简短摘要和全文几乎一样长,摘要没有意义直接加载全文
高度关联的内容摘要无法有效表达内容间的关联使用知识图谱导航
实时对话用户需要即时回答,无法等待多层加载预加载+缓存
单一文件只有一个文件,不需要漏斗直接加载

漏斗架构的扩展:三层架构

在某些场景下,可以在摘要层和全文层之间增加一个”要点层 (Key Points)”:

层级Token 消耗内容
索引层~100文件列表
摘要层~200-500内容摘要
要点层~500-1000关键概念、数据、结论
全文层~2000-10000完整内容

要点层适合场景:需要快速获取关键数据但不需要完整上下文时。

相关笔记

来源

关联14

知识图谱

局部图谱 · 点节点跳转