扣子工作流中变量怎么传递和引用?详解输入输出机制

七月
七月
发布时间:2026-10-20| 8人浏览过
原创

明明前一个节点已经算出了结果,为什么下一个节点就是读不到?或者在调试时看到一堆 null,完全不知道数据断在了哪里。这种“数据失联”的情况,往往是刚接触扣子(Coze)工作流时最让人头秃的时刻。其实,工作流的本质就是一条数据流水线,而变量就是传送带上的包裹。只要搞清楚包裹怎么打包、怎么贴标签、怎么交接,整个流程就能跑通。

最值得先检查的地方,永远是节点的“输入”面板。很多新手习惯直接在大模型节点里写死提示词,却忘了把上游的动态数据映射进来。记住,每个节点都是独立的黑盒,它看不见其他节点内部发生了什么,除非你显式地把数据递给它。

1. 定义起点:厘清开始节点的输入变量

一切数据流转都始于“开始”节点。这里定义的变量,是整个工作流对外的接口,也是后续所有节点数据的源头。

在开始节点的配置面板中,你需要明确添加输入参数。比如做一个新闻摘要机器人,你可能需要定义 article_url(文章链接)或 raw_text(原始文本)。关键在于选择正确的数据类型:如果是纯文本选 String,如果是数字计算选 Number,如果是复杂的结构化数据则选 Object 或 Array。

扣子工作流中变量怎么传递和引用?详解输入输出机制

在开始节点中定义输入变量,注意选择正确的数据类型

设置完成后,这些变量就会以 {{start.article_url}} 这样的形式存在。此时它们还是空的,等待用户或上游应用传入真实值。如果这里漏定义了某个关键参数,后面所有依赖它的节点都会报错或拿到空值。

2. 中间流转:在处理节点中引用上游数据

当数据进入中间的 LLM(大语言模型)或代码节点时,引用的核心动作是“映射”。不要手动复制粘贴上一节点的结果,而是要使用系统提供的引用功能。

以 LLM 节点为例,在编写 Prompt 时,点击输入框旁边的“+”号或变量引用按钮,你会看到左侧列出了所有上游可用节点。找到产生数据的那个节点,展开它,勾选具体的输出字段。系统会自动插入类似 {{llm_1.output}} 的占位符。

扣子工作流中变量怎么传递和引用?详解输入输出机制

通过变量引用按钮选择上游节点的具体输出字段

这里有个常见的坑:层级引用错误。如果上游输出的是一个 JSON 对象,而你只需要其中的 title 字段,务必点进对象内部选择 title,而不是引用整个对象。否则,大模型收到的可能是一串未经解析的代码字符串,导致幻觉或格式错误。对于代码节点,同样需要在输入参数区将上游变量映射到代码的输入变量名上,确保名字一一对应。

3. 终点交付:配置结束节点的输出

工作流跑完了,数据如果不通过“结束”节点吐出来,对外部调用者来说就等于没发生。结束节点的作用是封装最终结果。

在结束节点中,你需要定义输出参数。这里的技巧是“按需暴露”。不需要把中间过程的所有临时变量都输出去,只选择对用户有价值的最终结果。例如,只输出 summary(摘要)和 keywords(关键词),而忽略中间生成的思考过程。

扣子工作流中变量怎么传递和引用?详解输入输出机制

将上游处理结果映射到结束节点的输出字段

将上游节点的处理结果映射到结束节点的输出字段中。此时,你可以再次检查数据类型是否匹配。如果前端期望接收一个列表,而这里映射的是单个字符串,调用时就会出错。配置好后,点击运行测试,观察右侧的运行日志。

4. 调试技巧:看懂运行日志中的数据轨迹

当引用失效时,运行日志是最好的侦探。点击“运行”后,展开每个节点的详情,查看“输入”和“输出”两栏。

重点看两点:一是输入栏里,你引用的变量是否有实际值;二是输出栏里,节点是否产生了预期的数据结构。如果输入栏显示为 null 或 undefined,说明上游引用路径断了,或者上游节点本身没有成功执行。如果输出结构不符合预期,比如多了或少了字段,则需要回头调整该节点的内部逻辑或提示词。

扣子工作流中变量怎么传递和引用?详解输入输出机制

通过运行日志检查每个节点的输入值和输出结构

通过逐节点核对,你能迅速定位是哪一环掉了链子。通常,80% 的问题都出在变量类型不匹配或层级引用过深上。

理顺变量传递,其实就是养成“数据契约”的思维:每个节点明确自己要什么(输入),承诺给什么(输出)。一旦习惯了这种严丝合缝的对接方式,搭建复杂工作流就会像搭积木一样顺畅。下次遇到数据不通,先别急着改提示词,看看那根看不见的变量连线是不是接对了地方。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。