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

工作流有三种状态:草稿、已发布、已下线。智能体只看得到已发布的。 发布之后还有一步:把工作流添加到智能体。漏了这一步,用户说半天它也不动。 测试面板能看到每一步的中间值,线上只看得到最终结果。调试必须在测试面板里做。

📝 本章和前面几章的关系

这一节很短,但它是全书最容易「配了却没用」的地方。 第 10.4 节讲过「不发布不能被引用」,这里讲透。 发布这件事在平台上就是个按钮,没什么技术含量。麻烦的是它改变了「谁能看见你」。 这一节还有个不那么明显的事:测试面板和线上看到的东西不一样。这决定了你该怎么排错。

一、三种状态

状态 意味着什么
草稿 刚建好,只有自己能开
已发布 别人能调,智能体也能挂
已下线 曾经发布过,现在停了

三种状态里,「已发布」是唯一能被外部看见的。 「已下线」是个容易被忽略的状态:它不像「删了」那么彻底,但从调用方的角度看,效果一样——调不到。 所以排查「为什么它不工作」的时候,第一个要看的就是状态,不是提示词。

二、智能体只看得到一条

演示里三条工作流,状态各不相同。智能体查工具列表,只返回一条。 草稿版看不见,下线版也看不见。只有「已发布」那条出现在列表里。 这解释了一个很常见的现象:明明在编辑器里跑得好好的,接到智能体上就报「没有可用工具」。

「配好了」和「能被调用」是两件事,中间隔着一个「发布」。

三、发布之后还有一步

做到哪一步 能干什么 还差什么
建好工作流 编辑器里能跑 别人用不了
发布 有了可调用的版本 工具列表里出现了
添加到智能体 智能体会主动调它 这才算真正接上

第三行最容易被漏。工作流发布了,但没加到智能体里,用户说半天它也不动。 第 11.6 节讲人设时会再碰到这件事:人设里得写明「什么时候调这个工作流」。 光挂上不够,还得告诉它什么时候用。

四、测试面板和线上

在哪看 能看到什么 给谁看
测试面板 每一步的输入输出、提示词原文、耗时 调试用
线上 只有最终结果 用户看这个

所以调试一定要在测试面板里调。线上出了问题,只能靠结束节点多交的字段反推。 这就是 11.3 节那个 prompt_used 的用处:线上看不到中间值,但这个字段把最关键的那一步留下来了。 留账的字段,是为了线上排错。 测试的时候觉得没用,出事的时候才知道值钱。

五、发布前检查这五条

一、状态是「已发布」吗。 二、加到智能体的工具列表里了吗。 三、三个必填参数都设了吗(漏一个,用户填不全就调不动)。

四、出图失败有兜底吗(接口超时、额度用完,用户看到什么)。 五、结束节点交的字段,智能体拿得到吗(第 8.7 节那个坑)。 五条都过了再点发布。这五条一条不过,上线就是一次客服工单。

六、动手 Demo:不发布,智能体就看不见它

三条工作流三个状态,看智能体的工具列表里出现几条。 再列一遍「建好、发布、添加」这三步,看漏哪一步会卡住。

FLOWS = [(u'室内设计工作流', u'草稿'),
         (u'文案仿写', u'已发布'),
         (u'海报生成', u'已下线')]

vis = [n for n, st, _d in FLOWS if st == u'已发布']

实跑输出:

--------------------------------------------------------------------
不发布,智能体就看不见它
--------------------------------------------------------------------


  ① 工作流有三种状态
  --------------------------------------------------------------------

| 工作流 | 状态 | 意味着什么 |
|---|---|---|
| 室内设计工作流 | 草稿 | 刚建好,只有自己能开 |
| 文案仿写 | 已发布 | 别人能调,智能体也能挂 |
| 海报生成 | 已下线 | 曾经发布过,现在停了 |


  ② 智能体的工具列表里能看到谁
  --------------------------------------------------------------------
  智能体查工具列表,只返回 1 个:文案仿写
    室内设计工作流(草稿):看不见
    文案仿写(已发布):可见
    海报生成(已下线):看不见
  草稿版连自己都不一定调得动——它只在编辑器的测试面板里跑。
  ! 「配好了」和「能被调用」是两件事。 中间隔着一个「发布」。

  ③ 发布之后还有一步
  --------------------------------------------------------------------

| 做到哪一步 | 能干什么 | 还差什么 |
|---|---|---|
| 建好工作流 | 编辑器里能跑 | 别人用不了 |
| 发布 | 有了一个可调用的版本 | 智能体的工具列表里出现了 |
| 添加到智能体 | 智能体会主动调它 | 这才算真正接上 |

  第三行最容易被漏。工作流发布了,但没加到智能体里,用户说半天它也不动。
  第 11.6 节讲人设时会再碰到这件事:人设里得写明「什么时候调这个工作流」。

  ④ 测试面板看到的和线上看到的不一样
  --------------------------------------------------------------------

| 在哪看 | 能看到什么 | 给谁看 |
|---|---|---|
| 测试面板 | 每一步的输入输出、提示词原文、耗时 | 调试用 |
| 线上 | 只有最终结果 | 用户看这个 |

  所以调试要在测试面板里调。
  线上出了问题,只能靠结束节点多交一个字段(比如 11.3 节那个 prompt_used)反推。

①第一张表三种状态:草稿、已发布、已下线,各意味着什么。 ②第二段逐个打印可见性:只有「已发布」那条是「可见」。 ③第三张表三步:建好、发布、添加到智能体。第三步最容易被漏。 ④第四张表:测试面板能看到每一步的中间值,线上只有最终结果。 ⑤这就解释了为什么调试要在测试面板做,线上只能靠留账字段反推。

30 秒实验

  1. 打开你的工作流,看状态是不是「已发布」。不是的,这就是它不工作的原因。
  2. 把已发布的删掉再试一次,看智能体报什么错。记住这个错的样子。
  3. 给你的结束节点加一个「留账」字段,把最关键那一步的中间值存下来。

常见误区

  1. 「编辑器里能跑就行。」草稿状态智能体看不见,只能自己开。
  2. 「发布了就等于接上了。」还要添加到智能体。漏了这步,用户说半天它也不动。
  3. 「线上也能看中间值。」看不到。要排错就在测试面板排,线上靠留账字段。
自测三问(点开对答案) 1. 三种状态哪种能被调用? —— 只有「已发布」。草稿和已下线在智能体的工具列表里都看不见。 2. 发布之后还要做什么? —— 把工作流添加到智能体。不添加,它不会主动调。 3. 测试面板和线上差在哪? —— 测试面板能看到每一步的中间值和提示词原文,线上只有最终结果。

链发布完了,下一节给它配记忆:一张客户表。字段怎么定是这一节的重点。

相关笔记