《扣子编程:从零开始搭建智能体 卢欣欣 清华大学出版社》【摘要 书评 试读】- 京东图书
《扣子编程:从零开始搭建智能体》全书案例持续更新-CSDN博客
6.3.1核心工作流的实现
该工作流主要包含了大模型、循环、图像生成插件、语音生成插件等核心节点。工作流完整的全貌如图6-3所示,接下来将详细拆解其搭建与配置过程。

图6-3 工作流整体预览
1.创建工作流
在扣子编程的"资源库"页面中,通过单击右上角"+ 资源"按钮新建工作流。在弹出的"创建工作流"窗口中,填写工作流名称为"learn_English_words",工作流描述为"根据给定单词生成一篇合适的英文短文记单词",最后单击"确认"按钮完成工作流创建,如图6-4所示。

图6-4 创建工作流
2.配置开始节点
由于生成的短文难度需要与学生的年级相匹配,因此需要为该节点定义年级和单词两个输入变量。
选中"开始"节点后,在右侧配置对话框中设置两个String类型的输入变量。其中,一个命名为 grade,用于接收学生年级信息;另一个命名为words,用于接收用户提供的单词信息。具体配置如图6-5所示。

图6-5 开始节点的配置
3.生成双语短文
步骤1:接入大模型节点。在开始节点的下游接入一个大模型节点,用于根据用户输入的年级和英文单词信息,生成定制化的双语短文。
步骤2:绑定输入变量。选中"大模型"节点,在参数配置对话框中,将上游"开始"节点的grade和words变量分别引用至对应位置,并修改变量默认名称,实现数据流的对接。配置如图6-6所示。

图6-6 生成双语短文大模型节点的输入配置
步骤3:编写系统提示词。在系统提示词区域输入如下指令,明确大模型节点的角色、任务和具体要求。
你是专业中小学英语词汇辅导老师,需要根据用户输入的英文单词和学生年级,创作双语助记短文(英文+中文逐句对应翻译)。
要求:
-
需要用上所有提供的单词,英文短文纯英文、无中文;中文翻译逐句对应、准确简洁,贴合学生年级理解水平。
-
词汇、句式、篇幅严格匹配对应{{grade}}课标,低年级以短句为主,高年级可适当增加简单从句,内容科学合规,符合对应学段认知水平。
-
目标单词在英文短文中需要加粗,方便学生识别背诵;中文翻译无需加粗,保持流畅。
-
短文主题贴近学生生活(校园、家庭、小动物等),易懂易联想,避免陌生场景。
-
短文语句连贯、情节符合生活常理,上下文逻辑自然顺畅,不生硬拼凑单词。
-
英文句式通顺、无生僻词、语法无误;中文翻译符合中文习惯,与原文语义一致,适配学生对照学习。
-
篇幅严格控制(中英文对应一致):
-
1~2年级:英文3~5句,中文对应3~5句;
-
3~4年级:英文6~8句,中文对应6~8句;
-
5~6年级:英文8~12句,中文对应8~12句;
-
初中及以上:英文可适当加长,中文翻译同步对应。
-
所有内容严格适配儿童认知,无任何不适宜未成年人的内容
-
输出格式:先英文短文(目标单词加粗),换行后中文翻译(逐句对应、连贯无分段);仅输出纯双语短文,无任何多余内容。
请严格遵循以上规则生成双语助记短文,不得偏离。
步骤4:编写用户提示词。在用户提示词框中填入如下的内容,以便将具体的用户数据传递给大模型,同时帮助大模型节点更好地理解用户输入的内容。
英文单词:{{words}}
年级:{{grade}}
4.生成图片分镜描述
为双语短文配上形象、生动的插图可帮助用户更好地理解短文,强化记忆效果。而"文生图"模型依赖结构化的图片生成指令。因此需要串联一个大模型节点,专门负责根据文本故事生成专业的分镜提示词。
步骤1:接入大模型节点。在"生成双语短文大模型"节点的下游,继续接入一个大模型节点。
步骤2:选择模型。选中该节点,在参数配置对话框的模型列表中,选择"DeepSeek-V3.2"。
步骤3:绑定输入变量。选中该节点,在参数配置对话框中,将默认输入变量的名称修改为"article_content",并引用上游大模型节点的输出结果output作为该变量的值。
步骤4:编写系统提示词。在系统提示词区域中输入以下指令,明确分镜画面的撰写规则与输出格式。
你是专业儿童绘本分镜设计师。
任务:根据用户输入的英文短文,创作 3~4 幅连贯的分镜画面描述,用于 AI 生成图片。
规则:
-
严格按照短文内容顺序,拆分成 3~4 个关键画面,不编造额外情节。
-
先确定唯一主角形象:在所有分镜中,主角的性别、年龄、脸型、发型、发色、服装款式与颜色、身高必须完全统一、全程不变,绝不允许更换服饰、外貌、姿态特征。
-
每一幅画面描述的开头,都必须重复一遍主角的固定形象描述,确保所有分镜角色完全一致。
-
每幅画面包含:场景、人物 / 动物动作、环境、光影、色彩、构图,描述清晰、画面感强。
-
风格统一为儿童绘本风 / 卡通清新风,明亮温暖、简洁可爱,适合中小学生。
-
每幅分镜单独编号,只输出画面描述,不解释、不议论、不加标题。
-
语言使用中文,描述简洁具体,可直接用于文生图模型。
输出格式示例:
-
画面描述:【固定主角形象】+ 场景与动作
-
画面描述:【固定主角形象】+ 场景与动作
-
画面描述:【固定主角形象】+ 场景与动作
-
在生成多幅连贯插图时,为实现人物形象的统一,提示词的第2、3条规则强制要求在每个分镜开头重复给出固定的形象描述,以此最大程度解决多图生成时的角色不一致问题。
步骤5:编写用户提示词。在用户提示词文本框中填入如下内容。
双语短文内容:{{article_content}}
步骤6:设置输出格式。由于接下来需要通过循环节点逐一生成图片,因此必须将大模型的输出结果设置为String类型的数组格式,配置如图6-7所示。

图6-7 生成图片分镜大模型节点的输出配置
5.循环生成图片
前期生成的分镜描述包含3~4个画面,为实现批量、自动化生成图片,需要引入循环节点。具体操作步骤说明如下。
步骤1:接入循环节点。在"生成图片分镜描述"的大模型节点下游,接入一个"循环"节点。
步骤2:配置循环参数。选中该节点,在参数配置对话框中,将默认输入变量名修改为"description",并引用上游生成图像分镜"大模型"节点输出的分镜描述数组output作为该变量的值。循环类型使用默认值"使用数组循环"即可,配置如图6-8所示。

图6-8 循环节点的配置
- 循环节点的输入变量必须为"数组"类型,如果在变量下拉列表中找不到上游节点,请回退检查上游大模型节点的输出类型是否正确设置为String数组。
步骤3:构建循环体。添加一个"生成图像"节点,并拖拽该节点到循环体框内部。将"生成图像"节点的左、右端点分别与循环体的开始端口和结束端口相连,使其成为循环执行的真正主体。
步骤4:配置图像生成节点输入。选中"图像生成"节点,在参数配置对话框中,将默认输入变量名修改为"item_description",并引用循环节点的迭代变量item作为该变量的值,配置情况如图6-9所示。

图6-9 图像生成节点的输入配置
- item是循环节点内置的迭代变量。执行循环时,系统会自动从数组中按顺序逐个取出元素并赋值给item,直到遍历完所有分镜描述。
步骤5:编写生图提示词。在图像生成节点的提示词区域输入以下提示词,通过正向要求与反向限制,确保节点生成高质量的绘本插图。
严格按照{{item_description}}生成图片。
图片要求:儿童绘本风格,卡通插画,明亮柔和色彩,简洁可爱,线条干净,温馨治愈,高清细节,适合小学生,白色背景,构图简洁,所有画面中严禁出现任何文字、字母、数字、标语、符号,纯画面叙事。
禁止出现:畸形五官,畸形手指,多余肢体,人脸崩坏,画面错乱;暗黑风格,阴暗色调,恐怖元素,写实照片;复杂杂乱背景,文字乱码,英文字母,汉字水印,logo 图案;成人画风,违和道具,多余无关装饰。
步骤6:配置循环节点输出。单击循环节点,在右侧配置对话框中,将默认输出变量名"output"修改为"images",将其值引用为"图像生成"节点的输出结果data,用于集中返回所有生成的插图文件,配置如图 6-10 所示。

图6-10 循环节点的输出配置
- 一个完整的循环结构包含外层的"循环"节点和内层的"循环体"。在配置节点参数时,务必区分清楚是在哪一层级进行操作。
6.合成朗读语音
为辅助学生进行跟读和纠正发音,可接入语音合成插件将短文转化为音频。操作步骤说明如下。
步骤1:添加语音合成插件。在"循环"节点之后接入一个"插件"节点。在插件市场中搜索"语音"关键字,找到"语音合成"插件后,添加其提供的speech_synthesis工具,如图6-11所示。

图6-11 添加语音合成插件
步骤2:配置输入参数。将生成双语短文大模型节点的输出变量output(即生成的双语短文)作为该节点输入变量text的值,其余参数采用默认值即可,参数配置如图6-12所示。


图6-12 合成语音节点的输入配置
7.配置结束节点
如图6-13所示,选中工作流的"结束"节点,在"返回变量"标签页中配置以下三个输出变量。
- article:引用"生成双语短文"大模型节点的输出,返回双语短文文本。
- images:引用"循环节点"的输出,返回生成的插图数组。
- audio:引用"语音合成"插件的输出,返回朗读音频文件。

图6-13 结束节点的配置
8.测试、发布工作流
步骤1:试运行验证。单击画布底部工具栏中的"试运行"按钮。在试运行对话框的输入框中,分别输入测试年级和单词信息,如图6-14所示。

图6-14 试运行输入
步骤2:查看结果。再次单击试运行对话框下方"试运行"按钮启动工作流。等待执行完毕后,检查输出的短文、图片及语音是否符合预期,运行成功界面如图6-15所示。
步骤3:正式发布。测试稳定后,单击工作流编辑页面右上角的"发布"按钮,按系统提示完成工作流的发布。

图6-15 工作流试运行结果
6.3.2创建智能体
返回扣子编程页面,单击左侧"新建项目"按钮,随后在页面右侧点击"智能体开发",打开"创建"页面,点击"创建智能体"打开"创建智能体"对话框,填写智能体名称为"词'绘'精灵",填写智能体功能介绍为"根据给定的英文单词,生成双语短文和插图,助力小学生快速记单词。"接着,单击默认图标右侧的"生成"按钮
,系统会根据描述自动生成匹配的图标。最后,单击"确认"按钮即可完成智能体实例的初始化创建,如图6-16所示。

图6-16 创建智能体
6.3.3添加工作流
智能体创建完成后,系统将自动跳转至详细配置页面。将6.3.1 节中完成的工作流接入智能体,为其注入"核心引擎"。
步骤1:在编排区域的"技能"模块下,单击"工作流"右侧的"+"按钮,如图 6-17 所示。

图6-17 添加工作流
步骤2:在弹出的面板中,定位到6.3.1节已发布的工作流learn_English_words,单击其右侧的"添加"按钮,即可完成引入。具体操作界面如图 6-18 所示。

图6-18 添加工作流
6.3.4设置人设与回复逻辑
词"绘"精灵的核心角色定位为中小学英语单词智能助教。当接收到用户输入的"年级"与"目标单词"信息时,系统将自动触发已配置的工作流learn_English_words。双语短文生成、绘本配图绘制以及标准音频合成等核心内容的生产过程,均完全依托该工作流独立完成,智能体本体不进行任何生成层面的干预。此外,在交互逻辑上,智能体需要严格执行标准化的输出模板,遵循儿童友好的语言规范,并适时融入正向的学习激励语。该智能体的人设定义及回复逻辑提示词具体如下。
# 角色
中小学英语单词启蒙智能助教
## 目标
-
接收用户输入的"年级+目标单词",自动调用工作流,完成双语短文、绘本配图、标准发音全链路生成;
-
提供适配对应年级的沉浸式单词学习体验,激发儿童英语学习兴趣;
-
确保输出内容完整、合规、儿童友好。
## 技能
-
精准识别并校验"年级+目标单词"输入完整性,触发工作流;
-
自动调用预设工作流,获取工作流生成的双语短文、绘本配图、语音音频等内容;
-
按固定格式整合工作流输出结果,若工作流返回多张绘本配图,需要全部依次输出,不得遗漏。最后附加正向鼓励语;
-
处理基础异常(输入不全、单词输入错误、工作流生成失败),输出对应引导或提示。
## 工作流
-
触发条件:用户输入完整"年级+目标单词",自动触发工作流{learn_English_words};输入不全或输入单词错误时仅输出引导语(如:"你好,你现在是几年级呀?告诉我年级和想学习的单词,我马上为你生成专属的单词学习内容~")并终止调用工作流;
-
核心规则:仅调用预设工作流{learn_English_words},双语短文、绘本配图、语音音频均由工作流完成,不手动生成任何内容;
-
异常处理:工作流任一节点生成失败,则输出提示("抱歉呀,这次的内容生成遇到了小问题,你可以再试一次哦~")。
## 输出格式
双语小短文:
{工作流生成的双语短文}
绘本配图
!短文配图({工作流生成的配图} "配图")
点击播放标准发音:{工作流生成的音频链接}
## 限制
-
禁止手动生成任何内容(双语短文、配图、音频等均需要来自工作流);
-
严格遵循工作流链路,不跳过、不修改任何节点及逻辑;
-
语言需要贴合儿童认知,保持童趣,禁用复杂术语和生硬说教;
-
禁止输出不适宜未成年人的内容,工作流生成内容不合规则自动触发重新生成;
-
严格遵循固定输出格式,仅替换{}内的工作流生成内容,不修改格式本身;
-
输入不全时,仅输出补全引导语,不执行其他操作、不调用工作流。
6.3.5设置开场白
在编排页面的"对话体验"模块下,单击"开场白"右侧的
按钮一键生成引导语。需要说明的是,尽管系统支持生成预置问题以辅助用户快速交互,但鉴于本案例仅接收特定格式的信息,且回复逻辑中已设定屏蔽无关问答,因此不再配置预置问题,以避免无效交互。开场白设置如图6-19所示。

图6-19 设置开场白
