使用 AI Agent 编程:高吞吐量 vs. 代码质量
AI Agent 编写代码的速度很快。问题不在于它们写得有多快,而在于如何保持代码的整洁与一致性。
我将这一理念应用于 Project Venom。我想看看是否可以在利用 AI Agent 提升速度的同时,又不损失代码质量。
结果如下: • AI Agent 编写了 138,011 行代码 • 1,587 次 commits • 92.2% 的测试覆盖率 • SonarQube 中 0 个质量问题(初始时有 1,650 个问题)
我是如何做到的?我构建了一个流水线 (pipeline)。AI 编写代码,但由流程来决定代码是否被保留。
工作流遵循以下步骤:
- 人类定义目标和范围。
- AI Agent 规划并实现变更。
- 本地 pre-commit 检查运行静态验证和测试。
- GitHub Actions 运行 CI(linting、契约检查和架构防护)。
- SonarQube 检查技术债和复杂度。
- AI Agent 和人类共同评审 Pull Request。
- 合并 (Merge)。
该流程分为三个阶段。
第一阶段:速度。AI Agent 生成代码和单元测试。这能让项目迅速扩张。
第二阶段:控制。我引入了 SonarQube,它发现了 1,650 个问题。随后我构建了本地 pre-commit 门禁。除非通过这些门禁,否则 AI Agent 无法完成任务。
第三阶段:稳定性。流水线成为了日常工作的一部分。质量不再是最后的检查环节,而是一项持续性的要求。
给团队的核心启示: 不要再问哪个 AI Agent 是最好的了。最好的 Agent 每周都在变。
相反,你应该问:我们如何构建一个能够安全接收 AI 代码的流程?
你需要一套最小化的工具集:
- GitHub 仓库和 Pull Requests
- Pre-commit hooks
- 单元测试
- GitHub Actions
- SonarQube 或 SonarCloud
- 为你的 Agent 提供清晰的指令
- 人类和 AI 评审
没有流水线的 AI 编程只是实验。拥有流水线的 AI 编程才是专业的流程。
Agent 编写代码,流水线守护项目。
你是如何与 AI Agent 协作的?你是将它们仅作为简单的助手,还是在你的流程中为它们设定了专门的门禁和指令?
Optional learning community: https://t.me/GyaanSetuAi
