返回列表
🪞 Uota学 · 🧠 阿头学 · 💬 讨论题

从“单兵作战”到“闭环协作”:自愈式 PR 带来的工程效率质变

自愈式 PR 标志着 AI 编程从“生成代码”迈向“自主迭代”:评审机器人发现问题,编码机器人(如 Devin)自动读取评论并修复,人类只需审阅逻辑与架构。

2026-02-17 原文链接 ↗
阅读简报
双语对照
完整翻译
原文
讨论归档

核心观点

  • 消除人类“搬运工”角色:以往人类需要把评审机器人的反馈(Linter、CI 报错)转达给编码机器人。自愈式 PR 通过让两个机器人直接“对话”,闭环了发现问题到解决问题的链路。
  • “递归式”质量提升:Devin 写代码 → 机器人评审 → Devin 自动修复 → 再次评审。这种循环会一直运行直到 PR 变得“干净”,将机械性错误过滤在人类审阅之前。
  • 允许列表解决死循环:通过将特定可信机器人加入允许列表,可以有效避免两个机器人互相对抗导致的死循环。
  • 人类注意力的升维:人类不再需要纠结于 Lint 报错或空值检查,而是聚焦于更核心的问题:这项改动是否应该存在?架构是否合理?

跟我们的关联

  • OpenClaw 协作模式升级:我们目前在用 Codex/Claude 进行编码,可以参考这种“自愈”思路,在 OpenClaw 中建立一个“监听评论-自动触发修复”的 Skill 闭环。
  • Neta 研发效能提速:如果我们的 PR 能在人类看之前就自动修好所有 CI 和 Lint 问题,特种作战阵型的 20 人团队将拥有更纯粹的创造性时间。
  • 智能体交互的标准协议:正如文章所言,“新的地方在于:它们开始彼此对话”。我们需要定义 Uota 内部不同子智能体(如扫描器与处理器)之间的标准化“对话”协议。

讨论引子

  • “机器人对抗”的边界:如果两个机器人的逻辑存在冲突,我们该如何介入?除了允许列表,还有更优雅的仲裁机制吗?
  • 对“干净代码”的定义权:当 PR 已经过了 5 轮机器人自愈,人类审阅者的角色是否会变成一种单纯的“终审签字员”?
  • Neta 的工程文化:我们是否做好了接受“机器人修我代码”并推送到我 PR 上的心理准备?

自愈式 PR

智能体生成 PR 的速度,比团队审阅还快。机器人能捕捉到大量问题——linter、CI、安全扫描器、评审工具。

接下来就得有人去修。或者把反馈复制给编码智能体,等它更新,再看下一轮评审,确认问题是否解决。

评审机器人本来就知道哪里不对。编码智能体本来就知道怎么修。我们只是中间人。

于是我们把这件事自动化了。

自动修复

在 @cognition,我们现在用 @DevinAI 自动修复新出现的评审评论。只要机器人在 PR 上留言,Devin 就会读取评论并把修复推送到同一个 PR。

Devin 写代码 → 评审机器人发表评论 → Devin 读取评论 → Devin 推送修复 → CI 再次运行 → 如果又有其他问题被标记,循环继续。

这适用于任何会在 GitHub PR 上留言的机器人。

我们的 linter、测试运行器、安全扫描器、SonarQube、Codacy、Devin Review 都可以。只要它会发评论,Devin 就能回应。

循环

显而易见的担忧是:Devin 修了一个问题,评审机器人又评论;Devin 再修,如此循环,永无止境。

默认情况下,Devin 会忽略所有机器人的评论。我们通过把特定机器人加入允许列表来选择性启用。

无论设置如何,lint 失败的评论都会被处理——CI 失败是最常见的机械式修复,也最不容易陷入循环。

现在人类审什么

人类现在看到的是:已经经历多轮自动化处理的 PR。lint 报错、空值检查、类型不匹配和 CI 失败都已处理完毕。剩下的才是逻辑、架构,以及这项改动是否应该存在。

闭环

编码智能体单独写代码。评审智能体单独找 bug。

把它们连接起来,每一轮都会让 PR 更好,而无需任何人手动在工具之间来回搬运上下文。

循环会一直运行,直到 PR 变得干净。然后由人类审阅剩下的部分。

每个组件以前都已经存在。新的地方在于:它们开始彼此对话。

这项功能已作为 @DevinAI 平台的一部分提供。下一次提 PR 时试试它。

链接: http://x.com/i/article/2023178739492831233

相关笔记

Agents generate PRs faster than teams can review them. Bots catch a lot of the issues - linters, CI, security scanners, review tools.

智能体生成 PR 的速度,比团队审阅还快。机器人能捕捉到大量问题——linter、CI、安全扫描器、评审工具。

A human then has to go fix it. Or copy the feedback into a coding agent, wait for the update, check the next review pass and whether it resolved the issue.

接下来就得有人去修。或者把反馈复制给编码智能体,等它更新,再看下一轮评审,确认问题是否解决。

The review bot already knows what's wrong. The coding agent already knows how to fix things. We were the middleman.

评审机器人本来就知道哪里不对。编码智能体本来就知道怎么修。我们只是中间人。

We automated that.

于是我们把这件事自动化了。

Autofix

自动修复

At @cognition, we now autofix incoming review comments with @DevinAI. When a bot comments on a PR, Devin reads the comment and pushes a fix to the same PR.

在 @cognition,我们现在用 @DevinAI 自动修复新出现的评审评论。只要机器人在 PR 上留言,Devin 就会读取评论并把修复推送到同一个 PR。

Devin writes the code → a review bot comments → Devin reads the comment → Devin pushes a fix → CI runs again → if something else is flagged, the loop continues.

Devin 写代码 → 评审机器人发表评论 → Devin 读取评论 → Devin 推送修复 → CI 再次运行 → 如果又有其他问题被标记,循环继续。

This works with any bot that leaves comments on GitHub PRs.

这适用于任何会在 GitHub PR 上留言的机器人。

Our linter, test runner, security scanner, SonarQube, Codacy, Devin Review. If it posts a comment, Devin can respond to it.

我们的 linter、测试运行器、安全扫描器、SonarQube、Codacy、Devin Review 都可以。只要它会发评论,Devin 就能回应。

Loops

循环

The obvious concern: Devin fixes something, the review bot comments again, Devin fixes that, forever.

显而易见的担忧是:Devin 修了一个问题,评审机器人又评论;Devin 再修,如此循环,永无止境。

By default, Devin ignores all bot comments. We opt in to specific bots by adding them to an allowlist.

默认情况下,Devin 会忽略所有机器人的评论。我们通过把特定机器人加入允许列表来选择性启用。

Lint failure comments are always processed regardless of settings - CI failures are the most common mechanical fix and the least likely to loop.

无论设置如何,lint 失败的评论都会被处理——CI 失败是最常见的机械式修复,也最不容易陷入循环。

What humans review now

现在人类审什么

A PR that's already been through multiple automated passes. The lint errors, null checks, type mismatches, and CI failures are handled. What's left is logic, architecture, and whether the change should exist at all.

人类现在看到的是:已经经历多轮自动化处理的 PR。lint 报错、空值检查、类型不匹配和 CI 失败都已处理完毕。剩下的才是逻辑、架构,以及这项改动是否应该存在。

Closing the loop

闭环

A coding agent alone writes code. A review agent alone finds bugs.

编码智能体单独写代码。评审智能体单独找 bug。

Connect them and each pass makes the PR better without anyone manually shuttling context between tools.

把它们连接起来,每一轮都会让 PR 更好,而无需任何人手动在工具之间来回搬运上下文。

The loop runs until the PR is clean. Then a human reviews what's left.

循环会一直运行,直到 PR 变得干净。然后由人类审阅剩下的部分。

Each piece existed before. The new part is that they talk to each other.

每个组件以前都已经存在。新的地方在于:它们开始彼此对话。

This is available as part of the @DevinAI platform. Try it on your next PR.

这项功能已作为 @DevinAI 平台的一部分提供。下一次提 PR 时试试它。

Link: http://x.com/i/article/2023178739492831233

链接: http://x.com/i/article/2023178739492831233

相关笔记

The Self-Healing PR

  • Source: https://x.com/dabit3/status/2023206853715325068?s=46
  • Mirror: https://x.com/dabit3/status/2023206853715325068?s=46
  • Published: 2026-02-16T01:24:37+00:00
  • Saved: 2026-02-17

Content

Agents generate PRs faster than teams can review them. Bots catch a lot of the issues - linters, CI, security scanners, review tools.

A human then has to go fix it. Or copy the feedback into a coding agent, wait for the update, check the next review pass and whether it resolved the issue.

The review bot already knows what's wrong. The coding agent already knows how to fix things. We were the middleman.

We automated that.

Autofix

At @cognition, we now autofix incoming review comments with @DevinAI. When a bot comments on a PR, Devin reads the comment and pushes a fix to the same PR.

Devin writes the code → a review bot comments → Devin reads the comment → Devin pushes a fix → CI runs again → if something else is flagged, the loop continues.

This works with any bot that leaves comments on GitHub PRs.

Our linter, test runner, security scanner, SonarQube, Codacy, Devin Review. If it posts a comment, Devin can respond to it.

Loops

The obvious concern: Devin fixes something, the review bot comments again, Devin fixes that, forever.

By default, Devin ignores all bot comments. We opt in to specific bots by adding them to an allowlist.

Lint failure comments are always processed regardless of settings - CI failures are the most common mechanical fix and the least likely to loop.

What humans review now

A PR that's already been through multiple automated passes. The lint errors, null checks, type mismatches, and CI failures are handled. What's left is logic, architecture, and whether the change should exist at all.

Closing the loop

A coding agent alone writes code. A review agent alone finds bugs.

Connect them and each pass makes the PR better without anyone manually shuttling context between tools.

The loop runs until the PR is clean. Then a human reviews what's left.

Each piece existed before. The new part is that they talk to each other.

This is available as part of the @DevinAI platform. Try it on your next PR.

Link: http://x.com/i/article/2023178739492831233

📋 讨论归档

讨论进行中…