工作流助手
工作流助手是 AI-School 中更先进的 AI 助手形式。与无固定结构的自由对话不同,用户按照由 AI 指导的预定义步骤序列进行操作。这使得自动化复杂的、多步骤的过程成为可能,例如从头到尾的一整节课。
什么是工作流助手?
工作流助手由一个由箭头(edges)连接的可视化工作流节点(nodes)组成。每个节点执行一个特定任务,例如:
- 开始 / 结束 — 工作流的起点和终点
- 评估 — 分析上下文并将结构化信息存储到记忆中
- 条件 — 评估表达式并将流程导向正确的方向
- LLM — 调用语言模型执行特定任务(可选:等待用户输入)
- 审核 — 提出是/否问题并根据答案驱动流程
- 子代理 - 为多个项目并行执行相同任务,例如对每位学生逐轮批改
工作流在每一步后会自动保存其状态。当用户输入时,工作流会在中止处精确继续。
创建工作流助手
前往 助理 → 新建助理,选择类型 工作流助手。可以选择空画布或预配置的预设之一。
工作流助手可以像普通助手一样与群组和同事共享。与同事共享时,AI-School 可以自动发送电子邮件通知,让接收者知道该工作流助手已可用。
常规设置
在创建或编辑工作流时,通过设置面板设定常规设置。这些设置适用于整个工作流:
- 模型:在所有步骤中使用的 AI 模型。整条工作流选用同一个模型。
- 工具:工作流中可用的工具(如记录、SLO 查找、网络检索等)。开启的工具对所有 LLM 步骤可用,除非在每一步单独关闭。
- MCP 服务器:工作流中可用的外部连接。
- 文档:LLM 步骤可参考的文件。
- 图片:LLM 步骤可使用的图片。
你也可以设定用户在对话中是否可以自行添加文件或图片。
工作流表单中的文件
工作流可以要求用户提交文件,例如考试、批改模型或提交的学生作业。对于此类文件请求,用户可以:
- 上传新文件
- 从 文件管理 选择现有文件
- 为每个问题确定哪份文件属于哪个部分
新文件会先被处理。只有当处理完成后,工作流才能可靠地继续。如果某个必填的文件请求仍在处理中或失败,用户需要等待或重新选择/上传文件。
通过工作流表单添加的文件,将作为该对话的助理文件可用。它们不会默认作为普通对话文件被选中。
每步设置
在每个LLM 步骤中,你可以为该步单独禁用全局启用的工具、文件和图片。这给你对哪些工具在某步中可用有精确控制。你不能在步级别添加那些在全局已启用的内容。

对大多数用户来说,预设是最佳起点。之后你可以根据自己的需要对其进行修改。
例子:课程助手
课程助手 是专为教育场景设计的现成预设。它从头到尾引导用户完成一整节课:确定主题与难度,通过学习目标与讲解,进行练习并给出总结性收尾。
工作流概览
课程助手由下列步骤(节点)组成,按顺序排列:
逐步解释
1. 开始
当用户打开对话并发送第一条消息时,工作流开始。
2. 分诊:课程主题 (评估节点)
作用是什么?
AI 分析用户消息,尝试确定:
- 主题 — 课程主题是什么?例如“杠杆定律”
- 难度 — 初级、中等或进阶?
- 信息充分? — 是否有足够上下文直接制定学习目标?
结果会被存入工作流记忆。
3. 信息充分? (条件节点)
若信息充分(information_sufficient = true),流程直接进入 制定学习目标。
信息不足时,进入 信息收集。
4. 信息收集 (LLM 节点,等待输入)
作用是什么?
AI 向用户提出有针对性的问题以确定主题和期望的难度。用户回答后,流程回到 分诊:课程主题 重新评估。
对话示例:
🤖 “很高兴见到你!为了更好地帮助你,请回答几个简短问题: 1. 你想学习哪个主题? 2. 你希望的难度是什么?(基础 / 中等 / 进阶)”
👤 “Havo 3 物理,杠杆定律”
回答后,分诊重新评估并确定:information_sufficient = true。
5. 制定学习目标 (LLM 节点)
作用是什么?
AI 给出最多 4 到 5 条具体、可衡量的学习目标,针对给定主题和难度。
示例输出:
针对 杠杆定律 – havo 3(中等):
- 能够表述杠杆定律并解释公式 F₁ × r₁ = F₂ × r₂。
- 能进行计算,确定未知力或臂长。
- 能将杠杆定律应用到实际例子(剪刀、独轮车、跷跷板)。
- 能解释第一、第二、第三类杠杆之间的差异。
6. 学习目标批准 (审核节点)
作用是什么?
AI 询问用户学习目标是否正确并是否可以开始课程。
- 是 → 继续进入课程
- 否 → 返回 制定学习目标 重新表述学习目标
用户可以通过对话中的可折叠菜单查看学习目标。
7. 分诊:学习目标 (评估节点)
作用是什么?
每一轮课程结束后,AI 检查用户是否“全部掌握”了学习目标。这是严格评估:用户必须明确理解每一个学习目标。
8. 所有学习目标理解吗? (条件节点)
- 是 → 进入 练习代理
- 否 → 进入 课程代理 进行下一个学习目标
9. 课程代理 (LLM 节点,等待输入)
作用是什么?
AI 根据已制定的学习目标,逐步进行主题讲解。每个部分结束后会提出理解性问题。只有用户证明理解了学习目标,课程才继续。
用户输入后,流程返回到 分诊:学习目标 以评估进度。
示例:
🤖 “我们从学习目标 1 开始:杠杆定律。杠杆是一根绕支点转动的刚性棒。你所需要的力取决于到支点的距离。公式是:
F₁ × r₁ = F₂ × r₂
你能解释其中的 r₁ 与 r₂ 代表什么吗?”
10. 练习代理 (LLM 节点,等待输入)
作用是什么?
AI 针对每个学习目标给出至少一个练习题。用户回答后流程进入 反馈代理。
11. 反馈代理 (LLM 节点,等待输入)
作用是什么?
AI 针对每个学习目标给出详细、个性化的反馈,说明哪些做得好、哪里可以改进。语气诚恳但鼓励性强。
12. 结束? (审核节点)
AI 询问用户是否要结束或是否还要多练。
- 是 → 跳转到 总结
- 否 → 回到 练习代理 进行新一轮练习
13. 总结 (LLM 节点)
作用是什么?
AI 给出所学内容的清晰总结,并给出个人化的、激励性的反馈。
14. 结束
工作流以鼓励性结尾消息结束。
“这次课程做得很好,欢迎下次再来!”
完整对话示例
以下是关于杠杆定律,havo 3 的简化示例对话,来自课程助手:
| 谁 | 信息 |
|---|---|
| 👤 用户 | 你好 |
| 🤖 课程助手 | 很高兴见到你!你想学习哪个主题,难度水平是? |
| 👤 用户 | havo 3 物理,杠杆定律 |
| 🤖 课程助手 | 完美!我已经制定了 4 个学习目标。要用这些目标开始课程吗? |
| 👤 用户 | 是 |
| 🤖 课程助手 | 现在从学习目标 1 开始:杠杆定律。(解释 + 理解性问题) |
| 👤 用户 | (对理解性问题作答) |
| 🤖 课程助手 | (继续进行学习目标 2、3、4 …) |
| 🤖 课程助手 | 你已经完成所有学习目标!现在进入练习…… |
| 👤 用户 | (回答练习题) |
| 🤖 课程助手 | (个性化反馈) 想结束还是再多练? |
| 👤 用户 | 结束 |
| 🤖 课程助手 | (总结 + 鼓励性结尾) |
查看进度
进行工作流助手对话时,你可以通过对话输入右侧的“Workflow”按钮查看进度。点击该按钮会打开一个面板,显示:
- 工作流的所有步骤(条件和注释节点不显示)
- 每个步骤的状态:
- ⬜ 未到达
- 🔄 正在进行
- ✅ 已完成
- ⏸️ 等待输入
- ⏭️ 跳过(例如因条件)
- ❌ 发生错误
创建一个评估节点
一个评估节点(triage node)从对话中提取信息并将其存入工作流记忆。条件节点随后可读取这些值,将流程导向正确的后续步骤。
配置
- 在工作流中添加一个 评估 节点。
- 编写一个 系统提示,描述 AI 应该分析的内容及应得出的结论。
- 定义输出字段和字段类型,格式如下:
- 字段名:用于后续调用的键(如
adequate_info、level、route)。 - 类型:
string(文本)、number(数字)、boolean(是/否)、或enum(固定值集合)。若是enum,以逗号分隔列出允许值。
- 字段名:用于后续调用的键(如
- 设置最大迭代次数,避免节点无限循环。
记忆值
存储的值在条件节点中通过前缀 state. 访问,例如 state.adequate_info 或 state.level。
设置一个条件节点
一个条件节点基于工作流记忆中的表达式评估并将流程导向到下一个正确的节点。
分支
一个条件节点具有一个或多个分支:
- 如果(if):首先被评估的条件
- 否则若(else-if):可选的额外条件
- 否则(else):未触发任何条件时的默认路线
编写表达式
表达式使用 CEL(Common Expression Language) 编写:
| 期望行为 | 表达式 |
|---|---|
| 字段为真 | state.adequate_info == true |
| 字段有固定值 | state.level == "advanced" |
| 数值比较 | state.score > 7 |
| 多条件 | state.level == "basic" && state.score < 5 |
设定连接
在条件节点的每个分支上绘制独立的连线,指向对应的下一个节点。编辑器在每个分支上显示单独的出口。
使用子代理节点
一个子代理节点用于需要多次以相同方式执行的任务。该节点从工作流记忆中获取一个项的列表,为每个项启动一个独立执行,具有隔离的上下文。
实际应用包括:
- 对每个学生批改一次考试
- 对每个文档进行分析
- 对每份填写的表单生成摘要
- 对每个部分生成单独的报告
配置
- 确保一个早期的评估节点已在工作流记忆中保存了项目列表,例如
students_json。 - 添加一个 Subagent 节点。
- 设置项的来源。
- 如有需要,设置一个标签字段以便跟踪进度。
- 设置最大并行执行数量。
- 指定将结果存储在何处的记忆键。
Subagent 上下文始终只包含当前正在处理的项目,因此应在提示中明确引用当前项,避免 AI 同时处理多个项目。
在工作流中进行记录
记录工具 在工作流中尤为有用。它允许 AI 将中间结果或最终结果保存为可编辑的文档,在侧边栏中可查看。
设置
- 在工作流的常规设置中开启 记录工具。
- 在所需 LLM 步骤的系统提示中添加指令,以便记录特定内容。对该步开启该工具(或全局开启)。
示例
在一个学习目标步骤的系统提示中写道:
“为所给定的主题和难度制定学习目标。随后立即使用记录工具将学习目标保存,标题为‘学习目标’。”
用户可以通过对话栏的 记录按钮(📄)查看已保存的文档。
恢复对话
若在课程中途想回到对话中的某个早期点,可以使用对话历史项右侧的 恢复按钮(历史图标)。这将删除该点之后的所有对话并从该时刻重新开始工作流。
恢复是不可逆的——已删除的消息不可再找回。
编辑工作流
作为管理员,你可以打开并编辑现有工作流,路径为 工作流编辑器。点击节点以修改配置,右键菜单添加新节点,或拖动连线到其他节点。
若要创建全新的工作流,可以从一个空画布或其他预设开始。
直通节点
直通节点 不执行 AI 任务,也不显示可见输出。它只会把 workflow 传递到下一步。可用它来清晰地汇合多条路线,例如某条路线跳过一个步骤后需要重新回到主路线。
直通节点必须至少有一个传入连接和一个传出连接。它不会在 workflow 进度面板中显示为单独的内容步骤。