市面上所有AI编程工具都会总结diff:"这个PR改了5个文件,调整了认证逻辑。"但这不叫代码审查,这叫描述。真正的审查需要阅读文件理解上下文、追踪依赖关系、运行测试验证、搜索可能受影响的模式——换句话说,真正的审查需要能动性。
我为此开发了一个工具:Hermes PR Investigator。它是Hermes Agent的自定义技能,将代理转化为自主PR审查员。它不总结diff,而是通过五阶段代理工作流进行调查。
![]()
五个阶段层层递进:发现与规划、深度文件分析、验证(测试、lint、类型检查)、交叉引用(模式、文档、安全)、结构化报告生成。
![]()
我在NousResearch/hermes-agent仓库的真实合并PR上做了测试。PR #26957修复了一个微妙问题:将延迟的loop.call_soon改为内联await重放。代理自主完成了全流程:获取PR元数据、拉取diff、检查CI状态;读取acp_adapter/server.py和测试文件;通过gh run view --log-failed确认6个失败均为main分支预存问题;搜索_schedule_history_replay的孤儿引用,确认零残留;最终生成结构化审查报告。
报告给出了具体建议:load_session和resume_session中的try/except块几乎相同,建议提取_replay_session_history_guarded辅助函数实现DRY。 verdict明确指出:"这是一个干净、经过充分研究的修复。loop.call_soon在隔离测试中让服务器看起来正确,但会破坏任何在await loadSession()后同步检查通知计数的客户端。"
![]()
我还在一个本地分支上测试了合成PR:为Flask应用添加JWT认证。代理发现了两个高危问题:auth中间件中存在硬编码JWT_SECRET回退值"default-secret";require_auth装饰器已定义但从未应用到受保护端点。
关键区别在于:传统AI工具告诉你"改了什么",这个代理告诉你"为什么有问题"以及"怎么修"。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.