我如何每天利用 AI 进行构建与交付
AI 让原型设计变得快速,但它并不能让交付变得容易。
Demo 只需要运行一次。而交付的软件必须能让陌生人使用、能够处理错误输入,并保持数月的稳定。AI 能让你免费完成第一部分,它能帮你更快地完成第二部分,但前提是你必须保持工程标准。
以下是我利用 AI 交付真实产品的方法。
秘诀在于定义问题(framing the problem)。如果你无法描述“完成”后的样子,AI 也无法做到。它会给你一个看起来正确但实际上错误的答案。
我会先写一份简短的规格说明(spec)。我会定义:
- 代码必须做什么。
- 代码绝对不能做什么。
- 我如何判断它是否有效。
我不直接要求功能,而是要求步骤。小步迭代优于上千行的代码块。你必须能够阅读并信任每一行代码。
我的日常工作流:
• 先让它跑起来。一个能运行的、丑陋的版本比一个完美的计划能教给你更多。 • 及早编写测试。让 AI 在编写代码的同时编写测试。仔细阅读这些测试。 • 阅读你保留的每一行代码。如果你无法解释某行代码,就不要合并它。 • 将它用于那无聊的 80% 的工作。让 AI 处理样板代码(boilerplate)、schema 和迁移(migrations)。 • 学习新工具。利用 AI 快速解释新的 library 或领域知识。 • 毙掉坏主意。构建一个极简版本来验证某种方法是否行不通。这只需要花费一小时,而不是一周。
AI 在最后的 20% 环节会失效。这正是你的判断力最关键的地方。
你必须掌控:
- 架构和数据模型。AI 可能会给你一个在后期引发问题的 schema。
- 安全性。永远不要在身份验证或个人数据方面信任 AI。
- 一致性。AI 的编写风格各异。你必须保持代码库的连贯性。
- 验证。AI 经常会“自信地犯错”。不要假设任何事情,要验证一切。
在保持高效的同时不把事情搞砸的规则:
- 绝不合并你无法解释的代码。
- 保持上下文精简。过大的提示词(prompts)会导致糟糕的回答。
- 把 AI 当作一个不知疲倦但毫无责任感的初级开发人员。如果代码崩溃,凌晨两点被叫醒的人是你。
- 为审查预留时间。现在的构建成本很低,确保正确才是昂贵的部分。
当打字变得廉价时,判断力就变得更加值钱。工程师真正的职责不是打字,而是定义问题、选择架构以及决定什么值得构建。
AI 并不会让工程变得更容易。它让“思考”成为了工作的全部。
Source: https://dev.to/manoharnegi/how-i-use-ai-every-day-to-build-and-ship-3oob
Optional learning community: https://t.me/GyaanSetuAi
