先聊清楚再写代码:AI时代被90%开发者忽略的「设计前置」工作流
你有没有试过这样:
对着 ChatGPT 狂敲“帮我写一个用户登录接口”,结果生成的代码用了你项目里根本没装的库,字段命名和团队规范完全对不上,还要反复改三轮——最后发现,问题压根不在代码,而在一开始就没说清“到底要什么”。
这篇文章不教你怎么调 API、不比模型参数、也不堆工具清单。
它讲一个更底层、更省力、也更适合新手上手的真相:
✅ AI 写不好代码,往往不是因为它笨,而是你还没想清楚;
✅ 最好的 Copilot,不是帮你补全 for 循环,而是陪你把“系统长什么样”先画出来。
🧠 为什么“先设计、后编码”才是真高效?
很多开发者一上来就让 AI 写代码,就像让装修队进门就砸墙——可你连户型图都没给。
而提米哥用的其实是反直觉但超顺滑的节奏:
- 第一阶段:纯聊天(不用代码)
- 用语音或打字,跟 ChatGPT / Gemini “边聊边想”:
这个功能到底解决谁的什么痛点?
边界在哪?比如“忘记密码”流程,要不要管短信发送?还是只负责跳转页面?
我们叫它resetToken还是recoveryCode?整个团队必须统一。 -
✅ 目标:把模糊想法,变成一句句能对齐的中文描述。
-
第二阶段:产出轻量设计文档(Markdown 就够)
把聊清楚的内容,整理成 5 分钟就能读完的小文档,例如:
## 【用户邮箱验证】设计快照(2024.06)
- ✅ 目标:新用户注册后,点击邮件链接完成邮箱绑定,跳转到首页
- ❌ 非目标:不发邮件(由另一服务负责)、不处理链接过期重发逻辑
- 🔑 核心术语:
- `verify_token`:JWT,有效期 1 小时,含 `user_id` 和 `email`
- `is_verified`:用户表布尔字段,仅在此流程中更新
- 📦 接口约定:
- GET `/auth/verify?token=xxx` → 返回 302 跳转 or 400 错误页
- 不暴露数据库细节,错误统一返回 `{"code": "INVALID_TOKEN"}`
💡 提示:这份文档不是给老板看的 PPT,而是你接下来所有 AI 提问的“说明书”。它越短越准,效果越好。
- 第三阶段:带着设计去写代码
此时才打开 IDE,让 GitHub Copilot 或 Claude Code 开工。
你给它的提示不再是“写个验证接口”,而是:“按上面设计文档实现
/auth/verify接口:用 Express + JWT,校验 token 后更新is_verified字段,成功则 302 跳转/,失败返回标准 JSON 错误。”
——这时 AI 不再猜你要什么,它只是精准执行。
🔁 已有老项目?一样适用!
别以为这只能用在全新项目。
提米哥常做的操作是:
– 把你关心的模块(比如 src/auth/)打包成 ZIP;
– 上传到 ChatGPT(支持文件解析的版本);
– 然后问:“当前登录逻辑里,session 和 JWT 是怎么共存的?如果我要加邮箱验证,哪些函数必须改?哪些可以复用?”
👉 这相当于给 AI 一本“项目说明书”,它立刻从“瞎猜模式”切换到“顾问模式”。
🛠️ 工具怎么分?记住两个词就够了
| 类型 | 代表工具 | 用在哪一步 | 关键动作 |
|---|---|---|---|
| 讨论型工具 | ChatGPT Plus、Gemini Pro、Claude(网页版) | 设计阶段 | 聊边界、定术语、列非目标、画流程草图 |
| 执行型工具 | GitHub Copilot、Claude Code(VS Code 插件)、Codex | 编码阶段 | 补全函数、写测试、翻译注释、修 Bug |
⚠️ 常见翻车现场:
– 用 Copilot 讨论“要不要加缓存?” → 它只会给你代码片段,没法帮你判断该不该加;
– 用 ChatGPT 写 React 组件 → 它可能生成过时语法,或忽略你项目的 ESLint 规则。
→ 工具错配,比模型差劲更伤效率。
🌟 最后送你一句提米哥办公桌贴纸语:
“好设计不会自动变成好代码,
但坏设计,一定会让好代码变成烂债。”
AI 不是魔法棒,它是你的“设计扩音器”——
你声音越清晰,它放大的结果就越可靠。
直达网址:https://dev.to/timmygao/how-i-use-ai-to-design-software-first-3j8c
