使用 AI Agent 编程:高吞吐量 vs. 代码质量

AI Agent 编写代码的速度很快。问题不在于它们写得有多快,而在于如何保持代码的整洁与一致性。

我将这一理念应用于 Project Venom。我想看看是否可以在利用 AI Agent 提升速度的同时,又不损失代码质量。

结果如下: • AI Agent 编写了 138,011 行代码 • 1,587 次 commits • 92.2% 的测试覆盖率 • SonarQube 中 0 个质量问题(初始时有 1,650 个问题)

我是如何做到的?我构建了一个流水线 (pipeline)。AI 编写代码,但由流程来决定代码是否被保留。

工作流遵循以下步骤:

  1. 人类定义目标和范围。
  2. AI Agent 规划并实现变更。
  3. 本地 pre-commit 检查运行静态验证和测试。
  4. GitHub Actions 运行 CI(linting、契约检查和架构防护)。
  5. SonarQube 检查技术债和复杂度。
  6. AI Agent 和人类共同评审 Pull Request。
  7. 合并 (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 协作的?你是将它们仅作为简单的助手,还是在你的流程中为它们设定了专门的门禁和指令?

Source: https://dev.to/maciej_p_3d3c100f085a/coding-with-ai-agents-between-high-throughput-and-code-quality-136g

Optional learning community: https://t.me/GyaanSetuAi