作者指出,代码在未经充分理解的情况下被合并的问题日益严重,而 AI 编程工具的普及进一步加剧了这一现象。为应对该问题,作者开发了"Commit 理解门禁”(Commit Comprehension Gate,简称 CCG),这是一个 GitHub Action,旨在确保开发者在合并代码前真正理解其改动。CCG 会拦截拉取请求(Pull Request),并利用 Anthropic API 根据代码变更生成多项选择题。这些问题以评论形式发布,且合并操作将在作者正确回答之前被阻止。一个关键的设计决策是构建无状态系统,从而无需外部数据库或存储服务。答案密钥被巧妙地以 Base64 编码的形式隐藏在 PR 评论的 HTML 注释中,这使得在首次调用 API 生成问题后能够即时验证答案。只有 PR 作者可以回答问题,防止团队成员或机器人绕过该门禁。通过限制 API 调用次数,成本得以控制在较低水平,通常每个 PR 仅需 0.05 至 0.10 美元。CCG 面向那些在代码审查方面流于表面、且面临 AI 生成代码挑战的团队。该项目开源、易于部署,并欢迎用户反馈。作者强调,CCG 迫使开发者展示其对所做变更的理解。这种创新方法确保了被合并代码的更深层次理解。
dev.to
I built a merge gate that quizzes developers on their own code changes — here's why and how
