基础
了解工作流在 TradingGoose 中的执行方式是构建高效可靠自动化的关键。执行引擎自动处理依赖关系、并发和数据流,确保您的工作流平稳且可预测地运行。
工作流如何执行
TradingGoose 的执行引擎通过分析依赖关系并以最高效的顺序运行块来智能处理工作流。
默认并发执行
多个块在互不依赖时并发运行。这种并行执行显著提升性能,无需手动配置。
例如,如果一个 Manual Trigger 同时连接到客户支持 Agent 和深度研究 Agent,两个 Agent 块可以并发执行。
依赖关系与显式数据映射
当块具有多个活动依赖项时,执行引擎会等待这些依赖项完成。连接决定执行调度,不会自动将输出合并为输入对象,也不会自动向 Agent 提示词中插入内容。
例如,连接到名为 support 和 research 的 Agent 的 Function 块,可以用 return { support: <support.content>, research: <research.content> }; 显式合并输出。同样,需要在下游 Agent 提示词中显式引用 Knowledge 检索结果。Function 代码没有自动注入的 input 对象。
智能路由
工作流可以使用路由块向多个方向分支。执行引擎支持确定性路由(使用条件块)和 AI 驱动的路由(使用路由块)。
例如,工作流可能在初始块之后分支为条件块(评估逻辑表达式)和路由块(使用 AI 选择路径)。每个结果分支独立执行。
块类型
TradingGoose 提供不同类型的块,在工作流中用于特定目的:
触发器
触发器块定义 Manual、API、Input Form、Chat 和外部事件等入口。工作流可以有多个入口;每次执行从选定的触发器开始。
处理块
Agent 块与 AI 模型交互,Function 块运行自定义代码,API 块连接外部服务。这些块负责转换和处理你的数据。
控制流
Router 块使用 AI 选择路径,Condition 块根据逻辑分支,Loop 块遍历条目或次数,Parallel 块处理并发迭代。
实用块
Response 块为 API 和聊天界面格式化最终输出。Variables 块管理工作流范围内的数据。Wait 块暂停执行一段时间。Evaluator 块评估并为输出打分。
所有块都会根据各自的依赖关系自动执行——你无需手动管理执行顺序或时机。
执行触发器
根据你的使用场景,工作流可以通过多种方式触发:
手动测试
在工作流编辑器中点击「运行」,即可在开发过程中测试工作流。非常适合调试和验证。
定时执行
使用 cron 表达式设置周期性执行。适合定期的数据处理、报告或维护任务。
API 部署
将工作流部署为 HTTP 端点,以便从你的应用程序中以编程方式调用。
Webhook 集成
实时响应来自 GitHub、Stripe 或自定义系统等外部服务的事件。
聊天界面
为面向用户的 AI 应用发布对话界面,地址为部署站点下的 /chat/{identifier}。
在文档的触发器部分中详细了解每种触发器类型。
执行监控
工作流运行时,TradingGoose 提供执行过程的实时可见性:
- 实时块状态:查看哪些块正在执行、已完成或失败
- 执行日志:详细日志实时显示输入、输出和任何错误
- 性能指标:跟踪每个块的执行时间和成本
- 路径可视化:了解工作流中采用了哪些执行路径
所有执行细节都会被捕获,即使工作流完成后也可供查看,有助于调试和优化。
关键执行原则
理解这些核心原则有助于构建更好的工作流:
- 基于依赖的执行:满足当前活动路径上的依赖条件后,块才会运行
- 自动并行化:独立块无需配置即可并发运行
- 显式数据映射:在块输入或提示词中引用上游输出;仅连接块不会自动插入数据
- 错误处理:失败的块会停止其执行路径,但不会影响独立路径
- 状态持久化:所有块输出和执行细节都会保留以供调试
下一步
现在您已了解执行基础知识,请探索: