← 返回藏书阁

Prototype

wiki/ai/concepts/Prototype.md
分类:ai / concepts · 更新:2026-06-14 00:33

Prototype

A prototype is throwaway code that answers a question.

Matt Pocock 的 /prototype skill。根据问题类型分流到两个完全不同的分支。

分流

问题分支产出
"这个逻辑/状态模型对不对?"Logic交互式终端 app
"这个应该长什么样?"UI可切换的多变体页面

通用规则

  1. 从第一天起就标记为 throwaway
  2. 一条命令运行
  3. 默认不持久化 — 状态在内存中
  4. 跳过打磨 — 无测试、无错误处理、无抽象
  5. 暴露状态 — 每次操作后显示完整状态
  6. 回答完就删 — 答案(不是代码)是唯一值得保留的东西

Logic 分支

  • 隔离为可移植的纯模块(reducer / state machine / pure functions)
  • TUI 只是壳,逻辑模块可以被抬进真实代码
  • 每帧清屏重绘,用户看到稳定视图
  • 命令应该是自解释的(h: help)

UI 分支

  • 默认 3 个变体,上限 5 个
  • 强烈推荐 sub-shape A:在已有页面上用 ?variant= 切换
  • 最后手段 sub-shape B:全新 throwaway 路由
  • 底部浮动栏切换变体
  • 变体之间必须截然不同(radically different),不是微调

与"Design It Twice"的关系

Prototype 和 /improve-codebase-architecture 的接口设计都采用 Ousterhout 的"Design It Twice"理念 — 第一个想法通常不是最好的,生成多个截然不同的方案再比较。