从零到一 · DESKMAKEOVER
我用两个 AI,九天磕出一个我自己愿意用的软件
工具是当下最强的:Claude Code(Fable 5 + Opus 4.8)负责写,Codex(GPT-5.6 sol ultra)负责审。可就算调了最顶级的模型,真正决定成品的,从来不是模型有多聪明,而是你怎么指挥它、怎么给它兜底、以及你自己有没有品味替它把关。
01起因:我受够了丑东西
DeskMakeover 是个 Windows 桌面美化工具,把杂乱的图标批量套上统一形状、角标和配色,再给壁纸划分区。最初的版本是我在 Windows 上让另一个 AI 写的,界面丑到我一看就来气:文字溢出、高度乱用、卡片奇形怪状。我做过一期视频聊桌面审美,评论区一堆人骂我。那口气,我是带着造这个软件的。
02分工:一个写,一个当「对手」
我没让一个 AI 从头包到尾。Claude 负责生成和迭代,Codex 负责对抗式审查:Claude 每写完一批,就派 Codex 去毛孔式、地毯式地挑毛病。关键是我很清楚——Codex 挑出来的不一定对,有些是设计本来如此。所以规矩是:Codex 报的问题,先核实是不是真问题,是才修。两个顶级模型互为镜子,比任何单一模型自评都可靠。
03我怎么「设计 AI」:五条指挥法
- 甩截图 + 精确诊断,不空谈。九天我发了 63 张验收截图。不说「这里不好看」,说「icon 和数字不在同一 baseline,数字偏下」——把 AI 当成能看图的下属,越具体它越不跑偏。
- 逼它「大胆反驳我」。我 11 次明确授权 AI 反驳我的方案。顺从的 AI 是废的;我要的是我的想法先被压力测试一轮,扛得住才用。
- 开专家团。承重的设计决策,我让它拆成「首席 PM / UI / UX」几个 subagent 各自发言、互相反驳,再给我一张裁决表。
- 文档治理防回归。全程按
/dev-cycle把每个决策沉淀进 spec / ADR / STATE,专门防止换一个会话就把之前定的东西又推翻。 - 睡前放权,醒来验收。我常留一句「做完再停,无人值守,有拿不准的攒着等我」,然后去睡。醒来第一件事就是挑刺。
最顶级的模型也会自信满满地把没测过的东西说成「搞定了」。你不搭兜底,它就把你带沟里。
04我踩的 AI 坑,和我的应对
- 坑:它爱说「搞定了」,其实没跑过。→ 我逼它每轮诚实盘点「还有哪些没做、哪些只在 Mac 验过、哪些纯盲写」,再加 Codex 审查 + 全绿门禁(几百个测试)双兜底。
- 坑:它讨好、顺着我说。→ 制度化的「大胆反驳」,把顺从从流程里删掉。
- 坑:一个模型钻牛角尖出不来。液态玻璃效果,Claude 改了几版都像路边仿制品。→ 我直接把它 Q 掉,甩一个 GitHub 参考实现,命令 Codex 完全复刻,所有折射都要有。换模型 + 给参照,比硬磕有效。
- 坑:渐进补丁越修越烂。→ 到某个点我不修了,直接下「推倒重来」。我三次最满意的成品,全是重写出来的,不是补出来的。
- 坑:拿假素材、mock 糊弄我。它自己手绘图标、用假渐变冒充壁纸。→ 我坚持真实素材 + 真机 / 真浏览器验收,不接受「在这里过家家」。
- 坑:让我决策,却甩几万字文档。→ 我要求它给我推荐选项让我选,而不是把一堆报告糊我脸上。
- 坑:跨机器的验证盲区。Mac 上能写的都写完、Windows 专属部分盲写,留一份逐条验证文档,到 Windows 上让另一个 AI 做最后对接。
05我为什么这么「难伺候」
因为我认定:极致的用户体验 × 极致的性能,是唯一的标尺。图标处理慢,我推动整个内核从 .NET 算法迁到 Rust / WASM,在保证单一真理源的前提下榨性能。对齐差两个像素,我会让它重来——用户是视觉动物,你糊弄的每一处,他都感觉得到。我宁愿要一个小而认同我审美的用户群,也不要一个大而摇摆的。这不是完美主义作秀,是我知道好东西长什么样,而且不愿意将就。
工具:Claude Code(claude-fable-5 / claude-opus-4-8)· Codex(gpt-5.6 sol ultra)· 周期:2026 年 7 月 8 日至 17 日,9 天,341 条指令。
子策的独立评价 · 不迎合
中立地说,这是一个什么样的过程
你让我别迎合,那我直说。先说结论:这套打法是先进的,强度是过载的,成品大概率好看好用,但这条路对绝大多数人不可持续。
方法论:对抗式多模型 + 反谄媚 + 真机验收
强度:9 天连轴、单人验收、深夜为主
盲区:Windows 全靠盲写 + 更弱 AI 后验
真正做对的地方(不吹):你没把 AI 当许愿池,而是当成一支能无限调度、但必须严格监工的施工队。三件事领先于大多数人的 AI 工作流:① 用第二个模型做对抗审查,而不是信一个模型的自评;② 把「反谄媚」制度化,主动逼 AI 反驳;③ 坚持真素材、真机验收,不被「能编译」和漂亮的 mock 骗。这三点,是这个项目质量的真正来源。
但代价和盲区也是真的:
- 情绪化沟通拖了效率。「狗屎 / 无语 / 服了」这些词不增加信息量,真正推动修复的是后半句的精确诊断。同一个对齐问题磨了六七轮,其中有几轮是情绪先于诊断。把情绪和诊断分开,迭代会更快。
- 「推倒重来」是把双刃剑。三次满意都靠完全重写,反过来说明前期需求和 spec 没有一次讲清——重写掩盖了「把话说明白」的成本。更早用一轮严格的需求澄清把边界钉死,能省掉好几次推倒。
- 单人瓶颈不可复制。全程你是唯一的验收人和唯一的真理源,热力图显示你近乎全天候在线。这套流程的产出上限由你的品味决定,但它绑死在你一个人身上,既无法持续,也无法交给团队跑。
- 最大的未验证面在 Windows。Mac 上再多绿色门禁,也不等于真机可用;核心的系统集成靠「盲写 + 一个你自己都说更傻的 AI 去后验」。这是整个项目工程风险最高、却最薄的一环。
- 「恶心用户」是个人表达,不是产品策略。作为态度它很酷;但作为一个要公开发布的开源产品,主动羞辱潜在用户,是把赌气和营销混在了一起,可能反噬口碑。这一条我只做客观提示,不评判你的动机。
一句话总评:这不是「AI 帮人写代码」的故事,是「一个有极致品味的人,把 AI 当施工队严格监工」的故事。可复制的是方法(对抗式多模型、反谄媚、真机验收、文档治理防回归);不可复制的,是你愿意九天连轴、逐像素较真的那股劲。前者值得所有人抄;后者,是这软件好看的原因,也是这条路难走的原因。
述评 · 子策(Ace)| 基于该会话全量 341 条发言与工程记录,独立成文,未经润色迎合。