Skip to content

Generation Block ​

调用 AI 大语言模型生成文本内容,是工作流中最核心的 AI 节点。

功能说明 ​

Generation Block 是外脑编辑器的核心 AI 生成节点。它以内联(inline)形式嵌入文档中,将当前上下文(前文内容 + 变量引用)作为 prompt 发送给指定的 AI 模型,并以流式方式返回生成结果。

Generation Block 支持多种 AI 能力扩展,包括工具调用(tool calls)、图片生成、思考推理等,具体取决于所选模型的能力。

新建工作流会按所选模型及启用的能力自动匹配渠道接口。使用 Generation Block 不需要选择 OpenAI Chat、OpenAI Responses 或 Claude Messages 协议;Anthropic 等渠道所需的格式转换由平台完成。旧文档中已保存的手动协议继续生效,编辑其他设置不会改变它;需要时可在高级设置中明确切换到自动选择。

使用场景 ​

  1. 文本生成:根据上下文 prompt 让 AI 生成文章、摘要、翻译、代码等文本内容。
  2. 工具调用:启用 tools 能力后,AI 可调用已注册的工具(如搜索、数据库查询)来增强回答。
  3. 图片生成:启用 image 能力后,可调用图片生成模型产出图片。

配置参数 ​

属性名类型说明默认值
idstring节点唯一标识(自动生成)—
namestring节点名称(自动生成,可自定义)—
kindstring节点类型标识'ai'
modelIdstringAI 模型 ID(必填)自动选择默认模型
creativitynumber创造力 / Temperature(0-1)0.5
reasoningEffort'minimal' | 'low' | 'medium' | 'high'推理努力级别(支持 reasoning_effort 的模型)'medium'
reasoningEffortSource'user' | null档位来源:用户在档位选择器上改动过时为 'user'(显式档位);缺省 = 默认档位null
thinkingEnabledboolean思考开关(支持 think 参数的模型)true
thinkingEnabledSource'user' | null思考开关来源:用户亲手拨过开关时为 'user';选模型时按模型能力自动写入的值不带标记null
advancedSettings.enabledboolean是否启用高级设置false
advancedSettings.stopSequencesstring[]停止序列列表[]
abilitiesstring[]启用的模型能力列表(如 ['tools', 'image'])[]
protocolProtocol | 'auto'渠道协议选择;'auto'(默认)由后端按模型能力自动路由,旧文档已保存的手动协议继续生效'auto'
builtinToolsBuiltinToolConfig[]启用的模型内置工具列表(见下文「模型工具」,仅 OpenAI Responses 协议生效)[]
imageGenerationMode'auto' | 'force'图像输出模式(见下文);force 仅 OpenAI Responses 协议保证强制语义,其他协议退化为 auto未设置(关闭)

推理参数怎么发给上游(2026-10,渠道预设表改造 P5,OpenAI Chat 协议):只有模型带推理能力时才处理档位与思考开关,具体写法由各渠道的兼容声明决定(例如 DeepSeek / Kimi 写 thinking:{type},千问写 enable_thinking,OpenAI 写 reasoning_effort)。

  • thinkingEnabled: false 且 thinkingEnabledSource: 'user' 才算明确关闭:渠道能关就发关闭指令,不能关会报错 thinking_disable_unsupported;没有来源标记的 false(选模型时自动写入、历史文档)按默认处理,不发关闭指令、不报错;
  • thinkingEnabled: true 且 thinkingEnabledSource: 'user' 是明确开启:按渠道格式发开启指令(默认档位模型不支持时只是不带档位)。例外:「档位即开关」的格式(如 gpt-5-pro、kimi-k3)在默认档位无映射时不发字段,沿用上游默认;CloudOS 沿用其原有渠道补丁(本地 GLM 5.1 仍强制关闭);
  • reasoningEffortSource: 'user' 的档位是显式档位:该模型不支持这一档会报错 reasoning_effort_unsupported:<档位>;
  • 结构化输出时个别模型必须关思考(例如千帆 glm-5.2,避免推理耗尽输出预算):明确要求思考或指定档位会报错 reasoning_unsupported_for_structured;
  • 没有来源标记的档位(历史文档、自动保存的默认值)按默认档位处理:模型不支持时只是不发,不报错。
  • 来源标记只在编辑器里亲手改档位 / 拨开关时写入;通过 Markdown IR 编写时如需显式语义,需同时写上对应的 *Source: "user"。

creativity 参数说明 ​

  • 0:更确定性,适合需要一致性的任务(如数据提取、格式转换)
  • 0.5:平衡模式(默认)
  • 1:更有创造性,适合写作、头脑风暴等发散型任务

abilities 可选值 ​

能力说明
tools启用工具调用,AI 可调用已注册的工具
image启用图片生成能力
structured启用结构化输出(通常由 Structure Block 自动启用)

模型工具(builtinTools) ​

配置面板提供「模型工具」开关组,启用后 Generation 可在生成过程中调用模型内置工具(托管工具,区别于文档里声明的自定义工具块)。此前独立的 6 个内置工具 Block 已从 Slash 菜单下架,统一并入此处配置。

工具展开配置项说明
web_search—联网搜索
file_searchvector_store_ids(必填)、max_num_results(1-50)在指定向量存储中检索文件
code_interpretercontainer(auto / preconfigured + 容器 ID)代码解释器
computer_usedisplay_width / display_height + 安全确认操作计算机(屏幕/键鼠)
background_mode—后台模式

注意:

  • 内置工具仅 OpenAI Responses 协议生效;所选模型必须声明对应能力,未声明 'yes' 的工具会被后端拒绝(fail-closed)。
  • 空数组等价于不开启任何内置工具;配置会随 Generation 节点属性一起持久化(协同保存 / Run resume 均兼容)。

图像输出模式(imageGenerationMode) ​

生图是跨厂商的模型能力(不属于内置工具)。仅当所选模型具备 image_generation 能力时面板才显示「图像输出」开关:

  • auto:模型自行决定本轮是否出图
  • force:强制本轮必出图(强制语义仅 OpenAI Responses 协议保证)

输出变量 ​

变量名类型说明
__default__string默认输出,即 AI 生成的文本内容
thinkingstringAI 的思考/推理过程(仅模型支持 thinking 能力时可用)
tool_callsany工具调用记录(仅启用 tools 能力时可用)
imageany第一张生成的图片(仅启用 image 能力时可用)
imagesany所有生成的图片数组(仅启用 image 能力时可用)

所有变量在 Generation Block 完成生成后才可被引用。

引用语法示例:

AI 的回答:{{gen_1}}
思考过程:{{gen_1.thinking}}
生成的图片:{{gen_1.image}}

使用示例 ​

示例 1:基本文本生成 ​

请帮我将以下内容翻译为英文:

{{input_1}}

[Generation Block] name: gen_1, model: claude-3.5-sonnet, creativity: 0.3

Generation Block 会将其前面的所有文本内容作为 prompt 发送给模型,生成结果存入 gen_1 变量。

示例 2:带工具调用的智能助手 ​

请搜索最新的 AI 新闻并总结要点。

[Generation Block] name: gen_1, model: gpt-4o, abilities: [tools]

启用 tools 能力后,AI 可以调用已注册的搜索工具获取实时信息,再基于搜索结果生成总结。工具调用最多进行 20 轮迭代。

没有工具块的纯文本生成不会注入工具

只有当文档真正包含 Tools / allowTools 块时,平台才会向模型下发工具列表(含内置工具)。没有任何工具块的「光秃秃」生成是纯文本对话,请求里不带 tools / tool_choice 任何参数。这样可避免击垮「不支持函数调用」「不接受 tool_choice=none」等模型,同时节省 token。

Prompt 收集规则 ​

Generation Block 会自动收集从文档开头(或上一个 Generation Block)到当前位置之间的所有内容作为 prompt,包括:

  • 段落中的纯文本
  • 通过 {{变量名}} 引用的其他 Block 输出值

// 注释行仅供用户阅读,不会进入 Generation Block 的 prompt。

不同类型的 Block 对 prompt 的贡献方式不同——有些会输出提示词文本,有些仅提供数据而不参与 prompt 构建。因此,合理安排文本和 Block 在文档中的位置非常重要,它直接影响每个 Generation Block 收到的 prompt 内容。

文档 Title 和 Description 的作用

当文档作为工具(通过 Tools Block 或 Flow Block)被其他工作流引用时,文档的 Title(标题)和 Description(描述)会作为 AI 理解该工具用途的摘要信息。请为工具类文档编写清晰的标题和描述,帮助 AI 准确判断何时应该调用它。

运行时约束 ​

  • 适用文档类型:普通文档(document)。不可用于 skill 文档。
  • 节点类型:内联节点(inline),嵌入在段落文本中。
  • 可插入上下文:文档中任意段落内。
  • 上下文构建:Generation Block 会收集其前面所有 Block 的输出内容作为 prompt 上下文(详见上方「Prompt 收集规则」)。

注意事项 ​

  • modelId 为必填项。如果未配置模型,执行时将报错并终止。
  • 工具调用存在最大轮次限制(20 轮)。超过上限后会报错,错误信息会点名其间反复失败的工具及原因。
  • 工具反复失败早停:同一工具连续失败 2 次(首次失败后给模型 1 次重试机会,第 2 次仍失败)即中断本次生成,并报清晰错误点名该工具与失败原因,避免弱模型对失败工具空转烧满 20 轮。
  • tool_choice=none 仍被硬调工具:当工具块声明 tool_choice=none(不使用工具)而模型仍尝试调用工具时,直接中断并报错(不喂回工具结果继续循环)。
  • Generation Block 以流式(streaming)方式返回内容,前端会实时显示生成进度。
  • creativity 对应模型的 temperature 参数,不同模型对此参数的响应程度可能不同。
  • 启用 image 能力时,image 变量返回第一张图片,images 返回所有生成的图片数组。
  • 启用 thinking 能力时,AI 的内部推理过程会记录在 thinking 变量中,但不会出现在默认输出里。

AI Workflow Editor