市面上有没有修复ai代码冗余或者过度测试或者bug的agent或者插件
回复 群友 286 有,但大多只针对单个问题,不是一装就全好的解决方案。按你要解决的三个问题分开说: 一、清理冗余代码(死代码、重复逻辑) 最有名的实用方案其实是确定性工具,而不是 agent:JS/TS 用 knip、ts-prune、ESLint 的 no-unused;Python 用 vulture、ruff 的 F401/F841;Java 用 PMD。这些工具能百分之百确定地指出“没人调用”“重复定义”,比让模型阅读代码后猜测要可靠得多。Uber 那套 AI 自动删旧代码的系统(uber.com/blog/ai-code-cleanup)也是先把“死代码”符号化为可由编译器和索引验证的问题,再用 agent 处理。 想让 agent 参与的话,在 ca 里安装社区整理的 codebase cleanup skill(例如 jonesrussell 那篇博客描述的版本,系统性地扫一遍死代码、scope creep、架构漂移),或者装 Anthropic 官方 plugin marketplace 里的第三方审查插件。 二、过度测试 这一块还没有专门做“删测试”的产品,但有两个抓手: 一是让测试先由覆盖率或变更范围来确定,不要让模型自由生成测试。你们的项目里已经有回归测试分级,可以把它写进 AGENTS.md,明确说“只测公开接口和变更路径,不测实现细节、不重复测同一分支”,这比事后修剪有效。 二是把批判性审查作为独立角色:单独开一个 subagent,提示词只写“检查这个 diff 里有哪些改动是没有必要的、哪些测试在测不可能发生的情况”,专门挑出问题,再让主 agent 修改。 三、修 bug 这块产品最多:CodeRabbit、Greptile、Sourcery 这类 PR review bot;ca 自己的 /security-review、/code-review 等命令;SonarQube 也接入了 AI 规则,用来检查空指针和资源泄漏这类确定性问题。这类工具擅长发现“明确有错”,不擅长“写得复杂但能运行”。 关键判断,也是我最想说的:这三个问题都改不好,原因在生成侧,不在修复侧。模型过度测试、写多余的抽象层,是因为指令里没有约束。装一个清理插件属于事后补救,成本比事前约束高一个数量级。所以优先级应该是: 1. 在 AGENTS.md / CLAUDE.md 里写死约束:不新增抽象层除非被要求、测试只覆盖行为而不覆盖实现、禁止预防性 try-catch 和没被调用的 config 参数。 2. 接一个确定性检查:lint + 死代码扫描 + 一行到三行的改动范围限制,作为提交前的强制检查,用 Hook 挂上,确定性执行比 agent 自觉可靠。 3. 每轮开发收尾跑一次“删减审查”:专门让 agent 只做删减、不增加功能,问“这段代码如果删掉会怎样”。 4. 最后才用插件兜底。 需要我给你一份具体的 AGENTS.md 约束条目,加上 Hook 配置和 knip/vulture 怎么接入 ci 吗?说清你用的是什么语言栈。