短绳 AI 编码方法打败 Fable
这篇文章是对如何正确使用 AI 代理编写安全关键系统中的高质量软件进行一年多研究的总结。我将主要从软件开发人员、协议开发人员和安全关键软件维护者的角度撰写此文。在过去的一年里,我深入研究了 AI 代理,探索了它们的极限,以及它们可以和不可以依赖的事项。我创建了我们自己的 AI 复审工具,其性能与价值数十亿美元的 AI 复审系统相当。我维护了一个名为 Crush 的 AI 编码代理的自定义分支。这篇文章是我对使用 AI 工具创建高质量软件最佳方法的提炼。有些人讨厌 AI。实际上,许多开发者应该讨厌 AI,因为它妨碍了他们自身的软件开发学习。这篇文章并不是为他们写的。这篇文章是为那些技能已达到可以超越其领域内任何“前沿 AI 模型”的少数专家开发者而写的。写这篇文章的目的是为了帮助这些专家开发者,利用 AI 来提升他们的性能,同时不牺牲质量。当前方法的问题 如果你曾多次使用 AI 代理,你会发现,在一个会话期间,可能会出现以下情况:你可能会发现你的初始想法很愚蠢,而存在更好的想法;你的代理可能会“失控”,开始做你不希望它做的事情。我看过数百万次观看的视频,YouTuber 们解释他们如何发明了由一个调度程序管理的 12 个并行代理构成的复杂系统,同时进行数十亿次操作。他们不再需要参与编码过程。它只是写一些糟糕的代码并审查糟糕的代码,而 YouTuber 则在海滩上坐着,上厕所,或无缘无故喝咖啡。如果你使用这样的“氛围”方法,人类是不可能建立自己对代码库的理解的。AI 将多次失控,而你只能在实际使用软件时才会注意到。这种方法在你不关心质量的情况下可能是可以的,但如果你关心质量,则需要不同的方法。问题是,即使是 Fable 5 编写和/或审查的代码,也会很糟糕:代码是有效的,但极其低效且丑陋。如果你在某种利基领域工作,而这个领域没有足够的训练数据供模型依赖,那么这种情况绝对会更频繁地发生。与某些首席执行官所做的市场推广声明相反,这些模型无法超越其训练数据进行思考。AI 代码生成——“短绳”方法 这就引出了使用 AI 编码代理的“短绳方法”。这一方法并不适合任何人,只有专业的软件开发人员才能使用。但这方法的优点是,即使你不使用前沿模型,也能取得打败 Fable 的结果。在短绳方法中:你需要通过一个规划阶段来研究任务,制定计划,以及使用我的任务技能来跟踪进度并将较大任务分解为步骤(这与许多“氛围工程”方法有一个相似之处;后面的要点中方法将有所不同);你应该绝对不要使用“YOLO”模式(又称“危险跳过权限”);AI 不能在你玩视频游戏时工作;你使用一个展示变化的权限提示的编码代理;你像某个来自 20 世纪的疯狂人一样,实际分析 AI 提议的修改;你始终保持自己在循环中,而不是把自己移出(这是 YouTuber 推广的趋势);你使用权限提示中的差异作为保持你对代码库理解的工具,并把 AI 保持在“短绳”上;每当你看到 AI 要执行你不希望它做的事情时,你就拒绝权限;你会频繁干预,根据需要阻止 AI “失控”;AI 始终处于“短绳”状态;每个子任务完成后进行提交,以保护你免受 AI 出错并删除之前工作(这种情况可能发生,我见过 Opus 的确这样做过);最后,我们进行审查。如何进行 AI 审查 由人类或仅由 AI 审查的 PR 可能会比由人类和 AI 共同审查的 PR 中有更多错误。AI 可以被视为一个代码检查器。它会快速捕捉常见错误,而人类会捕捉到更高层次的问题和需要进行的方向性变化。因此,在进行审查时:你应该使用 AI 审查每一个 PR;AI 必须拥有足够的上下文(问题、PR 描述、代码库和更改);你应该使用最新的高级模型进行审查;PR 描述必须披露所使用的具体模型(如有)
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡