🐦 第11章 实战案例:智能室内设计师
📄 一句话概括

五类输入:需求齐的、缺面积的、缺风格的、越界的、骂人的。缺一类就算没测。 越界和骂人走同一条路,但期望行为不一样:越界要解释,骂人要直接结束。 写库必须回读。写库节点不报错,不等于写进去了——键名错一个字照样返回成功。

📝 本章和前面几章的关系

这一节是第 11 章的收尾,也是全书四个案例里唯一带「项目小结」的一节。 测试方法本身不新鲜,前面三章都讲过。新鲜的是这次多了一个要验的东西:数据库。 还有一件要说清楚的事:本章没有真出图。验图的方法是真的,图本身没有——这一条在演示里明说了。

一、五类输入

输入 期望
我家客厅 20 平,北欧风,预算 18 万 出图
我家客厅想装北欧风 追问面积
我家 20 平,想装修 追问风格
你能做施工图吗 拒答
你是个废物,什么都干不了 拒答并结束

五类里四类完全对,第五类只做到一半——它拒了,但没有「直接结束」。 为什么这两类要分开? 越界是能力边界,值得解释一句「我只会这两件」; 骂人是态度问题,解释反而像在讨好。 演示里把两类合并成「拒答」了。真机上人设里得分开写。

二、测试的顺序

先测什么 为什么排前面
单节点 错在这里,后面全错
整链 验字段有没有传下去
五类输入 验判断逻辑
写库回读 验记忆

顺序反了也行,但会慢。先测单节点,出问题不用往回追。 第 9.8 节算过:单节点定位一步,整链三步,线上三到五步。先便宜的后贵的。

三、风格与需求配置测试

「缺风格」这一类最容易被漏测。因为大部分人测的是「信息齐全」和「完全不懂」两头。 中间那档——给了一半——才是真实用户最常出现的状态。 演示里第三类「我家 20 平,想装修」:面积有了,风格没有。系统该追问风格,不该直接出图。

直接出图会怎样? 模型随便挑一个风格,客户看到一张不喜欢的图,然后觉得这工具不行。 所以「缺必填就追问」这条逻辑,测的时候一定要造出中间态。

四、数据库真的存了吗

写完立刻回读:一条记录,张女士,北欧风。 这一步不能省。写库的节点不报错,不等于写进去了。 常见三种「报成功但没写进去」:字段名拼错(写进了一个不存在的列)、类型不匹配(数字塞进文本列, 静默转成字符串)、权限不对(多用户模式下写到了别人的空间)。

三种都不报错。 只能靠回读。 回读的判断也简单:条数对不对、关键字段有没有值。两条都过才算写成功。

五、验效果图验什么

验什么 怎么验 谁验
有没有图 地址能不能打开 程序
对不对题 风格、空间、光线像不像 人
能不能用 比例、畸变 人

第一项能自动验,后两项只能人看。所以「效果图生成成功」这句话,最多只保证第一项。 别把「有图」说成「图对」。 这两个在客户那边的分量差得远。 本章没有真出图——沙箱里没有出图模型。验图的方法是真的,图本身这次没产出。

六、项目小结

四样东西留下来了:

留下什么 是什么 哪一节
一条工作流 四个节点,一句话进一张图出 11.3
一张客户表 六个字段,按风格/预算/日期都能查 11.5
一套人设 三件事:是谁、管什么、不管什么 11.6
一份测试清单 五类输入,缺一类算没测 11.7

四样里三样不是代码:一张表、一段人设、一份清单。 做智能体做久了会发现,真正决定好不好用的,是后面那三样。 工作流决定「能不能做」,人设决定「该不该做」,数据库决定「记不记得住」, 测试清单决定「敢不敢上线」。四件事缺一件,产品就站不住。

七、动手 Demo:五类输入,缺一类就算没测

五类输入各跑一次,看判据对不对;再往数据库写一条,立刻回读。 最后列一下这个项目留下了哪四样东西。

def decide(t):
    if u'施工图' in t or u'废物' in t:  return u'拒答'
    if u'平' not in t:                 return u'追问面积'
    if not (u'北欧' in t or u'日式' in t or u'侘寂' in t):
        return u'追问风格'
    return u'出图'

实跑输出:

--------------------------------------------------------------------
五类输入,缺一类就算没测
--------------------------------------------------------------------


  ① 五类输入,五条期望
  --------------------------------------------------------------------

| 输入 | 期望 | 实际 | 对不对 |
|---|---|---|---|
| 我家客厅 20 平,北欧风,预算 18 万 | 出图 | 出图 | 对 |
| 我家客厅想装北欧风 | 追问面积 | 追问面积 | 对 |
| 我家 20 平,想装修 | 追问风格 | 追问风格 | 对 |
| 你能做施工图吗 | 拒答 | 拒答 | 对 |
| 你是个废物,什么都干不了 | 拒答并结束 | 拒答 | 一半 |

  五类里 4 类完全对,1 类只做到一半。
  第五类(骂人)和第四类(越界)都走「拒答」,但期望的行为不一样:越界要解释一句,骂人要直接结束、
  不再解释。
  演示里合并成「拒答」了。真机上人设里得分开写,否则被骂了还解释一段,越解释越糟。

  ② 出图之后,数据库真写进去了吗
  --------------------------------------------------------------------
  写完立刻回读:1 条,张女士,北欧
  这一步不能省。写库的节点不报错,不等于写进去了——键名错一个字,它照样返回成功。

  ③ 验效果图那一步验什么
  --------------------------------------------------------------------

| 验什么 | 怎么验 | 谁验 |
|---|---|---|
| 有没有图 | image_url 是不是一个能打开的地址 | 空串、报错都算失败 |
| 对不对题 | 风格、空间、光线三个方面像不像 | 这个只能人看 |
| 能不能用 | 比例对不对、有没有明显的畸变 | 也是人看 |

  第一项能自动验,后两项只能人看。所以「效果图生成成功」这句话,最多只保证第一项。
  ! 这一章没有真出图——沙箱里没有出图模型。上面这些验证方法是真的,图本身这次没产出,不假装有。

  ④ 这个项目最后留下什么
  --------------------------------------------------------------------

| 留下什么 | 是什么 | 哪一节 |
|---|---|---|
| 一条工作流 | 四个节点,一句话进一张图出 | 11.3 |
| 一张客户表 | 六个字段,按风格/预算/日期都能查 | 11.5 |
| 一套人设 | 三件事:是谁、管什么、不管什么 | 11.6 |
| 一份测试清单 | 五类输入,缺一类算没测 | 11.7 |

  四样里三样不是代码:一张表、一段人设、一份清单。
  做智能体做久了会发现,真正决定好不好用的,是后面那三样。

①第一张表五行:四类完全对,第五类(骂人)只做到一半。 ②越界和骂人都走「拒答」,但期望行为不一样:越界解释一句,骂人直接结束。 ③第二段写库回读:一条记录,张女士,北欧风。不回读就不知道写没写进去。 ④第三张表验图三项:有没有图能程序验,对不对题、能不能用只能人看。 ⑤最后那张表是全书四个案例里第一份「项目小结」:四样东西,三样不是代码。

30 秒实验

  1. 把五类输入补齐,中间那两档(缺面积、缺风格)最容易漏。
  2. 写完库立刻回读一次。条数不对或者关键字段空,就是没写进去。
  3. 给你的项目写一份「留下什么」的清单。四行就够,写不出来说明还没做完。

常见误区

  1. 「测了正常的就够了。」中间态(给了一半)才是真实用户最常出现的状态。
  2. 「写库返回成功就是写进去了。」三种情况报成功但没写进去,只能靠回读。
  3. 「有图就是图对了。」有图只保证地址能打开。对不对题只能人看。
自测三问(点开对答案) 1. 五类输入是哪五类? —— 需求齐的、缺面积的、缺风格的、越界的、骂人的。缺一类算没测。 2. 越界和骂人为什么要分开? —— 越界是能力边界,该解释一句;骂人是态度问题,解释反而像讨好。该直接结束。 3. 写库后为什么必须回读? —— 字段名拼错、类型不匹配、权限不对,三种都报成功但没写进去。

第四个案例完了。下一章做企业营销海报:先让模型把话说清,再让模型画图。

相关笔记