内容提要
编码代理已成为我的主要工具,我停止了手动编码。核心方法是“左移”:将大部分时间用于理解问题和制定清晰规格,而非实现。通过专用思考空间和工具(如Superpowers、Pi插件)强化规划,用代理测试验证结果。这提升了效率,避免了盲目执行带来的浪费。
延伸解读
左移的本质:从实现转向理解
文章提出软件工程可分为“理解问题”和“实现方案”两侧,作者将大部分精力从实现转向理解,即“左移”。这种转变源于编码代理的高效性,使得人类在实现侧无法匹敌,因此更应专注于明确规格和验证计划。这并非否定编码,而是重新分配精力,以提升整体效率。
避免盲目执行:规格清晰是关键
作者强调,最令人沮丧的不是代理耗时,而是结果不可靠。通过反复推敲计划,直到规格完全清晰,再交给代理执行,可以避免浪费时间和令牌。这需要投入大量时间进行思考,有时甚至半天,但能确保执行阶段的高效和可靠,减少返工。
工具与流程:构建个人化工作流
作者建立了专门的思考空间,使用Superpowers进行规划,并开发了自定义Pi插件用于注释和审查规格。验证则采用传统测试金字塔,并加入轻量级代理测试层。这些工具和流程旨在支持左移方法,但作者也提醒,每个人应找到适合自己的方式,不必盲目模仿。
Q&A
什么是左移方法?
左移方法是一种软件开发策略,强调将更多时间和精力投入到问题理解和规格制定上,而不是直接编写代码。它把软件工程分为左侧的“理解问题”和右侧的“实现解决方案”,通过提前明确需求和计划,减少后期返工和浪费。
为什么作者从手动编码转向使用编码代理?
作者转向编码代理是因为它们能大幅提高效率,处理大量重复性任务,如阅读变更日志、搜索解决方案等,且能持续工作。作者意识到人类无法在吞吐量上匹敌AI,因此将执行部分交给代理,自己专注于更高层次的规划和决策。
作者在将任务交给编码代理之前,主要做哪些准备工作?
作者会反复推敲计划,直到规格说明非常清晰。具体包括:检查迭代是否与长期架构一致,明确变更后的预期结果,以及制定验证计划。这个过程可能花费30分钟到半天,但能确保代理执行时不会偏离方向。
作者使用了哪些工具来支持左移工作流?
作者使用了几个关键工具:在secondBrain中设置专门的思考空间,所有AI会话从这里开始,并用git跟踪规格和任务;使用Superpowers作为主要规划技能,帮助结构化思考;开发了一个自定义的Pi插件用于注释和审查规格;使用agent-browser进行轻量级代理测试,自动捕获截图和视频供推理代理检查。
作者如何验证编码代理的工作成果?
作者遵循传统的测试金字塔,但增加了一个轻量级的代理测试层。使用agent-browser自动捕获截图和视频,然后由推理代理根据规格中的预期来检查这些工件,而不是手动打开浏览器点击测试。
作者对使用编码代理有什么建议?
作者建议不要盲目模仿他的具体设置,因为每个人都会找到自己与AI合作的独特方式。他强调,如果这些想法能帮助你的工作流,那就值得分享。核心是找到适合自己的方法,而不是照搬。