都说接知识库就上 RAG,Claude Code 为什么偏没有向量库?
照着正篇造一个 SW-engineer agent,能跑之后第一件卡住的就是接知识库,我第一次一股脑塞进 skill 的 reference,结果 agent 读不完、也选不准。一句话立场:知识库不是「选 Skill 还是 RAG」,是按形态分层、各接各的。
先把术语翻成人话
知识库 :agent 脑子里没有、要用时去取的资料(规范、文档、代码、工单)
Skill :一份写给 agent 的「怎么做」说明书,要用时整篇读进来
RAG / 检索 :资料太多读不完,按语义只捞最相关的几段
MCP :把外部系统或检索包成 agent 能调的「工具」的标准接口
agentic search :agent 自己用 grep、读文件去翻,像人一样翻代码
一、面试现场
面试官提问
“都说接知识库就上 RAG,那 Claude Code 为什么偏没有向量库?”
Agent 平台面。面试官:你拿 Claude Code 这种 harness 当底座造一个 SW-engineer agent,公司知识库:编码规范、几千篇设计文档、历史工单,怎么接进去?候选人想当然:把文档丢进 skill 的 reference 不就行了?
面试官摇头。这题看似问 Claude Code 的取舍,实考你能不能区分「程序性知识」和「事实性大语料」:前者是「怎么做」(规范、流程),小到能写成一份 Skill 整篇读;后者是几千篇文档,读不完、只能靠检索按语义命中。
**直接回答:**向量库不是接知识库的默认答案——知识按形态分层,各走各的机制。

二、大多数人怎么答的
典型翻车回答
“知识库就是把文档丢进 skill 的 reference 文件夹。”
这句话只对了最小的一块。Skill 的 reference 是**「文件级整读」,不是「检索」**,agent 看到 skill 描述觉得相关,就把整个 reference 读进来。这只在语料小到能整篇读、且能靠文件名选对时才成立。
几千篇设计文档塞进 reference,agent 根本读不完,也选不准。我认为这个误区的根,是把「程序性 how-to」和「事实性大语料」混为一谈,接法天差地别。
**但别停在「大的上 RAG、小的塞 skill」这种谁都会说的道理上。**最反直觉的是:Claude Code(截至 2026-06)对当前代码库根本没有预建向量库 / RAG 索引——打开你机器的 ~/.claude/ 就能验证。下面直接拆开它,看顶级 harness 真到接知识这层怎么分工。
三、拆开 Claude Code:它为什么没有向量库
不卖关子:Claude Code 接知识不靠一个代码库向量索引,而是按知识形态分流到四条路,每条都能在 ~/.claude/ 里亲眼翻到。先看分流表,再拆三个最易错的点。
| 知识长什么样 | 接法 | Claude Code 里对应 |
|---|---|---|
| 小、稳、项目级约定 | CLAUDE.md / memory 常驻 | 会话开头自动加载 |
| 程序性「怎么做」 | Skill,整篇读 | ~/.claude/skills/ |
| 能按文件名导航的代码 | 文件工具 + agentic search | Grep / Glob / Read 现翻 |
| 大、非结构化、读不完 | RAG 检索,藏在工具后 | 本体没有,靠 MCP 接 |
| 要查活系统(DB/工单) | MCP 暴露成工具 | .mcp.json |
① Skill 是「文件级渐进披露」,不是检索,这是最常被混的一点
Claude Code 平时只把每个 skill 的 name + description 载入上下文,这是一个索引;只有模型觉得某个 skill 相关、真去调用,才把 SKILL.md 全文读进来。打开 ~/.claude/skills/ 就能看到:一个 skill 一个目录、一份带 frontmatter 的 SKILL.md。
所以 reference 适合「程序 how-to + 小到能整读的资料」,走的是整篇读那条路;按语义捞片段,是 RAG 的活。
**违反后果:**把几千篇文档塞进 reference 指望整读,窗口直接吃爆(第 4 课),还选不准该读哪篇,这正是「全塞 skill」翻车的机理。
② 能导航的代码,Claude Code 故意不建向量库
这是它最值得抄的赌注。面对整个代码库,Claude Code 不预先做 embedding 索引,而是用 Grep / Glob / Read 像人一样现翻,它改文件前总是先 grep、先 Read,不是去查预建向量库。
因为代码能按文件名、目录、符号导航,让模型现翻比维护一个会过期的向量索引更准、更省。这是它对「可导航代码知识」的有意选择。注意别把这句话泛化成「Claude Code 完全没有任何语义搜索」:源码里有 past-session 的 agentic semantic search,但那不是当前代码库的向量库 / RAG。
**违反后果:**给本来能 grep 的知识硬上 RAG,等于多养一个会漂移的索引、还把准确率拖低,索引和代码一不同步,召回就开始骗你。
③ 真·大语料 = 「检索即工具」:RAG 藏在工具 / MCP 后面
只有「大 + 非结构化 + 没法靠文件名导航」的语料(几千篇 wiki、历史工单、客服 KB)才真正需要 RAG。
但正确接法是把检索包成一个 search_knowledge 工具,语料留在外面、agent 要用时调用、拿回 top-K。Claude Code 本体没有 RAG,却给了接法:外部检索做成一个 MCP server,agent 当 client 调。
它的 deferred 工具也是要用时才靠 ToolSearch 取 schema,和记忆的 MEMORY.md 索引、技能的 name/description 索引)同一招:「索引 + 按需展开」。RAG 的 top-K 就是这招的极端版:语料大到连索引都要靠语义命中。
**违反后果:**把大语料直接灌进上下文或 skill,窗口爆、还命中不准;把 RAG 散在 agent 逻辑里不收进工具,换框架就得重接一遍。
**我的优先顺序:**先按「这块知识能不能整篇读、能不能 grep」分流:能就别上 RAG;只有「大 + 读不完 + 没法导航」的才值得检索,且一定藏在工具后面。Claude Code 对代码库不建向量库不是它弱,是它把每类知识放对了层。
四、面试官追问链
追问 1
“接了七八个 skill,agent 到底怎么挑?会不会选错、或者一股脑全读进来?”
会。skill 的 name + description 就是检索键——写含糊,agent 要么召不准、要么把不相关的全读进来。两条硬约束:一个 skill 只干一件事;description 写「什么时候该调我」,不是「我是什么」。真到几十上百个,再给 skill 加一层「先筛后展开」,还是「索引 + 按需展开」那招。粒度没抠好,分层接得再对,agent 到门口也挑错门。
追问 2
“就几十篇 FAQ,也值得上 RAG 吗?”
不值得。能塞进一份 skill 整篇读、或能 grep 到的,别上 RAG,平白多养一个会漂移的索引,外加一整套召回评估负担。RAG 的收益只在「大 + 读不完 + 没法导航」时才出现。这是 S3 那条老结论的延伸:GraphRAG 救不了一个本可整篇读的 FAQ。先估知识的量级和形态,再决定要不要付检索这份成本。
追问 3
“知识库接进来了,怎么判断检索到底好不好?”
「接进来」只是布线,「检索准不准」是另一件事。离线先攒一组真实问题、标好该命中的文档,再量两个指标:hit@k 看前 k 条找没找到、MRR 看正确资料排第几。达标再上线,别让 agent 拿一个召回 30% 的检索器去答。我认为能讲清「接法分层」是及格,能接着讲「拿 hit@k / MRR 验收」才算做完,这正是 S3《面试深水区》的主场。
五、给你的 agent 接知识库:四步分层
把分流落到造一个 SW-engineer agent 上,下面四步、每步对应一类知识。
STEP 1 · 先把知识按形态分堆
把要接的东西摊开归类:能整篇读的 how-to、小稳事实、能 grep 的代码、读不完的大语料、要查的活系统。分堆决定每块走哪条路,这一步省了,后面一定接错层。
↳ 关键:先问形态,再选机制。
STEP 2 · 小事实进 CLAUDE.md,程序 how-to 写成 Skill
项目约定(用什么栈、PR 怎么提)写进 CLAUDE.md 常驻;编码规范、测试 playbook、排障流程这类「怎么做」,照搬 Claude Code 写成 Skill:一个 SKILL.md + frontmatter,只把 name/description 当索引。
↳ 关键:程序性知识整篇读,别指望它能检索。
STEP 3 · 当前代码库给文件工具 + agentic search
让 agent 用 grep / 读文件现翻当前代码库,别为它预建向量索引,学 Claude Code 对代码的赌注。能导航的知识,现翻比检索更准也更省维护。
↳ 关键:可 grep 的不上 RAG。
STEP 4 · 大语料才上 RAG,且包成一个工具 / MCP server
几千篇设计文档、历史 incident 这类大语料才上检索,收进一个 search_knowledge 工具或 MCP server;再在对应 Skill 里写一句「要事实就调它」。Jira / CI / 监控这些活系统,同样走 MCP。
↳ 关键:检索即工具,Skill 编排它,RAG 命中它。
**↳ 一句话验收:**给你的 SW-engineer agent 抛一个冷门内部 API,**它是 grep 得到、还是调 search_knowledge 拿得到?**两条路都没有,说明那块知识根本没接进来,agent 只能瞎猜。
六、本课总结
一句话总结
接知识库不是「选 Skill 还是 RAG」的二选一,是按知识形态分层、各接各的、还叠着用。Claude Code 的答案最反直觉:它对当前代码库压根没有预建向量库 / RAG 索引——顶级 harness 接知识,赌的是把每类知识放对层,不是给全库建一个大索引。
面试锦囊
**先说:**先把题纠回来,这不是「Skill 还是 RAG」的二选一,它俩不在一层。Skill 管「何时、怎么去查」,RAG 管「在大语料里命中」。
**再说 Claude Code 怎么落地:**它对当前代码库没有预建向量库 / RAG 索引——小事实进 CLAUDE.md、how-to 写 Skill、代码 grep 现翻、大语料才 RAG 且藏在工具后。打开 ~/.claude/ 能验证。
**最后补:**先按形态分流(能整读 / 能 grep 的别上 RAG),再把大语料的检索收进一个 search_knowledge 工具;接进来之后还得用 hit@k / MRR 验收检索准不准(S3 那一季的主场)。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐


所有评论(0)