第4课:认识软件积木
用软件积木图理解页面、输入、输出、逻辑、AI、后端/API、数据库和服务器分别负责什么。
本课目标
第 3 课,你已经完成了一张项目定义卡。
第 4 课要做的是:把这张项目定义卡拆成软件里的几个常见积木。
这不是传统的前端课、后端课或服务器课。
你不需要学会写前端,也不需要学会搭服务器。
你只需要知道:
一个小工具可以先看成几块软件积木。
第一版先做必要积木,复杂积木可以以后再加。
本课结束时,你要完成一张“我的项目软件积木图”。
开始之前
你现在可能已经有了一张项目定义卡,比如:
| 项目定义项 | 周报生成助手 |
|---|---|
| 项目名称 | 周报生成助手 |
| 使用者 | 我自己 |
| 问题 | 每周写周报都要整理很多工作记录,很浪费时间 |
| 输入 | 这一周做过的事情 |
| 处理 | AI 帮我整理成已完成、进行中、下周计划 |
| 输出 | 一份周报草稿 |
| 第一版只做 | 输入文字,生成周报 |
| 第一版不做 | 登录、团队协作、自动读取聊天记录 |
| 成功标准 | 输入 10 条工作记录,得到一份可复制周报 |
这张卡已经说明了“要做什么”。
但真正让 AI 开始做之前,你还需要大概知道:
哪些东西是页面?
哪些东西是输入和输出?
哪些地方需要 AI?
哪些数据要不要保存?
第一版需不需要后端?
第一版需不需要数据库?
这不是为了让你变成工程师。
这是为了让你别把所有事情都混在一句话里。
一个小故事
阿宁的项目是“周报生成助手”。
她对 Codex 说:
帮我做一个周报生成助手。
Codex 可以开始做,但它可能不知道:
- 页面要长什么样。
- 输入框需要几个。
- 生成结果显示在哪里。
- 是否要保存历史周报。
- 是否要登录。
- 是否要调用真正的 AI。
- 如果暂时没有 AI Key,要不要先做一个假输出。
老师让阿宁先把项目拆成软件积木:
| 积木 | 周报生成助手里的样子 |
|---|---|
| 页面 | 标题、输入区、生成按钮、结果区、复制按钮 |
| 输入 | 用户粘贴的工作记录 |
| 输出 | 生成出来的周报草稿 |
| 逻辑 | 点击按钮后,把输入交给 AI,再显示结果 |
| AI | 把乱工作记录整理成周报结构 |
| 后端/API | 如果要安全调用 AI,可能需要后端接口 |
| 数据库 | 第一版先不保存历史,所以暂时不需要 |
| 服务器/部署 | 第一版先本地运行,暂时不部署 |
这样一拆,Codex 就更容易知道第一版要做什么,不做什么。
软件常见的 8 块积木
1. 页面
页面就是用户看到和操作的地方。
比如:
- 标题。
- 说明文字。
- 输入框。
- 按钮。
- 结果区。
- 复制按钮。
- 颜色和布局。
一句话记住:
页面 = 用户看见和点击的部分
如果你想改“长什么样”“按钮在哪里”“输入框有什么提示”,通常是在说页面。
2. 输入
输入就是用户交给工具的材料。
比如:
- 一段工作记录。
- 一个产品名称。
- 一个目标人群。
- 一段聊天记录。
- 客户姓名和备注。
一句话记住:
输入 = 用户交给工具的原材料
输入不清楚,工具就不知道从哪里开始。
3. 输出
输出就是工具最后给用户的结果。
比如:
- 一份周报草稿。
- 5 个标题。
- 一个待办清单。
- 今日客户跟进建议。
- 一张整理好的表格。
一句话记住:
输出 = 工具最后交给用户的结果
输出不清楚,就很难判断项目是否完成。
4. 逻辑
逻辑就是“发生什么之后,应该做什么”。
比如:
点击生成按钮后,
检查输入框有没有内容,
把内容交给 AI,
等待 AI 返回,
把结果显示在页面上。
一句话记住:
逻辑 = 工具内部的动作规则
很多按钮“点了没反应”,就是逻辑没有写好,或者逻辑出错了。
5. AI
AI 是负责理解、生成、总结、分类、判断的部分。
比如:
- 把工作记录整理成周报。
- 生成标题。
- 从聊天记录里提取待办。
- 根据客户备注生成跟进话术。
一句话记住:
AI = 负责理解和生成内容的能力
但 AI 不是所有东西。
页面不是 AI,按钮不是 AI,数据保存也不只是 AI。
6. 后端和 API
后端是处理更安全、更复杂事情的地方。
API 是前端和后端说话的通道。
你可以先这样理解:
后端 = 在页面背后处理事情的地方
API = 页面和后端说话的通道
比如,前端页面把用户输入发给后端,后端再去调用 AI,然后把结果返回给页面。
为什么有时需要后端?
- API Key 不应该直接暴露在页面里。
- 有些数据需要安全保存。
- 有些规则不适合放在浏览器里。
- 以后可能要登录、权限、历史记录。
第一版不一定都需要复杂后端,但你要知道它的作用。
7. 数据库
数据库是长期保存数据的地方。
如果你只是做一个“输入后生成结果”的工具,第一版可能不需要数据库。
如果你希望刷新后还能看到历史记录,或者下次打开还能继续用以前的数据,通常就要考虑保存数据。
一句话记住:
数据库 = 长期保存信息
8. 服务器/部署
服务器或部署平台,是让程序持续运行、能被别人访问的地方。
如果只是课堂练习,可以先在本地电脑运行。
真正让别人通过网址访问,才需要部署到服务器或平台。
一句话记住:
服务器/部署 = 让程序运行并能被别人访问
不要把所有东西都叫 AI
新手很容易把所有东西都说成:
AI 帮我做一下。
但一个小工具里,AI 只是其中一块。
以“小红书标题助手”为例:
| 需求 | 属于哪块 |
|---|---|
| 页面上有产品输入框 | 页面 / 输入 |
| 点击按钮后开始生成 | 页面 / 逻辑 |
| 根据产品生成 5 个标题 | AI |
| 把标题显示在结果区 | 页面 / 输出 |
| 保存我上次生成的标题 | 数据库 |
| 安全调用 AI Key | 后端 / API |
| 让别人通过网址访问 | 服务器 / 部署 |
知道这些分类后,你问 Codex 时就可以更具体。
第一版通常只需要哪些积木
一个新手第一版 AI 小工具,通常先做:
页面
输入
按钮
输出
简单逻辑
AI 生成
暂时不做:
登录
多人协作
复杂数据库
权限系统
支付
自动发布
完整后台
不是这些东西不重要,而是它们会让第一版变大。
第一版先跑通一个小闭环:
输入 -> 点击 -> AI 处理 -> 输出 -> 人能判断有用
课堂练习:判断它属于哪块
请判断下面需求主要属于哪块。
可选项:
页面 / 输入 / 输出 / 逻辑 / AI / 后端/API / 数据库 / 服务器
| 需求 | 属于哪块 |
|---|---|
| 改按钮颜色 | |
| 添加一个产品名称输入框 | |
| 点击按钮后检查输入不能为空 | |
| 根据产品生成 5 个标题 | |
| 把标题显示在结果区 | |
| 复制生成结果 | |
| 保存历史记录 | |
| 刷新后记录还在 | |
| 安全调用 AI Key | |
| 让别人通过网址访问 |
自己动手:我的项目软件积木图
拿出第 3 课写好的项目定义卡,填写下面这张表。
| 项目 | 我的填写 |
|---|---|
| 我的项目名称 |
| 积木 | 我的项目里对应什么 | 第一版需要吗 |
|---|---|---|
| 页面 | 需要 / 不需要 / 以后再说 | |
| 输入 | 需要 / 不需要 / 以后再说 | |
| 输出 | 需要 / 不需要 / 以后再说 | |
| 逻辑 | 需要 / 不需要 / 以后再说 | |
| AI | 需要 / 不需要 / 以后再说 | |
| 后端/API | 需要 / 不需要 / 以后再说 | |
| 数据库 | 需要 / 不需要 / 以后再说 | |
| 服务器/部署 | 需要 / 不需要 / 以后再说 |
再整理成三句话:
| 问题 | 我的答案 |
|---|---|
| 第一版必须有的积木 | |
| 第一版先不做的积木 | |
| 我最不确定的一块是 |
给 AI 的一句话
当你有项目定义卡后,可以让 Codex 帮你判断软件积木:
我是完全不会代码的新手。下面是我的项目定义卡。
项目名称:
使用者:
要解决的问题:
用户输入:
工具处理:
工具输出:
第一版只做:
第一版不做:
成功标准:
请你先不要写代码。
请帮我把这个项目拆成软件积木:
1. 页面需要什么。
2. 用户输入是什么。
3. 工具输出是什么。
4. 中间逻辑是什么。
5. 哪些地方需要 AI。
6. 第一版是否需要后端/API。
7. 第一版是否需要数据库。
8. 第一版是否需要服务器/部署。
请特别指出:哪些东西第一版可以先不做。
这张提示词的作用,是让 AI 帮你把项目从“想法”变成“工程地图”。
但注意:这里仍然先不要写代码。
先看地图,再开工。
本课小结
今天你要记住:
- 不要把所有东西都叫 AI。
- 页面、输入、输出、逻辑、AI、后端/API、数据库、服务器是不同积木。
- 第一版通常先做页面、输入、按钮、输出、简单逻辑和 AI。
- 数据库、登录、部署、多人协作可以以后再做。
- 你不需要会写这些技术,但要能大概判断需求属于哪一块。
课后任务
把自己的项目定义卡发给 Codex,让它帮你拆成软件积木。
使用上面的提示词卡。
然后回答:
| 问题 | 我的答案 |
|---|---|
| 我的第一版必须做哪些积木 | |
| 我的第一版先不做哪些积木 | |
| 我最不懂的一块是 | |
| 我准备在第 5 课问 AI 什么 |
本课最低标准
你能说出:
软件不是一整坨,可以拆成页面、输入、输出、逻辑、AI、后端/API、数据库和服务器这些积木。
第一版先做必要积木,复杂积木可以以后再加。
并且你完成了一张“我的项目软件积木图”。
下一课,我们会学习如何把项目定义卡和软件积木图组织成更合格的 Codex 任务。