RAG
11 篇
RAG 不是一条必经流水线,而是一种按需取证的能力
先理解目标、先看当前源码,只有跨来源信息真的能改善判断时,才调用 Local RAG 去找证据候选。
一次代码命中为什么还不算答案
工程检索必须把结果绑到仓库、commit 和 symbol 上;缺失、过期或来自错误仓库的命中,只能当定位线索。
怎样把检索候选变成可以交付的工程结论
检索负责发现入口,原始来源负责确认事实;最终回答必须把已验证、推测和未知分开。
同一个问题,代码、Jira 和 Confluence 各能回答到哪里
跨来源检索真正难的不是找到更多文本,而是判断需求、设计和当前代码分别能证明什么。
什么时候值得调用 Local RAG,什么时候直接读源码更快
我缺的是事实,还是入口?这一个问题就能决定要不要检索。
为什么 LLM Controller 最多只允许两轮检索
LLM 可以改写、重排和请求一次补充检索,但不能覆盖确定性证据校验,也不能无限搜索。
为什么用本地不可变 CAS 保存证据底座
向量库和图数据库都是可重建投影;CAS 保存 Raw、IR 与 CPG,Manifest Generation 负责引用这些不可变对象。
70/30 Hybrid Retrieval 和 Graph Anchor 怎样权衡
Vector、Keyword、Parent-Child Context 与 Verified Graph Path 分层组合,避免相似内容被误当成调用证明。
增量投影怎样让 Vector、Keyword 和 Graph 独立演进
分层 Hash、Delta Planner、Consumer Cursor 和 Shadow Projection 共同解决更新、失败恢复与回滚。
为什么 Vector、Keyword 和 Neo4j 要使用不同存储
语义相似、精确标识符和关系遍历是三种查询问题,强行放入一个数据库会牺牲正确性与可解释性。
DocumentIR、Issue IR 与 CodeIR 为什么必须分流
文档、工单和代码拥有不同结构;先建立 Typed IR,才能正确分块、构图并保留可追溯位置。