架构
18 篇
RAG 不是一条必经流水线,而是一种按需取证的能力
先理解目标、先看当前源码,只有跨来源信息真的能改善判断时,才调用 Local RAG 去找证据候选。
一次代码命中为什么还不算答案
工程检索必须把结果绑到仓库、commit 和 symbol 上;缺失、过期或来自错误仓库的命中,只能当定位线索。
同一个问题,代码、Jira 和 Confluence 各能回答到哪里
跨来源检索真正难的不是找到更多文本,而是判断需求、设计和当前代码分别能证明什么。
什么时候值得调用 Local RAG,什么时候直接读源码更快
我缺的是事实,还是入口?这一个问题就能决定要不要检索。
从 Workflow Harness 到轻量 Prompt:Codex 5.6 之后我删掉了什么
当模型的原生流程已经够强,Harness 会从效率放大器变成上下文负担。这次重写保留了安全边界,同时大幅精简 Prompt 和运行时。
目标路由:「帮我改一下」和「帮我发个 PR」不该走同一条路
路由不是给请求贴标签,而是先确定这次授权了哪些副作用、什么证据才算完成。
补丁提升:为一次代码修改自建的一套运输协议
PatchBundleV1 将隔离环境中的候选文件状态封装为可验证工件,再由可信 Host 按日志步骤写入、回读并出具不可变回执。
阶段图:模型要先理解任务,还要再理解一张描述任务的图
用可验证的 DAG 表达节点依赖、执行权限、完成屏障、失败传播与恢复边界。
状态、事件与产物:一句「已完成」证明不了任何事
用 revision/CAS、租约围栏、因果事件链和内容哈希,把恢复与审计从模型叙述变成可验证协议。
叫来一队 Agent,不等于做过多角度评审
用风险驱动选择、不可变执行计划、隔离上下文、完成屏障和证据化报告控制多 Agent 协作。
写入授权与隔离工作区:能编辑文件,不等于被授权编辑这个文件
StageWriteGrantV1 将任务权限压缩为绑定版本、路径、操作与执行实例的一次性能力,并由隔离工作树和逐层回读共同实施。
为什么 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,才能正确分块、构图并保留可追溯位置。
我给自己的 AI 研发流程写过一套控制平面
拆解一套强调可追溯、可恢复和权限隔离的文件式 AI 研发控制平面。