Limboy

这篇文章详细阐述了作者Mitchellh如何利用AI作为主要辅助工具,开发Ghostty终端的非侵入式macOS自动更新功能。他分享了一个高度迭代的过程,包括前期人工规划、AI进行UI原型设计、代码清理、文档编写和模拟测试。文章强调,尽管AI在处理明确任务和提供灵感方面表现出色,但在面对复杂bug或生成次优代码时,人工的战略性调整、深入理解、重构和严格审查至关重要。整个项目耗时约8小时,花费15.98美元,作者认为AI加速了开发,尤其是在处理繁琐的UI样式方面,并允许他在AI工作时进行多任务处理,但始终坚持人工的最终审查和主导作用。

it's important that I review a plan before it goes off and does a ton of work.

Creating a comprehensive plan interactively with an agent is a really important first-step for anything non-trivial. I usually also save it out (via the agent) to something like spec.md and in future sessions I can say "Consult the @spec.md and work on some task".

I'll often make these few hail mary attempts to fix a bug. If the agent can figure it out, I can study it and learn myself. If it doesn't, it costs me very little. If the agent figures it out and I don't understand it, I back it out. I'm not shipping code I don't understand. While it's failing, I'm also tabbed out searching the issue and trying to figure it out myself.

It's at this point that I know I need to step back, review what it did, and come up with my own plans. It's time to educate myself and think critically. AI is no longer the solution; it is a liability.

In my first UI session, I had the agent create some demo code so I could see the UI in action without real update checks. But update flows have a number of scenarios and up to this point I only tested the happy path.