第 9 期:Skill 3 — Knowledge Agent(知识库代理)

⏱ 预计阅读 8 分钟 更新于 2026/5/7
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)

本期场景:博客项目开发了 3 个月,产生了 500+ 条 Observations。你想问 Claude 关于认证系统的所有细节,但 search 返回的结果散乱在不同会话中。你需要一种方式把"认证"相关的记忆打包成一个专题知识库。


9.1 为什么需要 Knowledge Agent?

随着项目规模增长,Memory Search 会遇到瓶颈:

项目阶段 Observations 数 search 效果
第 1 周 ~50 ✅ 精准
第 1 个月 ~200 🟡 还行,偶尔噪声
第 3 个月 ~500+ ❌ 搜索结果太散,难以拼出完整画面

问题的本质:search 每次只返回一堆离散的 Observations,它们之间缺少"连贯的叙事脉络"。

Knowledge Agent 的解决方案:把一组相关的 Observations 预先筛选、整理成一个 Corpus(知识胶囊),之后直接向这个胶囊提问。


9.2 三个核心操作

操作 1:build_corpus — 构建知识胶囊

从历史 Observations 中筛选相关记录,构建一个可查询的知识体。

build_corpus(
  corpus_name: "auth_system",       // 胶囊名称(小写蛇形,必填)
  query_tags: ["认证", "JWT", "登录", "OAuth"]  // 筛选标签(必填)
)

内部过程

graph TD
    A["build_corpus('auth_system')"] --> B["在 500+ Observations 中搜索"]
    B --> C["匹配 '认证'/'JWT'/'登录'/'OAuth'
相关的记录"] C --> D["筛选出 ~35 条相关 Observations"] D --> E["整理成连贯的知识体"] E --> F["存入 corpus: auth_system"] style A fill:#6366f1,color:#fff style F fill:#10b981,color:#fff

结果:从 500+ 条记忆中,提炼出与认证相关的 ~35 条,形成一个聚焦的知识胶囊。

操作 2:prime_corpus — 激活知识胶囊

在当前会话中加载某个 corpus,让 Claude 拥有这个专题的完整上下文。

prime_corpus(
  corpus_name: "auth_system"  // 要激活的胶囊名称
)

效果:Claude 的上下文中被注入了 auth_system 的所有浓缩知识。接下来你问的任何关于认证的问题,Claude 都能给出基于真实历史的精准回答。

操作 3:query_corpus — 向知识胶囊提问

query_corpus(
  corpus_name: "auth_system",
  question: "我们的 JWT token 有效期设置的是多久?刷新逻辑是怎样的?"
)

返回:基于 corpus 中实际 Observations 的精准回答,而非 Claude 的泛泛而谈。


9.3 实战演示:博客项目的知识胶囊体系

随着博客项目的成长,你可以为不同模块构建专题 corpus:

graph TB
    subgraph "博客项目记忆库 (500+ Observations)"
        ALL["全部 Observations"]
    end

    subgraph "专题 Corpus"
        C1["auth_system
~35 条"] C2["database_design
~28 条"] C3["frontend_ui
~45 条"] C4["deployment
~20 条"] end ALL -->|"build_corpus
tags: 认证,JWT"| C1 ALL -->|"build_corpus
tags: Prisma,Schema"| C2 ALL -->|"build_corpus
tags: React,组件"| C3 ALL -->|"build_corpus
tags: 部署,CI/CD"| C4 style ALL fill:#94a3b8,color:#000 style C1 fill:#6366f1,color:#fff style C2 fill:#10b981,color:#fff style C3 fill:#f59e0b,color:#000 style C4 fill:#ef4444,color:#fff

使用示例

# 场景:新来的同事问你认证系统是怎么设计的
你:激活 auth_system 知识库,然后告诉我我们的认证流程是怎样的

Claude(内部):
  1. prime_corpus("auth_system")  → 加载 35 条相关记忆
  2. 综合分析所有 Observations
  3. 生成连贯的回答

Claude(回答):
  你们的认证系统基于 JWT,包含以下流程:
  1. 用户登录 → 调用 /api/auth/login → 返回 access_token (7天) + refresh_token (30天)
  2. 前端在每次请求时附带 access_token
  3. token 过期时自动调用 /api/auth/refresh 获取新 token
  4. 退出登录时将 refresh_token 加入黑名单
  (以上基于 Observation #23, #45, #67, #89)

9.4 Corpus 命名规范

✅ 正确 ❌ 错误
auth_system Auth System(不要大写和空格)
database_design 数据库设计(不要中文)
blog_frontend blog-frontend(用下划线不用连字符)

规则:小写字母 + 下划线(snake_case)。


9.5 何时用 search vs Knowledge Agent?

场景 推荐工具 原因
找一个特定的 Bug 修复记录 search 目标明确,搜索一下就行
理解某个模块的整体设计 Knowledge Agent 需要综合多条记录
回答"为什么这样设计"的问题 Knowledge Agent 需要因果链和完整上下文
快速查找某次操作的细节 search + get_observations 精准定位
向新同事解释某个子系统 Knowledge Agent 需要连贯叙述

实操练习

  1. 确保博客项目有足够多的会话记录(建议 5+ 个会话)
  2. 构建你的第一个 corpus:
    "帮我构建一个关于数据库设计的知识库,标签包括 Prisma、Schema、数据库、模型"
    
  3. 激活并提问:
    "我们的数据库有哪些表?表之前的关系是什么?"
    
  4. 对比直接 search 和通过 corpus 问答的结果质量

下期预告

有了记忆搜索、代码探索和知识库,Claude 已经能"记住过去"和"看懂代码"了。下一期我们学习如何让它"规划未来" —— Make Plan + Do 的计划与执行引擎。

➡️ 第 10 期:Skill 4 & 5 — Make Plan + Do 计划与执行