← Financial Trader Cloud Trader Hub · 回测

极点宏观|Financial Trader Cloud · Amazon 回测工作台|2026年5月

在 Amazon EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

系列: 回测

笔记: 13

文章
Kiro 工作坊
01 使用 Kiro 构建:他加禄语学习 App 的提示优先产品设计工作坊
Kiro 工作坊
02 使用 Kiro 构建:他加禄语 学习 App 的教育优先开发技巧工作坊
Kiro 工作坊
03 使用 Kiro 构建:他加禄语 学习 App 的深入开发流程工作坊
Kiro 工作坊
04 使用 Kiro 构建:将 他加禄语 学习 App 本地化为中文变体工作坊
Kiro 工作坊
05 使用 Kiro 构建:他加禄语 卡片的语法与发音补强流水线工作坊
Kiro 工作坊
06 使用 Kiro 构建:他加禄语 学习 App 中可审查的独特额外例句工作坊
Kiro 工作坊
07 与 Kiro 同行:晶圆厂工程健康度 Hook 工作坊
Kiro 工作坊
08 与 Kiro 同行:蚀刻工艺窗口风险测试自动化工作坊
Kiro 工作坊
09 与 Kiro 同行:黄光微影漂移风险开发工作坊
Kiro 工作坊
10 工程团队入门 — 日常工厂值班使用 fab spc drift sync portal
Kiro 工作坊
11 工程团队附录 — fab spc drift sync portal 的日常工厂值班使用
Kiro 工作坊
12 Kiro:规格驱动工厂软件的现场工程工作坊
Kiro 工作坊
13 Kiro:实施 Lab — 从零构建具类型的 Factory Risk Portal
Kiro 工作坊
14 Kiro:工程开发人员的提示、代码和类型标准手册
Kiro 工作坊
15 Kiro:为什么强 React 提示可以防止类型宣告错误启动
Kiro 工作坊
17 与 Kiro 一起构建:建立工厂自动化门户 React UI
Kiro 工作坊
18 与 Kiro 一同构建:打造工厂自动化门户背后的自动化分析引擎
Kiro 工作坊
19 与 Kiro 一起实施:将 AI 工厂自动化辅助程序新增至工厂自动化门户
Kiro 工作坊
21 Kiro:2 小时专业开发人员工作坊指南
Kiro 工作坊
22 Kiro:从零建置 Fab SPC Drift Synchronization Portal
Kiro 工作坊
23 Kiro:提示词库与深度代码说明附录
Kiro 工作坊
30 与 Kiro 一起构建:建立工厂自动化门户 UI
Kiro 工作坊
31 与 Kiro 一起构建:打造工厂自动化门户背后的自动化分析引擎
Kiro 工作坊
32 与 Kiro 一起实施:为工厂自动化门户添加 AI 工厂自动化辅助程序
Kiro 工作坊
33 与 Kiro 一起开发:重建 CME Direct 风格的量化损益排行榜 UI
Kiro 工作坊
34 与 Kiro 一起开发:重建损益排行榜背后的量化分析引擎
Kiro 工作坊
35 与 Kiro 一起构建:适用于量化排行榜的 AWS AI 驱动交易台助理
Kiro 工作坊
36 单页交易平台 SOP
Kiro 工作坊
AgentCore
A1 使用 AgentCore 与 Strands 构建:Gateway MCP 工具织网开发者工作坊
AgentCore
A2 使用 AgentCore 与 Strands 构建:受治理的多 Agent 风险系统开发者工作坊
AgentCore
A3 使用 AgentCore 与 Strands 构建:运行时主权风险代理人开发者工作坊
AgentCore
模拟考场
E1 用 Vibe Coding 打造多语言 AWS 认证模拟题上线系统
模拟考场
E2 利用 Vibe Coding 开发技巧打造 AWS 认证模拟练习室
模拟考场
E3 打造静态 AWS 模拟考场背后的练习引擎
模拟考场
Amazon Q
Q1 Amazon Q:面向 ACM 证书自动续订的 CloudShell 优先开发人员工作坊
Amazon Q
Tagalog 练习室
T1 用提示词优先的产品设计,为 AWS Manila Community Day 构建 Tagalog 学习应用
Tagalog 练习室
T2 用教育优先的开发提示,为 AWS Manila Community Day 构建 Tagalog 学习应用
Tagalog 练习室
T3 面向 AWS Manila Community Day 的 Tagalog 学习应用深度开发流程
Tagalog 练习室
T4 为 AWS Manila Community Day 将 Tagalog 学习应用本地化为中文变体
Tagalog 练习室
T5 为 AWS Manila Community Day 的 Tagalog 卡片构建语法与发音增强流水线
Tagalog 练习室
T6 在 AWS Manila Community Day 的 Tagalog 学习应用中,让额外示例唯一且可审查
Tagalog 练习室
路线图
R1 企业级 Data Analytics Roadmap 一百个深度情境题
路线图
R2 前端开发路线图:真实企业场景
路线图
香港 Community Day
C1 与 AWS Community Day 共度香港周末:从云端议程到维港灯火
香港 Community Day
C2 演讲者的奢华周末:讲述你的 AWS 故事,再让香港登场
香港 Community Day
C3 在香港的七十二小时:AWS Community Day 演讲者的深度行程
香港 Community Day
马尼拉 Community Day
C4 AWS Community Day Manila:一场连接云技术、城市文化与真挚友谊的快乐周末
马尼拉 Community Day
C5 AWS Community Day Manila:云端建设者在菲律宾感受最幸福的精神
马尼拉 Community Day
C6 AWS Community Day Manila:在快乐之城构建、打破、重来,并找到归属
马尼拉 Community Day
C7 菲律宾马尼拉初次到访建议
马尼拉 Community Day
菲律宾 × 香港
C8 菲律宾香港资本市场升级
菲律宾 × 香港
回测
B1 使用 Bedrock AgentCore 和 Strands Agents 构建机构级 Amazon 只做多回测代理
只做多 AMZN 代理:AgentCore、Strands 与可审计的 Backtrader 台账。
B2 使用 Backtrader、AgentCore 和 Strands Agents 构建具备市场状态感知能力的 Amazon 头寸管理
把市场状态当成头寸控制,而不是图表注释。
B3 使用 Nasdaq、S&P 500、Dow、AgentCore 与 Strands 构建相对基准的 Amazon 择时系统
相对 Nasdaq、S&P 500 与道琼斯判断 AMZN 时机。
B4 使用 Bedrock AgentCore、Strands Agents 与 Backtrader 构建受治理的 Amazon 交易历史工厂
把回测做成可审计的交易历史工厂。
B5 使用 Bedrock AgentCore 与 Strands Agents 构建代理式 Amazon 回测运营模型 [Part 1]
先建立运营模型,再争论结果。
B6 为 Amazon 择时与头寸管理构建自定义 Cerebro 代码解读 [第 2 部分]
先讲 Cerebro 引擎,再讲图表。
B7 为 Amazon 策略结果与经验教训构建交易员复盘记录 [Part 3]
把策略排名写成交易员复盘记录。
B8 使用 AgentCore 和 Strands 构建受治理的 FSI Amazon 头寸管理手册 [第 4 部分]
受治理的 FSI Amazon 头寸管理手册。
B9 使用 Amazon Bedrock AgentCore 构建主权风险交易代理,分析收益率差、FX 对冲与债务重新定价
主权风险代理:收益率差、外汇对冲与债务重定价。
B11 构建现代波动率交易与合法泰国恢复规划智能体:内存驱动的 Strands 多智能体风险保护系统
记忆驱动的 Strands 智能体:波动率与泰国恢复规划。
B12 使用 Amazon Bedrock AgentCore Memory 构建做空跨式交易风险治理
做空跨式的交易风险治理。
B13 在 Amazon EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上跑生产级信用与收益质押智能体。
挑战
01 周末生产力挑战:Fab SPC 漂移同步门户
Fab SPC 漂移审查与建议门户。
02 周末生产力挑战:Quant P&L Commander — AWS 上由 AI 驱动的交易生产力门户
AWS 上由 AI 驱动的交易生产力门户。
03 周末烦人任务挑战:交易台在云端、链上、空中执行摘要
DeskPulse 日常交易执行摘要。
04 周末 Agent 挑战:早上 6 点交易风险审查
无人值守、以证据为基础的早间交易风险简报。
05 周末创意挑战:领导力卡牌游戏
浏览器版创意引导卡牌。
06 全栈挑战:社区日留言板应用程序
浏览器版活动通信空间。
领导力卡牌
01 Leadership Card Game: 云没有自动化的最后一项技能:像领导者一样说话
写给 构建者的一篇现场随笔:语言、勇气,以及 Leadership Card Game
02 领导力回合解剖:Leadership Card Game 究竟如何玩
写给 构建者的引导员实地指南:如何把演练嵌进真实会议
03 Leadership Card Game: 当机会不再属于组织者
写给 构建者的田野随笔:权力转移、多语言领导力练习夜,以及走完入口、资源与叙事的职业弧线
04 周末创意挑战:Leadership Card Game
一篇构建者手记:愿景、架构,以及周末创意挑战教会我的事
05 从周末挑战项目到 $1,386 众筹:改变你在职场现身方式的领导力练习
一个周末做出的作品,变成 600 张卡的在线领导力练习室,并筹到 $1,386。
06 从周末挑战项目到 $1,386 众筹:进入科技产业的第一天路径
一个周末挑战如何变成具备 600 张卡、由 AWS 驱动的多语产品,并筹到 $1,386?
07 从周末挑战项目到 $1,386 众筹:用转移机会建立专业品牌
一个周末挑战把领导想法做成能跑的多语产品,并筹到 $1,386。
08 Leadership Card Game — 众筹活动
筹款目标: HKD 5,000 已筹金额: HKD 1,386 距目标还差: HKD 3,614 进度: 28% 创作者: D.C. Dan · L.L. Diana · L.K. Lva 所在地: 日本、香港、新加坡 投资人权益: 即期价值、私密会员卡牌编辑器云(Private Membership Card…
09 PR/FAQ 01 — Leadership Card Game 面向社区构建者正式推出
「逆向工作法」文档 · 对外新闻稿 + FAQ 产品: Leadership Card Game 受众: 社区经理、志愿组织者、早期职业构建者
10 PR/FAQ 02 — 企业引导员采用 Leadership Card Game 开展现场领导力演练
「逆向工作法」文档 · 对外新闻稿 + FAQ 产品: Leadership Card Game 受众: 学习与发展负责人、人员管理者、敏捷教练、企业引导员
10 PR/FAQ 03 — 多语言 Leadership Card Game 为构建者归属开放全球练习室
「逆向工作法」文档 · 对外新闻稿 + FAQ 产品: Leadership Card Game 受众: 全球 构建者、双语社区、跨境产品团队、开源导师
AWS Builder Center
01 AWS Builder Center、社区精神与 AWS Builder Jacket
霓虹信号、共享创意,以及为构建者打造的外套。
02 走进 AWS Builder Center:一座能学习、贡献,也让人有归属感的全球技术平台
一段精彩旅程,不一定从机场开始。
03 AWS Community Builder 的巨大成功
当构建者公开分享,整个社区就会一起前进。
04 AWS Builder Center 的巨大成功
一座为好奇心打造、充满活力的全球街区。
05 周末走进 AWS Builder Center:从社区灵感到令人难忘的 AWS Builder Jacket
星期五晚上,开始于构建者熟悉的感觉:有一个点子,正卡在问题与可能性之间。
在 EKS 上构建生产环境就绪的 信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的 信用与收益质押 AI 智能体

EKS 自动模式(Auto Mode)与 Karpenter 能为生产环境的 AI 智能体提供弹性运算资源,而模型上下文协议(MCP)则实现了动态工具发现与外部数据访问。Strands SDK 负责协调 A2A(智能体对智能体)智能体、智能体集群(swarms)、工作流(workflows)以及基于图(graph-based)的委派机制。信用与金融智能体以容器化 Kubernetes 服务的形式运行,使用 ECR 镜像、智能体卡片(agent-card)发现机制、HTTP/JSON 端点,并具备涵盖收益质押、宏观经济波动、利率、流动性、回撤(drawdowns)、对冲(hedging)和执行纪律的多智能体风险分析能力。

重要声明:本内容仅供工程教学研讨会使用。信用与收益质押领域仅用于教学智能体工具架构与生产部署模式。此内容不构成任何财务或投资建议。


信用与收益质押洞察

市场目前的狂热依旧由 AI 主导,但嫉妒的债券收益率正紧盯着这一切。全球股市受到科技/半导体财报与 AI 资本支出(capex)的推动而走高,然而债券波动性与过高的估值仍是主要的潜在风险。

● 操作策略:仅在关键移动平均线上方顺势操作;严格执行止损、做好头寸控制,并避免盲目追高跳空缺口。

原油是诱人的宏观经济触发点:每一次飙升都伴随着通膨的耳语。中东局势动荡推高了能源风险溢价,迫使市场重新评估通膨压力、中央银行的耐心以及经济增长风险。

● 操作策略:密切监控布兰特原油(Brent)、损益平衡通膨率(breakeven inflation)和 10 年期国债收益率;当原油波动加剧时,利用能源头寸进行对冲,或为股票多头头寸配置更紧密的移动止损。

利率则是随时能让派对结束的冷酷玩家。更高的主权债券收益率和期限溢价(term premiums)可能会压缩市盈率(P/E multiples),特别是对于长久期的成长股。

● 操作策略:当收益率向上突破时,应降低杠杆;资产配置上更倾向于拥有优质资产负债表、自由现金流充裕的标的,并持有短久期固定收益产品以保留备用资金(dry powder)。


研讨会总结

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

开发者将在 Amazon EKS 上构建生产环境就绪的信用与收益质押 AI 智能体。本研讨会将从 EKS 自动模式(Auto Mode)与节点池(NodePools)开始,接着加入 MCP 工具访问、Strands 智能体、A2A 服务器对外曝光、Docker 打包、ECR 镜像发布、Kubernetes 部署,最后构建一个多智能体信用审查系统。

本研讨会构建的架构

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
交易员 (Trader)
  └─ 询问信用与收益质押的洞察问题

AWS 区域 (AWS Region)
  ├─ VPC
  │  └─ 启用自动模式与 Karpenter 的 Amazon EKS
  │     ├─ agents 命名空间 (namespace)
  │     │  ├─ financial-agent 服务 (Service)
  │     │  ├─ financial-agent 部署 (Deployment)
  │     │  ├─ 信用多智能体服务器 (Credit multi-agent server)
  │     │  └─ Strands 信用智能体 (Strands Credit Agent)
  │     ├─ mcp-servers 命名空间
  │     │  └─ 金融 MCP 服务器 (financial MCP server)
  │     ├─ MCP 客户端 (MCP Client)
  │     ├─ 智能体对智能体 (A2A) 服务器
  │     └─ Strands 金融智能体 (Strands financial agent)
  ├─ Amazon Elastic Container Registry (ECR)
  │  └─ 智能体与 MCP 服务器镜像
  └─ Amazon Bedrock
     └─ AI/LLM 功能

AWS 区域外部 (External)
  └─ 供 MCP 客户端访问金融策略的外部 MCP 服务器

研讨会章节

第一部分:动手做研讨会与 EKS 自动模式

介绍如何在 Amazon EKS 上构建生产环境就绪的 AI 智能体,涵盖研讨会资源、预先部署的 EKS 自动模式、Karpenter 驱动的资源配置、节点池(NodePools)、可扩展运算、ECR、Bedrock、VPC、命名空间,以及用于外部工具访问的 MCP。

第二部分:MCP、A2A 协议与 Strands

深入解析 MCP、A2A 协议与 Strands SDK,包括远程工具发现、智能体互通性、智能体即工具(agents-as-tools)、智能体集群(swarms)、图(graphs)、工作流(workflows)、装饰器(decorators)、由 Bedrock 支持的智能体、current_time 工具,以及市场趋势执行的实际示例。

第三部分:智能体对智能体服务器与测试

涵盖如何通过 A2A 服务器公开智能体、FastAPI 挂载、HTTP/JSON 功能发现、agent-card.json 端点、本地测试、Docker 容器化、uv 依赖缓存、生产环境镜像、ECR 推送指令以及利率驱动的输出。

第四部分:在 Kubernetes 中部署金融智能体

详细说明金融智能体的 Kubernetes 部署流程,包括 Service 和 Deployment YAML、标签(labels)、选择器(selectors)、连接埠(ports)、环境变量、存活探针(liveness probes)、命名空间构建、滚动更新检查、Pod 验证、内部 DNS、curl 测试以及智能体卡片(agent-card)发现。

第五部分:多智能体系统与信用审查智能体

描述多智能体系统协同运作,信用与金融智能体如何通过 A2A 工具提供者进行协作、动态发现、任务委派、整合多方来源、风险审查、交易对手分析、流动性检查、合规性考量以及多智能体服务器测试。


第一部分 — EKS 自动模式与节点池

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

构建一个预先部署且启用了自动模式(Auto Mode)的 EKS 集群。

EKS 自动模式(Auto Mode)

EKS 自动模式利用 Karpenter 来实现:

● 自动启动运算资源。

● 监测被 Kubernetes 排程器标记为「无法排程(unschedulable)」的 Pod,并自动配置节点以运行这些 Pod。

● 在不再需要节点时将其自动移除。

节点池(NodePools)

节点池定义了:

● 可以被配置的运算资源类型。

● 容量类型,例如按需(On-Demand)或点货(Spot)。

● 可用区域(Availability zones)。

当 Pod 需要被排程时,Karpenter 会选择最合适的节点池配置来配置节点。这能将基本的对话式 AI 转化为具备弹性扩展、工具赋能的智慧智能体。

AWS 元件说明

● Amazon Elastic Container Registry (ECR):存储智能体和 MCP 服务器部署所需的容器镜像。

● Amazon Bedrock Claude Sonnet:为智能体提供强大的 AI/LLM 核心能力。

● VPC:为 EKS 集群提供网络隔离与安全边界。

● Amazon EKS Auto Mode:提供具备自动化基础设施管理的托管式 Kubernetes 集群。

● Agent 命名空间:包含 AI 智能体容器的部署(Deployment)与服务(Service)。

● MCP 命名空间:包含用于访问外部数据的 MCP 容器部署与服务。

● MCP 协议:允许智能体访问外部工具和数据源的标准协议。

结合 MCP 的智能体

模型上下文协议(MCP)赋予了智能体访问外部服务的能力。


第二部分 — MCP、A2A 协议与 Strands

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

智能体对智能体(A2A)协议

智能体对智能体(Agent-to-Agent, A2A)协议允许有多个应用与同一个智能体进行互动。

部署智能体至 Kubernetes — 生产环境就绪

模型上下文协议(MCP)

模型上下文协议(Model Context Protocol, MCP)使 AI 智能体能够安全地访问外部工具与服务。

MCP 客户端(MCP Client)

MCP 客户端利用远程 MCP 服务器的 URL 来动态发现并使用工具。

def get_mcp_tools():
    mcp_url = os.getenv("FINANCIAL_MCP_URL", "http://localhost:8080/mcp")
    mcp_client = MCPClient(lambda: streamablehttp_client(mcp_url))
    mcp_client.start()
    return mcp_client.list_tools_sync()

Strands 功能摘要

● 智能体对智能体 (A2A):一种开放标准,供智能体跨系统发现技能、通讯和协作,提升互通性与委派效率。适用于跨平台助理、企业自动化、市场和协调式多智能体任务。

● 智能体即工具 (Agents as Tools):将专门的智能体封装为其他智能体的可呼叫函数,提高模块化、重用性与控制度。适用于编码助理、检索专家、合规审查员、计算器及特定领域的工作流步骤。

● 智能体集群 (Swarm):一种协同业务流程模式,多个智能体以团队形式运作、共享上下文、分工并共同解决问题。适用于研究、脑力激荡、规划、事件响应、调查及复杂且具不确定性的任务。

● 图 (Graph):一种确定性的有向业务流程模式,智能体、节点、集群或嵌套图遵循预定义的路径,提高可预测性与可审计性。适用于审批、诊断、数据管道、受监管流程和可重复的决策。

● 工作流 (Workflow):一种针对特定智能体在定义序列或模式中的结构化协调模式,可提高效率、可重复性和问责制。适用于入职培训、报告、理赔处理、内容审查、服务台自动化及运营。

Strands SDK

Strands 是一个开源 SDK,通过模型驱动的编排(model-driven orchestration)简化自主 AI 智能体的构建。它减少了复杂的编码工作、处理多智能体工作流,并自动化云资源管理等任务。

只需加上简单的 @tool 装饰器(decorator),就能将 Python 函数转换为智能体工具。

@tool(name="get_todays_date", description="撷取今天的日期以确保准确性")
def get_todays_date() -> str:
    return datetime.today().strftime('%Y-%m-%d')

智能体定义(Agent)

智能体具备采取行动的能力。

def financial_agent():
    agent = Agent(
        description="协助处理固定收益指数的实用智能体",
        model=BEDROCK_MODEL_ID,
        system_提示词="""
你是一位拥有 40 年经验的专业交易员。
请解读最近 3 个月的美国金融市场趋势。
并给出风险中立的市场观察与场景提醒。
""",
        tools=[get_mcp_tools(), current_time]  # 整合 Strands 社区的 current_time 工具功能
    )
    return agent

执行智能体

def main():
    agent = financial_agent()
    agent("根据最近 3 个月的金融市场趋势给出市场观察与风险提醒")

在 Bash 终端机中执行智能体:

uv run --project ~/environment/agents/a2a/agent agent
echo -e "\n\n***** 智能体响应结束 *****"

输出结果

Tool #1: current_time
Tool #2: get_forecast

市场目前的狂热依旧由 AI 主导,但外头嫉妒的债券收益率正紧盯着这一切。全球股市受到科技/半导体财报与 AI 资本支出的推动而走高,然而债券波动性与过高的估值仍是主要的潜在风险。请仅在关键移动平均线上方顺势操作;严格执行止损、做好头寸控制,并避免盲目追高跳空缺口。

● 工具执行可见性:成功触发 Tool #1。

● 多步骤推理:市场狂热 → 债券收益率/波动性 → 半导体财报 → AI 资本支出 → 建议使用止损、头寸控制并避免追高。


第三部分 — 智能体对智能体服务器与测试

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

智能体对智能体(A2A)服务器

A2A 服务器可以让其他应用与服务进行访问。利用 Strands SDK 将您的智能体公开为网络服务。

def run_a2a_server():
    host = os.getenv("A2A_HOST", "0.0.0.0")
    port = int(os.getenv("A2A_PORT", "9000"))
    http_url = os.getenv("A2A_URL", os.getenv("AGENTCORE_RUNTIME_URL", f"http://localhost:{port}"))
    agent = financial_agent()  # 我们刚才构建的智能体
    应用 = FastAPI()  # 网页服务
    a2a_server = A2AServer(agent=agent, port=port, host=host, http_url=http_url, serve_at_root=True)

    # 将 A2A 服务器挂载到网页应用
    应用.mount("/", a2a_server.to_fastapi_应用())

    # 启动服务器
    uvicorn.run(应用, host=host, port=port)

测试 A2A 服务器

run_in_background 9000 uv run --project ~/environment/agents/a2a/agent agent-a2a-server
a2a_client_local http://localhost:9000 "能否提供收益质押的风险观察与监控重点?"

输出结果

原油是诱人的宏观经济触发点:每一次飙升都伴随着通膨的耳语。中东局势动荡推高了能源风险溢价,迫使市场重新评估通膨压力、中央银行的耐心以及经济增长风险。请密切监控布兰特原油(Brent)、损益平衡通膨率和 10 年期国债收益率;当原油波动加剧时,利用能源头寸进行对冲,或为股票多头头寸配置更紧密的移动止损。

能力发现(Capability Discovery)

客户端会自动发现 agent-card.json 端点。

● 通讯协议:HTTP/JSON

● 容器配置:绑定至 0.0.0.0:9000 以便在 Kubernetes 中部署。

容器化部署

将 A2A 服务器打包成 Docker 容器。Amazon EKS 提供完善的弹性调整、监控与服务发现。

Dockerfile 示例

ARG RUNTAG=latest
FROM cgr.dev/chainguard/python:latest-dev AS uv
WORKDIR /应用

# 安全的生产环境环境变量配置
# 预先编译 Python 字节码,缩短启动与汇入时间
ENV UV_COMPILE_BYTECODE=1

# 在 Docker 环境中通常使用 copy 较为安全
ENV UV_LINK_MODE=copy

# 强制使用系统内置的 Python 直译器
ENV UV_PYTHON_PREFERENCE=only-system

# 不允许更新 lockfile
ENV UV_FROZEN=true

开发阶段镜像 (uv)

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
# 构建依赖缓存层
COPY pyproject.toml uv.lock ./
RUN --mount=type=cache,target=/root/.cache/uv \
    uv sync --no-install-project --no-dev --no-editable

# 构建代码缓存层
COPY *.py .
RUN --mount=type=cache,target=/root/.cache/uv \
    uv sync --no-dev --no-editable

● --mount=type=cache:构建缓存机制以加速构建。

● --no-dev --no-editable:仅安装生产环境所需的相依项目。

生产环境镜像

FROM cgr.dev/chainguard/python:${RUNTAG}
WORKDIR /应用
ENV PATH="/应用/.venv/bin:$PATH"
COPY --from=uv /应用/.venv .venv

● ENV PATH:允许直接执行 python 和 pip 等指令。

● --from=uv:从名为 uv 的 Docker 构建阶段复制文件。

将编译好的容器镜像推送到 Amazon ECR:

docker build ~/environment/agents/a2a/agent/ -t ${ECR_REPO_FINANCIAL_AGENT_URI}:latest
docker push ${ECR_REPO_FINANCIAL_AGENT_URI}:latest

第四部分 — 在 Kubernetes 中部署金融智能体

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

部署金融智能体

服务资源宣告:k8s.yaml

apiVersion: v1
kind: Service
metadata:
  name: financial-agent
  namespace: agents
  labels:
    应用.kubernetes.io/name: financial-agent
spec:
  selector:
    应用.kubernetes.io/name: financial-agent
  ports:
    - port: 9000
      targetPort: a2a
      name: a2a

服务发现 (Service Discovery)

通过标签选择器(Label selector)与内部 DNS 进行对接:

● 标签选择器:应用.kubernetes.io/name: financial-agent

● 内部 DNS 网址:http://financial-agent.agents/

部署资源宣告 (Deployment Resource)

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
apiVersion: 应用s/v1
kind: Deployment
metadata:
  name: financial-agent
  namespace: agents
  labels:
    应用.kubernetes.io/name: financial-agent
spec:
  selector:
    matchLabels:
      应用.kubernetes.io/name: financial-agent
  template:
    metadata:
      labels:
        应用.kubernetes.io/name: financial-agent
    spec:
      serviceAccountName: financial-agent
      containers:
        - name: financial-agent
          image: ${ECR_REPO_FINANCIAL_AGENT_URI}:latest
          ports:
            - containerPort: 9000
              name: a2a
          env:
            - name: FINANCIAL_MCP_URL
              value: "http://financial-mcp.mcp-servers:8080/mcp"
            - name: A2A_URL
              value: "http://financial-agent.agents:9000"
          command: ["agent-a2a-server"]
          livenessProbe:
            tcpSocket:
              port: 9000

构建 Kubernetes 命名空间并部署:

# 构建命名空间
kubectl create namespace agents

# 替换环境变量并部署到 Kubernetes
envsubst < ~/environment/agents/a2a/agent/k8s.yaml | kubectl 应用ly -f -

# 等待 Pod 进入运行状态
kubectl rollout status --namespace agents deployment financial-agent

# 验证部署结果
kubectl get pods -n agents -l 应用.kubernetes.io/name=financial-agent

测试在 Kubernetes 中运行的智能体

kubectl run curl-test --image=curlimages/curl \
  --rm -it --restart=Never -- \
  curl -s -X GET http://financial-agent.agents:9000/.well-known/agent-card.json \
  | sed 's/pod "curl-test" deleted//' | jq -r .

A2A 智能体卡片(Agent Card)

A2A 智能体卡片详细描述了智能体的功能,让其他客户端能动态探索并了解该智能体可以执行的任务。

呼叫在 Kubernetes 中运行的智能体

a2a_client_in_k8s http://financial-agent.agents:9000 "Provide risk monitoring insights"

第五部分 — 多智能体系统与信用审查智能体

在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体
在 EKS 上构建生产环境就绪的信用与收益质押 AI 智能体

多智能体系统 (Multi-Agent Systems)

多个智能体分工合作来解决复杂的问题。

● 信用智能体 (Credit Agent):针对收益质押投资提供信用审查。

● 金融智能体 (Financial Agent):针对收益质押提供具体的市场观察与风险提醒。

请求分析流程

当用户提出请求时,信用智能体会分析该请求,并判定其需要更多实时的金融数据才能提供高质量的收益质押风险评估输出。

● 核心优势:引进外部领域专家(其他智能体)能产生更高质量、更全面的安全响应。

Strands 中的多智能体编排

● A2A 协议:发现并与其他智能体通讯。

● 多智能体编排:协调多个智能体共同解决复杂问题。

● A2A 客户端即智能体工具:将外部智能体封装为可供呼叫的函数工具。

def financial_agent_as_tool(request: str) -> str:
    remote_agent_a2a_url = os.getenv("FINANCIAL_A2A_SERVER_URL", "http://localhost:9000")
    a2a_tool_provider = A2AClientToolProvider(known_agent_urls=[remote_agent_a2a_url])
    tools = a2a_tool_provider.tools
    agent = Agent(
        model=BEDROCK_MODEL_ID,
        tools=tools,
        system_提示词="你是一个智能体界面。负责发现你可以使用的智能体与工具",
        callback_handler=None
    )
    try:
        response = agent(request)
        return str(response)
    except Exception as e:
        raise Exception(f"无法处理远程 A2A 智能体请求: {str(e)}")

构建信用审查智能体

构建一个专门评估收益质押投资风险的信用智能体。利用 A2A 客户端提供者工具来动态发现 A2A 智能体、委派任务并整合信息。

def credit_agent() -> Agent:
    agent = Agent(
        model=BEDROCK_MODEL_ID,
        description="""
信用审查智能体,负责从信用、交易对手、流动性、运营和风险控制的角度评估收益质押投资机会。
""",
        system_提示词="""
你是收益质押投资机会的信用审查智能体。
你的职责是评估拟议收益质押投资的信用与风险状况。
你**不提供**财务建议、投资推荐或收益保证。
你提供结构化的风险分析以支持人类决策。

请务必评估以下领域:
- 交易对手风险 (Counterparty risk)
- 协议或平台风险 (Protocol or platform risk)
- 资产质量与波动性风险
- 收益永续性 (Yield sustainability)
- 流动性与赎回风险
- 智慧合约与运营风险
- 托管与结算风险
- 法规与合规性考量
- 历史表现(若有)
- 集中度与风险敞口限制
- 上行/下行场景与压力测试风险

如果用户提供信息不足,请主动询问:
- 质押平台或协议名称
- 质押的资产
- 预期收益或 APY
- 锁定期限 (Lock-up period)
- 投资金额
- 司法管辖区
- 交易对手或托管机构详情
- 可用的文件、评级、审计或财务披露

请以清晰的信用审查格式输出:
- 执行摘要 (Executive summary)
- 核心优势
- 关键风险
- 必要尽职调查 (Required due diligence)
- 风险评级
- 信用隐忧
- 缓释因素 (Mitigating factors)
- 最终审查结论

适时使用可用工具或智能体来收集支持信息。清楚说明假设与限制。
切勿直接指示用户投资或不投资。
""",
        tools=[current_time, financial_agent_as_tool]
    )
    return agent

将多智能体系统公开为 A2A 服务器

def run_a2a_server():
    host = os.getenv("A2A_HOST", "0.0.0.0")
    port = int(os.getenv("A2A_PORT", "9000"))
    http_url = os.getenv("A2A_URL", os.getenv("CREDIT_AGENT_RUNTIME_URL", f"http://localhost:{port}"))
    agent = credit_agent()
    应用 = FastAPI()
    a2a_server = A2AServer(agent=agent, port=port, host=host, http_url=http_url, serve_at_root=True)
    应用.mount("/", a2a_server.to_fastapi_应用())
    uvicorn.run(应用, host=host, port=port)

测试多智能体 A2A 服务器

run_in_background 9000 uv run --project ~/environment/agents/a2a/multi-agent multi-agent-a2a-server
a2a_client_local http://localhost:9000 "能否针对未来 3 个月的收益质押投资提供信用审查?"

最终输出结果

利率则是能让派对随时结束的冷酷玩家。更高的主权债券收益率和期限溢价可能会压缩市盈率,特别是对于长久期的成长股。请在收益率向上突破时降低杠杆;资产配置上更倾向于拥有优质资产负债表、自由现金流充裕的标的,并持有短久期固定收益产品以保留备用资金。