大模型的生成机制、工具选用与工作台搭建
大模型里没有现成的答案,它根据已有内容逐个预测下一个词。温度控制挑词的随机程度,不改变模型知道什么。
根据已有内容逐词生成文本的模型。内部没有存放现成的答案。
每一步给出一批候选和各自的概率,挑一个接上,再算下一个。前面挑的词不同,后面越走越远。
控制挑词随机程度的参数。温度低时总挑概率最高的,输出稳定;温度高时概率较低的词也会被选中,说法多变。
问它"我们班这学期的课表"
照样答得有模有样,内容是接出来的
回答是按概率接出来的文字
AI 不可能知道的事,回答不能当依据
试三次碰上一次对的
第四次照样会错
公式、取整方式、文件形态、界面有几栏,各写成一句能检查的话
每次生成都能逐条检查
| 操作 | 能看到的现象 |
|---|---|
| 看任意一步的候选列表 | 候选不止一个,概率也不是百分之百 |
| 温度拉到最左,连按三次「自动接十个词」 | 三次走出来的句子完全相同 |
| 温度拉到最右,再连按三次 | 同一个开头走出几条不同的句子 |
| 切到「一段代码」标签 | 候选更少、概率更集中,常有一个候选占九成以上(见 2.5) |
token 是模型处理文本的最小单位。一个汉字大致占一到两个 token,一段 500 字的中文需求约合 700 到 1000 个 token。
模型处理文本的最小单位。英文常用词通常算一个,一个汉字大致占一到两个。
把文字切成 token 的过程,切在哪里由模型自带的分词器决定。
500 字的需求算 500 个单位
估少了,账单和窗口上限都按 token 计
纯中文需求按字数的一点五倍估
500 字约合 700 到 1000 个 token
大模型按 token 计费,输入和输出分别计价,生成一次名片页,需求加代码合起来大约一两千 token。2023 年以来,同等能力的模型调用价格持续下降,同一条需求发三次做对比,成本可以忽略。工程上把这种做法叫作用算力换确定性,而判断哪一版对、哪几处必须写死,仍然只能由人来做。
上下文窗口是模型一次能读进去的 token 上限,装满后最早的内容被挤出去。AI 开始重复犯已经纠正过的错误,就该开新会话。
模型一次能读进去的 token 上限。会话的全部内容加上 AI 自己的回复,都要装进这个窗口。
一次连续的对话。每次提问时,会话里的内容连同新问题一起送过去;新会话不带之前的内容。
名片页做完,接着在同一个会话里做别的题目
聊到后面,AI 又开始拆文件
换题目就开新会话,把定下的约束重新贴一次
约束一直在窗口里
幻觉是模型给出的看上去合理、实际不成立的内容。它不知道自己不知道,也不做任何标记。
看上去合理、实际不成立的内容。模型没有对应知识时,照样能接出一句读着通顺的话。
AI 列的参考文献直接放进作业
去数据库里查不到这几篇
姓名、电话、学号、机构名称、数据、参数写法,逐条自己验
AI 给的内容只当初稿
代码规矩硬、公开样本多,所以 AI 写的代码大多能跑。越是只有你们专业才有的规则,AI 越会按最常见的做法替你换掉。
看页面好不好看、代码整不整齐
专业规则被换成通行做法,没有发现
逐条对照这些规则有没有被改掉
被替换的规则在交付前找出来
选工具先问一句:出了问题看不看得见。本课程主线用第一级对话助手;工作台三样:编辑器、文件夹规范、改前复制。
能看到工具做了什么、改了哪几行;出了问题,能定位到哪一步错了。
代码有颜色,括号成对高亮,少一个符号当场标红。记事本看不出这些结构。
只给一个网址的工具,效果好就用
页面不对时只能再描述一遍,碰运气
整段代码交到你手上
坏了可以逐块检查、逐块替换
没留副本,攒了五处才刷新
改坏了退不回去,也分不清是哪一处
改一处,刷新一次
能退回上一版,也能定位问题
同一条需求在三个新会话里各发一次,找出 AI 替你做主的地方。要紧的那几条写成能检查的句子,再发三次都一样,这条需求才算写稳。
| 第一版 | 第二版 | 第三版 | 改后需求里的句子 | |
|---|---|---|---|---|
| 主色 | 绿色 | 蓝色 | 绿色 | 绿色为主色 |
| 布局 | 单列卡片 | 顶部横幅加两栏 | 单列卡片 | 单列布局,手机屏幕优先 |
| 自我介绍 | 42 字 | 88 字 | 35 字 | 一段自我介绍,不超过 60 字 |
| 联系方式 | 点按钮才显示 | 直接印在页面上 | 点按钮才显示 | 联系方式默认隐藏,点一个按钮之后才显示 |
| 多余功能 | 没有 | 没有 | 多一个下载简历按钮 | 除以上内容之外,不要自行增加任何功能 |
| 文件数 | 1 个 | 3 个 | 1 个 | 全部合并到一个 .html 文件 |
"我的专业名片"三次生成的结果:红字是三版不一致处,标黄的三行交出去就是问题。AI 不会标出哪些地方是它自己定的,只能靠对比多次结果找出来。
发出需求,对照结果找差距,把差的几条改写成可执行的句子,再发三次核对,直到写稳。
配色深浅、圆角大小、自我介绍写多长。三版各不相同,拿给谁看都不影响使用。
拆成三个文件、联系方式印在页面上、多一个点了没反应的按钮、引用了网上的字体。
"简洁""大气""专业"
每次理解都不同,决定权交回给 AI
"介绍不超过 60 字,页面只有一列,主色用绿色"
每一条都能检查
没说要不要下载按钮
AI 顺手加一个,点了没有反应
"除以上内容之外,不要自行增加任何功能"
能压住大半多余功能
写在会话最前面、整个会话一直生效的一段叫系统提示词。它分身份、任务、边界三段,出问题的几乎都在边界段。
每次发给 AI 的话。
写在最前面、整个会话一直生效的一段。有的工具在设置里提供"角色设定"输入框,填的就是它。
| 提示词中的规定 | 缺少时的表现 | 来自 |
|---|---|---|
| 说明有哪些地方是你自己决定的 | AI 替你做的决定不会自己冒出来,得点名要它交代 | 2.7 |
| 没有写到的功能一律不要自行添加 | AI 把没提到的部分补齐,多出来的功能没人验收 | 2.7 |
| 一律写成明显的占位内容 | 编造的姓名与电话混进作品,交付时才被发现 | 2.4 |
| 不确定的地方直接写"这一处需要你确认" | AI 不知道自己不知道,不点名要求,就替你定一种 | 2.5 |
"尽量不要拆成多个文件"
等于没写,遇到范围外的情况 AI 自行决定,也不告诉你
"不要拆成多个文件"
构成约束,可以逐条检查
三个题目做同一件事:粗需求发三次,找出 AI 替你做主的地方,把要紧的写死,再发三次验证。
装好编辑器;在"零代码课"下建本章文件夹,粗需求存成 需求_初版.txt
产出:本章文件夹粗需求在三个新会话里各发一次,存成 v1、v2、v3,各双击一次
产出:三份初版至少五处,写清哪一版是什么样,写事实不写评价;标出哪几处必须写死
产出:差异表每处要紧的差异写一句能检查的约束,不用形容词,存成 需求_改后.txt
产出:改后的需求身份、任务、边界三段,边界段至少三条,不用"尽量""适当"
产出:系统提示词用改后的需求新开三个会话各发一次,三份结果并排,按约束逐条核对
产出:复测对照说明| 差异项 | 第一版 | 第二版 | 第三版 | 必须写死 | 约束句 |
|---|---|---|---|---|---|
| 联系方式 | 点按钮才显示 | 直接印在页面上 | 点按钮才显示 | 是 | 联系方式默认隐藏,点一个按钮之后才显示 |
差异表样式。第一行是名片页的例子,换成自己题目的差异,至少五行。
结果不对时,先按现象找到原因,再改会话用法或约束写法。
| 现象 | 原因 | 处理 |
|---|---|---|
| 三次结果几乎一模一样 | 需求本身已经写得很具体,或这个工具的温度设得很低 | 换一条更粗的需求重做,或换一个工具再试;两个工具都一样,就把需求再写粗一点 |
| 三版差异很小,看不出名堂 | 在同一个会话里连发了三遍,后两次 AI 看得见前面的回答 | 每一次都新开会话,三次之间不能有任何关联 |
| 差异表写成"第二版更好看" | 写的是评价,不是差异 | 改成能对照的事实:第一版单列,第二版顶部横幅加两栏 |
| 改完需求,每次结果还是不一样 | 那一条写成了形容词,没法检查 | 把"简洁一点"改成"介绍不超过 60 字,页面只有一列" |
| 边界段写了却不管用 | 句子里带着"尽量""适当""合理" | 去掉这些词,改成肯定或否定的一句话 |
| 聊到后面 AI 又开始拆文件 | 开头那几句约束已被挤出上下文窗口 | 开一个新会话,把系统提示词和约束重新贴一次 |
| 三个文件互相覆盖,只剩一个 | 三次都存成了同一个文件名 | 存成 v1、v2、v3,或者分三个子文件夹存放 |
| 页面里出现 13800138000 | 流传多年的示例号码,AI 顺手填了进来 | 页面上所有事实性内容自行替换,交之前搜一遍 |
提交四项内容,按八条标准验收;选做一项。
按作业模板(Word)填写,开头注明所选题目,提交渠道见课堂通知,当堂提交。
零代码应用开发 · 第 2 章 AI 是怎么写代码的