AI 编写代码,但它无法定义什么是“完成”。
我开发了一个 AI 幻灯片生成器。你只需输入一个主题,就能得到一份演示文稿。
AI 演示版运行得非常快。它能写大纲,制作幻灯片,并导出文件。在我的屏幕上,它看起来已经大功告成了。
但它并没有真正完成。
AI 证明了一个用户可以一次制作一份幻灯片。但真正的产品完全不同。它需要同时处理 100 个用户,必须准确计费,必须在某个步骤失败时具备恢复能力,还必须导出一个能在 PowerPoint 中正常打开的文件。
AI 没有添加这些功能,因为我没有告诉它。
当你利用 AI 进行开发时,难点不在于描述功能,而在于定义什么是“完成”。
我使用 Velobase Harness 作为底层架构。它处理了身份验证 (auth)、支付、积分和数据库。这让我能够让 AI 专注于 PPT 生成本身。
这正是“看起来完成了”与“真正完成了”产生分歧的地方。我发现了四个主要的差距:
并发性 (Concurrency):AI 认为一次成功的运行就等于功能开发完成。但真正的系统需要将任务拆分为队列。你必须将每张幻灯片的生成作为一个独立的作业 (job),以便工作节点可以进行扩展。
计费 (Billing):AI 只会扣除一次积分然后停止。真正的产品需要一个状态机 (state machine)。你必须预留积分,根据实际使用情况进行结算,并在失败时进行退款。
自我审查 (Self-review):如果后端在静默状态下重试任务,用户只会看到一个旋转的加载图标。你必须展示状态。用户应该看到“正在检查”或“正在重绘”,这样他们才知道系统正在运行。
导出 (Export):幻灯片在浏览器中看起来很棒,但在 PPTX 文件中可能会乱码或错位。需求不仅仅是生成一个文件,而是要求该文件必须与网页预览保持一致。
我改变了指令方式。我不再给 AI 提供功能列表,而是开始给它提供验收标准 (acceptance criteria)。
我对 AI 的新规则:
- 构建生产级别的 SaaS,而不是演示 Demo。
- 支持 100 个并发用户。
- 为规划和幻灯片创建使用独立的队列。
- 将每一次模型调用都连接到计费系统。
- 根据积分余额暂停和恢复任务。
- 在每张幻灯片生成后进行布局检查。
- 确保 PPTX 导出结果与视觉预览一致。
- 编写针对并发和失败情况的测试,而不仅仅是针对成功情况。
AI 写代码很快。它只是不知道什么才算得上是可交付的代码。它把本地演示 Demo 当作了一个完整的系统。
人的职责是提供工程边界、失败案例和业务规则。
Harness 提供 SaaS 基础。AI 实现逻辑。你只需要提供最精准的输入。
如果你发布了一款由 AI 构建的产品,那么在“它能运行”与“它已准备好交付给客户”之间,最难跨越的鸿沟是什么?
来源:https://dev.to/velobasex/ai-can-write-the-code-it-cant-tell-you-when-the-product-is-done-4oh6