先画导入关系图,再让编码 Agent 选择受影响的测试

Galactica 把 JavaScript/TypeScript 导入关系做成离线图和 CLI,让 Codex、Claude Code 或 Cursor 在改代码前追踪调用方与测试;基准里 Sonnet 找全相关测试的比例从 47% 提到 78%。
实战评级
已达成两项测试识别任务中,Sonnet 完整率由 47% 提到 78%,Opus 由 82% 提到 100%。
静态导入图可能漏掉运行时加载测试;平均成本增加 7%—17%。
- 具体怎么做
- 在可信目录运行 Galactica 为仓库生成导入图,或执行 init 安装给 Codex、Claude Code 与 Cursor 的技能。Agent 修改文件前先用 uses、deps、path、cycles 等命令查调用方、依赖链、循环和可达测试,再补充搜索运行时动态加载的测试。
- 做到了什么
- 作者在 Hono、Vite 与 NestJS 上做 6 项任务。需要列出受影响测试的两项中,Sonnet 的完整率从 47% 提到 78%,Opus 从 82% 提到 100%;其余 4 项三种条件都为 100%。平均单次成本增加 7%(Sonnet)和 17%(Opus)。
- 上手要点
- 测试可达性基于静态 import;运行时动态加载仍需额外搜索。只对可信仓库运行,检查不熟悉的代码时从可信目录传入 --root。
你可以这样试
使用 Codex在【JavaScript/TypeScript 仓库】运行 Galactica。针对要修改的【文件或符号】,先输出直接依赖、所有调用方、最短导入链、可达测试和循环依赖;再搜索可能通过运行时动态加载的测试。给出最小修改计划和必须执行的测试清单,得到确认后再改代码,并记录是否漏测。