🐦 第2章 扣子 AI 应用开发平台介绍
📄 一句话概括

五步:设计思路、接入模型、构建工作流、创建智能体、发布。 每一步都有一个「怎么算过」的判据——不是「点了下一步」,是「看到了预期的结果」。 这一节把这五步走完一遍,最后得到一条四节点的链,而它就是后面九个案例的共同骨架。

📝 本章和前面几章的关系

前五节讲平台,这一节开始动手。这是全书第一个完整流程,走通了后面都是它的变体。 教材在这一节分了五个三级小节,正好对应五步。 这一篇把它们串起来讲,因为拆开看你不知道为什么是这个顺序。 平台步骤会写成「第几步点哪里」,标「平台原样 · 本沙箱不执行」; 其中能算的部分——工作流的结构、节点的输入输出——这里真跑一遍。

一、第一步:设计思路

动手之前先在纸上回答三个问题:输入是什么、中间要查什么、最后交什么。 输入决定开始节点要接几个字段。查什么决定中间要几个节点。交什么决定结束节点输出什么类型。 教材的入门案例是一个「能答公司制度」的小助手。输入一句话,中间查制度,最后交一句带出处的答复。

判据:你能用一句话说出这条链有几个节点、每个节点吃什么吐什么。说不出来就是没想清楚。 这一步花的时间最值。跳过它直接开工作流,会在连到第五个节点时发现自己不知道要什么。

二、第二步:接入大模型

在平台里选模型。教材统一用 DeepSeek,理由是中文够用、支持长上下文、价格低。 选完先别急着配节点,做一件事:在对话框里问一句「你好」,看字回不回来。 这一步看着多余,其实在排掉最常见的三类问题:密钥没配、额度用完、模型名写错。 这三类问题在后面会伪装成「工作流跑不通」,让你查错地方。

判据:对话框里能正常回一句话。回不来就别往下走。

三、第三步:构建工作流

新建一个工作流,出现的是「开始」和「结束」两个节点,中间空的。 把「知识库检索」拖进去,把「大模型」拖进去,然后用线连起来:开始 → 检索 → 大模型 → 结束。 连线的时候要做一件事:把上游的输出接到下游的输入上。平台里叫「引用变量」, 做起来是点一下加号选一个字段。

这一步最容易错的地方是字段没接上。链是连通的,但下游拿到的是空值。 所以判据不是「线连上了」,是「试运行时每个节点都有值」。 演示里跑了一遍:四个节点,每步都有输出,校验通过——无环、无孤儿、只有一个出口。

四、第四步:创建智能体

工作流是能力,智能体是入口。用户不会直接打开一个工作流,他打开的是对话框。 所以这一步要做三件事:写人设(它是谁、管什么、不管什么)、挂工具(把刚才那个工作流挂上)、 写开场白(给三个具体问题,别写「有什么可以帮你」)。 人设里最要紧的一句是「不管什么」:越界的问题该怎么说、答不出来时该怎么答。不写这一句,它就会硬答。

判据:在对话框里问一句,它走对了分支;问一句越界的,它拒绝了。两条都过才算配好。

五、第五步:发布到公众号

平台里的发布是一次授权:选渠道、扫码、确认权限。之后用户在公众号里发消息,就进到这个智能体。 这一步的技术活不多,但有几个坑要说清:公众号的类型决定能不能用、消息有响应时长限制、 回复格式受渠道限制(比如不能直接发卡片)。 判据:用手机在公众号里发一句话,收到回答。到这一步才算真的做完了。

演示里最后一条链只有四个节点。 第 5 章那个汽车客服案例、第 8 到 16 章那九个案例,都是它的变体——节点更多、工具更贵、 提示词更长,骨架没变。

六、动手 Demo:五步走完,得到一条四节点的链

先列五步各产出什么、怎么算过,再真跑一条制度问答的链。 最后把知识库那一节抽掉,看链短了之后答复怎么变。

f = Flow('制度问答')
f.add(
    Node('start', 'start', '开始',   lambda g: {'q': '年假有几天'}),
    Node('kb',    'kb',    '知识库检索', lambda g: {'hit': retrieve(g['start.q'])}),
    Node('llm',   'llm',   '大模型',   lambda g: {'a': '按制度,' + g['kb.hit']}),
    Node('end',   'end',   '结束',     lambda g: {'out': g['llm.a']}),
)
f.link('start', 'kb').link('kb', 'llm').link('llm', 'end')

print(f.check())        # 存盘前的校验:有环?孤儿?出口几个?
g, rec = f.run()        # 按拓扑序真跑一遍
print(g['end.out'])

实跑输出:

--------------------------------------------------------------------
五步:从空白到一个能用的智能体
--------------------------------------------------------------------


  ① 五步各产出什么
  --------------------------------------------------------------------

| 步 | 做什么 | 产出 | 怎么算过 |
|---:|---|---|---|
| 1 | 设计思路 | 一张步骤图 | 说清输入是什么、要交什么 |
| 2 | 接入大模型 | 模型与参数 | 跑一句「你好」,看到字回来 |
| 3 | 构建工作流 | 节点与连线 | 试运行三个节点,每步都有值 |
| 4 | 创建智能体 | 人设与工具表 | 在对话框里问一句,走对分支 |
| 5 | 发布 | 一个链接或二维码 | 用手机打开,答得出来 |


  ② 真跑一遍:把五步连成一条链
  --------------------------------------------------------------------
  存盘前校验:通过(无环、无孤儿、只有一个出口)

| 步 | 节点 | 类型 | 输出端口 | 毫秒 |
|---:|---|---|---|---:|
|  1 | 开始 | 开始 | q | 0.0 |
|  2 | 知识库检索 | 知识库检索 | hit | 0.6 |
|  3 | 大模型 | 大模型 | a | 0.0 |
|  4 | 结束 | 结束 | out | 0.0 |

  最终答复:按制度:年假:入职满一年 5 天,满三年 10 天,满十年 15 天。

  ③ 把「知识库」这一节抽掉再看
  --------------------------------------------------------------------

| 步 | 节点 | 类型 | 输出端口 | 毫秒 |
|---:|---|---|---|---:|
|  1 | 开始 | 开始 | q | 0.0 |
|  2 | 大模型 | 大模型 | a | 0.0 |
|  3 | 结束 | 结束 | out | 0.0 |

  少一个节点,链短了 1 步,答复从「有出处」变成「没出处」。
  ! 整条链只有四个节点,这就是第 5 章那个汽车客服案例的骨架。九个案例里七个是它的变体。

①第一张表是五步的产出与判据。注意最后一列:五条判据都是「看到了什么」,不是「点了什么」。 这个区别决定了你是在调试还是在碰运气。 ②演示里那条链四个节点,跑了不到一毫秒。真机上慢的是检索和模型调用,不是节点调度。 ③第二段把知识库抽掉。链从四步变三步,答复从「有出处」变成「没出处」。 功能少一个,可信度掉一档。 ④最后那句不是客套。九个案例的骨架都是这条链,区别只在中间插了几个节点。所以这一节值得反复看。

30 秒实验

  1. 在纸上画一条你自己的链,标出每个节点吃什么、吐什么。画不出来就先别打开平台。
  2. 先在对话框里问一句「你好」。这一步排掉的是密钥、额度、模型名三类问题。
  3. 试运行时逐节点看值,别只看最后一个。空值往往出现在第二个节点。

常见误区

  1. 「先连起来再说。」链连通不等于数据通。字段没接上时它照样跑,只是下游拿到空值。
  2. 「人设随便写写。」人设里最要紧的是「不管什么」。不写这句,越界的问题它会硬答。
  3. 「发布就是点一下。」公众号的类型、响应时长、能发什么格式,都会限制你。 先在手机上进真实渠道试一次。
自测三问(点开对答案) 1. 五步的顺序为什么不能换? —— 输入输出要想清楚才敢连节点;模型通了才知道节点为什么失败;工作流通了智能体才有工具可挂。 2. 工作流跑通的判据是什么? —— 不是线连上了,是试运行时每个节点都有值。空值经常出现在第二个节点。 3. 人设里最要紧的一句是什么? —— 「不管什么」。越界怎么说、答不出来怎么答,不写这句它就会硬答。

五步走完,第一个能用的东西有了。 下一章开始拆零件:插件和卡片——一个让它能办事,一个决定办完怎么摆给用户看。

相关笔记