financial-services接入自有工作流引擎:Temporal与Airflow集成模式完整指南
【免费下载链接】financial-services项目地址: https://gitcode.com/GitHub_Trending/fi/financial-services
financial-services是 Anthropic 开源的金融服务 AI 智能体项目,提供投行、股票研究、基金运营等场景的现成 Agent。它最大的亮点是:同一套 Agent 既可以作为插件安装,也可以通过 Claude Managed Agents API 部署在你自己的工作流引擎(如 Temporal、Airflow)之后。本文带你快速看懂 Temporal 与 Airflow 集成模式,轻松把这套智能体跑进自己的调度体系。
一、先搞懂:什么是"双模式部署"?🔑
financial-services 中的每个 Agent 都以两份形态提供,但共享同一份系统提示词和技能(Skills):
| 形态 | 适合谁 | 说明 |
|---|---|---|
| Cowork 插件 | 业务分析师 | 即装即用,无需运维 |
| Managed Agent 模板 | 平台团队 | 无头(headless)部署,背后接你自己的工作流引擎 |
核心思想只有一句话:智能体只负责"干活",调度、重试、跨 Agent 路由全部交给 Temporal 或 Airflow 这类引擎。模板目录managed-agent-cookbooks/就是每个 Agent 的"部署清单",其中gl-reconciler/agent.yaml展示了标准的清单写法——系统提示词直接引用插件里的 md 文件,技能则从插件目录整体打包,保证两边永远同源。
二、一键部署:3 个步骤完成 Agent 上线 🚀
接入工作流引擎前,先把 Agent 部署到平台。仓库提供了现成的部署脚本:
- 准备 API 密钥与 MCP 地址(如总账、子账只读接口);
- 运行部署脚本(支持
--dry-run预览将发送的完整请求体):
export ANTHROPIC_API_KEY=sk-ant-... scripts/deploy-managed-agent.sh gl-reconciler- 验证本地引用完整性:推送任何改动前,运行 scripts/check.py 它会校验所有 YAML 清单能否解析、所有跨文件引用是否真实存在。
scripts/deploy-managed-agent.sh 会自动做三件关键的事:把agent.yaml中的文件引用内联成 API 可识别的字符串、把技能打包上传为skill_id、按"先子智能体后编排器"的顺序创建全部 Agent。你拿到返回的agent_id后,就可以在自己的引擎里触发会话了。
三、Temporal 集成模式:把"handoff_request"变成工作流信号 🔁
这是项目方官方点名的集成方式。在scripts/orchestrate.py的头部注释中,作者明确写道:
"REFERENCE ONLY — replace with your firm's workflow engine (Temporal, Airflow, Guidewire event bus)"
其工作机制非常适合映射到 Temporal:
- Agent 之间从不直接互调。当一个 Agent 需要另一个 Agent 时,它只在输出中发出一个
handoff_request事件; - 你的 Temporal 活动(Activity)负责消费该事件:用 scripts/orchestrate.py 提供的解析逻辑从 Agent 输出流中提取 handoff,校验通过后调用
steer接口,把 payload 作为新的引导事件发给目标 Agent; - 跨 Agent 编排天然落在 Temporal Workflow 里:例如 GL Reconciler 对账完成 → 发 handoff 给 Month-End Closer → 自动进入月末关账工作流,重试、超时、审计日志全部由 Temporal 提供。
以 gl-reconciler 的 README 为例,它明确说明:编排器在最终输出中发出面向month-end-closer的 handoff,由 Temporal/Airflow worker 将其路由为新的 steering 事件。
内置的安全护栏(务必保留)⚠️
scripts/orchestrate.py 展示了两层关键防护,接入自有引擎时同样应当保留:
- 硬白名单:
ALLOWED_TARGETS只允许已部署的 Agent slug,拒绝一切越权目标; - Schema 校验:handoff payload 必须通过 JSON Schema 校验(长度上限 + 字符集限制),防止攻击者在受处理的文档里"夹带"伪造的 handoff 指令。
四、Airflow 集成模式:按周期调度 Agent 会话 📅
如果你的工作流本质是周期任务(每日对账、月度关账、季度估值),Airflow 是更自然的选择:
DAG = 一条业务流水线:每个 DAG 节点对应一次 Agent 会话的触发与等待。以 steering-examples.json 为例,"每日对账"就是标准触发事件:
Reconcile GL vs subledger, trade date 2026-04-30, classes: equities, fixed-income, derivatives调度参数即 steering 事件:月末日用
threshold: 10000版本,事后还能追加Re-trace break: account ...事件深挖单一差异项——这在 Airflow 里就是简单的trigger_dag补跑;Worker 只读隔离设计:Airflow 侧的 Agent 调用遵循 subagents/reader.yaml 的分层原则——读不可信文档的 worker 只有
Read/Grep权限且输出必须是长度受限、字符集受限的结构化 JSON(由 scripts/validate.py 校验),只有resolver这类 worker 才持有写权限。调度层拿到的永远是干净的结构化数据,而非自由文本。
两种模式怎么选?
| 维度 | Temporal | Airflow |
|---|---|---|
| 核心场景 | 跨 Agent 长事务、事件驱动路由 | 周期性批量任务、依赖编排 |
| handoff 处理 | Workflow 信号 + Activity 消费 | DAG 间触发 / 补跑 |
| 适合例子 | 对账 → 关账 → 出报表 的连续链路 | 每日对账、月度关账调度 |
五、接入清单:5 项自检 ✅
| # | 检查项 | 依据 |
|---|---|---|
| 1 | agent.yaml引用的系统提示词、技能路径全部可解析 | scripts/check.py |
| 2 | handoff 目标在硬白名单内,payload 通过 Schema 校验 | scripts/orchestrate.py |
| 3 | 读不可信文档的子智能体无 bash/write 权限,输出走output_schema | subagents/reader.yaml |
| 4 | 数据连接器(MCP)配置为只读URL,密钥存入 Vault | gl-reconciler/agent.yaml |
| 5 | 所有 Agent 输出仍需人工签核,不直接写总账等记录系统 | gl-reconciler/README.md |
💡一句话总结:financial-services 把"智能体逻辑"与"流程编排"彻底解耦——你只需要在 Temporal/Airflow 里做两件事:部署时调用
/v1/agents,运行时把 steering 事件与handoff_request接进自己的调度循环,即可让金融智能体完全跑在自己的基础设施上。
更多各 Agent 的 CMA 模板、steering 事件示例与安全分级说明,见 managed-agent-cookbooks 总览 与项目 README.md。
【免费下载链接】financial-services项目地址: https://gitcode.com/GitHub_Trending/fi/financial-services
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考