案例:全分支审 — 重索引 vs 零索引
背景
客户拿 Gitee 上一个 Kotlin 仓库(uu5208/simpler-robot,分支 v4-dev)做代码审核试水,
同一份仓库跑了两条路径对照:
- A. 重索引深审:建 KB(
code-aware,index_tier=heavy)→ 仓库导入 → 解析 → audit 模式批量扫 → 抽样语义 / navigate 验证 → HTML 报告 - B. 零索引快查:不建 KB,直接
gitee_get_tree+gitee_get_file_contents读源码 → 按 code-review skill 的审核维度逐文件审 → 输出 JSON / MD / HTML
这是平台两种最典型的代码审核形态——适合放进选型决策时拿出来对照看。
对照结果一张表
| 维度 | A. 重索引深审 | B. 零索引快查 |
|---|---|---|
| 覆盖范围 | 整个 simbot-cores/ 子目录(97 文件 / 529 KB) | 4 个核心 .kt 文件(约 31 KB) |
| 初始化 | 建 KB + 导入 + 解析(分钟~十几分钟) | 凭据 + tree 拉取(秒级) |
| 检索能力 | audit / hybrid / navigate / semantic 全开 | 仅 LLM 直读 |
| 典型问法 | "全仓有哪些 high finding?""这个符号被谁调用?" | "这 4 个文件有什么问题?" |
| 可复用 | KB 建完,后续每次评审都用同一份索引(增量同步即可) | 每次都要重新拉一遍 |
| 产出 | HTML 可视化看板 + audit 命中清单 + 关键调用链 | JSON + Markdown + HTML 三件套 |
| 真实跑出来的 finding | (以 audit 全扫 + semantic 抽样为主,跨文件命中) | 17 条 — fatal:0 / severe:3 / general:8 / minor:6 |
| Top 风险点(B 案例实跑) | — | ① 协程作用域泄漏;② 事件调度器安全校验缺失;③ 接口契约依赖方向不一致 |
A 路径会跑更深,但前置时间更长;B 路径几乎零等待,但只能看你"明示 LLM 去读"的那几个文件。 业务诉求决定走哪条——见下方"选型".
什么时候选 A,什么时候选 B
| 你的诉求 | 推荐路径 |
|---|---|
| 大版本发布前,整仓深度盘点 | A |
| 接管一个新仓库,要做合规体检 | A |
| 长期维护、要建立"审核-反馈"闭环(findings 要进 LTM) | A |
| 临时评估外包提交、看一眼几个文件 | B |
| 仓库太大或私部网络受限,建 KB 成本不划算 | B |
| 不带 PR/MR,想快速产 HTML 报告交差 | B(最低成本) |
A. 重索引深审 — 提示词模板
用于场景 C(全分支审)。全自动跑完不打断——重索引初始化要 10~15 分钟,agent 自己轮询,不要中途回应"继续"。
B. 零索引快查 — 提示词模板
适合"我就想看这几个文件,不要建 KB 那么重"。
不调kb_create / kb_upload / kb_parse / import_from_gitee,全程gitee_get_*读源码。
实跑数据(B 路径完整产出)
| 项目 | 数值 |
|---|---|
| 审核文件数 | 4 |
| Findings 总数 | 17 |
| Severity 分布 | fatal: 0 · severe: 3 · general: 8 · minor: 6 |
| Top 3 finding | ① 协程作用域泄漏风险 ② 事件调度器安全校验缺失 ③ 接口契约依赖方向不一致 |
| 产出 | JSON / Markdown / HTML |
A 路径仓库导入 97 文件 / 529 KB,重索引初始化中——长尾 audit / navigate 数据可在 KB 解析完成后从 unified_search 实时拉取,HTML 看板也会自动更新(这一档的好处就是索引建一次,后续每次审核复用)。
安全提示(重要)
提示词里永远不要直接写 PAT / 密码 / API Key。
正确姿势:
- 用
credential工具 一次性manage_credential store - 后续 prompt 只引用 purpose / scope(如
scm/gitee/tenant),平台运行时自动注入 - token 永不进 LLM 上下文、永不进会话记录
上面两份模板里的
Token:行只是指引位置——真实使用时改写为"已通过 manage_credential 存储"即可。
相关文档
- 代码审核 总览
- 代码索引(三档能力) — 决定走 A 还是 B 的底层依据
- Gitee 集成
- credential 工具