浏览 AI 知识库
大仓库上下文放不下,怎样按模块读取又不丢目标
大仓库不适合一次塞进上下文。先固定问题,再按入口、依赖和数据流分批阅读,并把跨模块结论写进同一张地图,才能避免读到后面忘了前提。
仓库太大放不下时,关键不是多读,而是不丢目标
把整个 monorepo 一次交给 Agent 后,它在回答第四个问题时忘了最初目标,还把旧模块的 `User` 类型当成新接口使用。上下文多并不等于理解完整。
- 模块地图与固定问题始终可见
- 跨批术语和决定有统一账本
- 每个结论能回到文件和行或运行日志
AI 读大型代码库,先从“每批总结都像新的仓库介绍”这一类现象查起
每批总结都像新的仓库介绍
- 原因
- 没有固定问题和跨批状态,模型每次重新理解项目。
- 怎么改
- 建立状态文件,保存入口、已证实关系、未知项、关键路径和下一批要回答的问题。
找到了很多文件却不能定位修改点
- 原因
- 按目录浏览而非沿调用和数据流追踪。
- 怎么改
- 从唯一文案、路由、接口、表名或报错开始,只读能回答当前跳转的文件。
跨批结论互相冲突
- 原因
- 版本、分支、生成物或术语没有记录。
- 怎么改
- 每批写提交、文件路径和证据片段;冲突时回到当前文件复核,不选更像真的一条。
重要配置最后才发现
- 原因
- 只读源码,没有检查规则、构建、CI、环境和生成器。
- 怎么改
- 第一批固定扫描项目规则、清单和验证入口,再进入业务模块。
复测前,固定原始现象、环境和目标
| 需要确认 | 本例内容 |
|---|---|
| 现有材料 | 仓库 18 万行,包含 web、api、worker 与 shared;当前只排查结算失败,入口请求和错误日志已知。 |
| 不能越过的边界 | 先建模块地图,再围绕固定问题分批读取;每批保存结论、证据位置、未知项和下一批问题。 |
| 要交付的结果 | 模块地图、固定问题和跨批结论 |
每读完一批文件,只留下能指导下一批的结论
| 当前问题 | 已读证据 | 已确认关系 | 下一批只回答 |
|---|---|---|---|
| 搜索空状态来自哪里 | 路由、页面组件、请求封装 | 页面在响应为空数组时读取 `emptyTitle` | `emptyTitle` 的源数据和生成路径 |
| 改源文件还是生成页 | 构建脚本和生成清单 | HTML 为构建产物,不应直接编辑 | 重建命令和定向验证 |
| 是否影响其他页面 | 同一字段的引用搜索 | 两个页面共用该字段 | 分别核对两页预期文案 |
符号和文件是教学示例;真实项目必须记录实际分支、路径、证据片段和未知项。
AI 读大型代码库:按原条件复测的结果
原始现象
一次读取大量目录后,回答混用两个 User 类型,无法说明结论来自哪个文件。
模块地图、固定问题和跨批结论
上下文分为入口、订单服务、支付适配器和重试 worker 四批。跨批账本固定 requestId、OrderId 和状态枚举;最终结论只引用实际调用路径的 11 个文件,未把 admin 的同名模型带入。
