第 9 期:Skill 3 — Knowledge Agent(知识库代理)
💡 进群学习加 wx: agentupdate
(申请发送: 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 |
需要连贯叙述 |
实操练习
- 确保博客项目有足够多的会话记录(建议 5+ 个会话)
- 构建你的第一个 corpus:
"帮我构建一个关于数据库设计的知识库,标签包括 Prisma、Schema、数据库、模型" - 激活并提问:
"我们的数据库有哪些表?表之前的关系是什么?" - 对比直接 search 和通过 corpus 问答的结果质量
下期预告
有了记忆搜索、代码探索和知识库,Claude 已经能"记住过去"和"看懂代码"了。下一期我们学习如何让它"规划未来" —— Make Plan + Do 的计划与执行引擎。