第 1 章 · 03 整体架构与 Agent 流水线


文档摘要

第 1 章 · 03 整体架构与 Agent 流水线 本节摘要:本节把 AutoHedge 的所有部件拼成一张完整的架构图。控制流是这样的:用户给一个 task 字符串 → AutoHedge 主类维护的 Conversation 记录它 → Director Agent 接管,通过 handoffs 自主调度四个专家(情绪/量化/风控/执行)→ 专家各自用模型与工具产出 → 结果汇回。此外,AutoHedge 实际有两条执行链路:一条是「股票分析」(只生成订单结构,不真实下单),另一条是「Solana 实盘」(ultratools 真实签名并广播)。本节讲清这条流水线怎么流动、两条链路的差异。读完本节,你脑子里有了 AutoHedge 的全景图,后续章节就是放大看每个部件。

第 1 章 · 03 整体架构与 Agent 流水线

本节摘要:本节把 AutoHedge 的所有部件拼成一张完整的架构图。控制流是这样的:用户给一个 task 字符串 → AutoHedge 主类维护的 Conversation 记录它 → Director Agent 接管,通过 handoffs 自主调度四个专家(情绪/量化/风控/执行)→ 专家各自用模型与工具产出 → 结果汇回。此外,AutoHedge 实际有两条执行链路:一条是「股票分析」(只生成订单结构,不真实下单),另一条是「Solana 实盘」(ultra_tools 真实签名并广播)。本节讲清这条流水线怎么流动、两条链路的差异。读完本节,你脑子里有了 AutoHedge 的全景图,后续章节就是放大看每个部件。

内容来源:综合 main.pyworkers.pytools/ultra_tools.py,精读并套用体系化模板。

⚠️ 现实澄清:架构图看起来很完整,但要记住——股票端「执行 Agent」并不真实下单,Solana 端虽有真实下单但缺成熟风控。架构完整 ≠ 功能完整。

学习目标

阅读完本节,你应当能够:

  1. 画出 AutoHedge 的整体控制流(task → Director → 专家 → 输出)。
  2. 说清 Conversation 在流程中的作用。
  3. 区分两条执行链路(股票分析 vs Solana 实盘)及其完整度差异。
  4. 在全景图上定位后续每一章讲的是哪个部件。

一、顶层控制流

main.pyrun() 方法看,一次完整的交易周期是这样流转的:

对应的核心代码(main.py,精简):

def run(self, task: str, *args, **kwargs): self.conversation.add(role="user", content=f"Task: {task}") try: output = director_agent.run(task=task) # 交给 Director self.conversation.add(role="director", content=output) if self.output_type == "list": return self.conversation.return_messages_as_list() if self.output_type == "dict": return self.conversation.return_messages_as_dictionary() if self.output_type == "str": return self.conversation.return_history_as_string() return self.conversation.return_messages_as_list() except Exception as e: logger.error(f"Error in trading cycle: {str(e)}") raise

注意:AutoHedge 主类本身不做交易决策,它只是「记一笔用户任务 → 调 Director → 记一笔结果 → 按格式返回」。所有智能都在 Director 与专家 Agent 里。

二、Director 与专家的协作

Director 收到 task 后,在自己的 system_prompt 引导下,通过 handoffs 把子任务分给专家:

每个专家的产出约定(由 workers.py 里追加的 prompt 段定义):

  • 情绪 Agent:分析新闻与情绪(用 exa_search 联网)。
  • 量化 Agent:产出 ticker, technical_score, volume_score, trend_strength, volatility, probability_score, key_levels
  • 风控 Agent:产出 仓位大小、最大回撤风险、市场风险敞口、整体风险评分
  • 执行 Agent:产出 订单类型(市价/限价)、数量、入场价、止损、止盈、有效期

💡 关键观察:Director 是唯一的「编排者」,四个专家平级、互不直接交接,只通过 Director 串联。这是一种典型的 Orchestrator-Worker(编排者-工人)模式,清晰但依赖 Director 的判断力。

三、两条执行链路

AutoHedge 宣称能交易,但实际有两条完整度悬殊的链路:

链路 A:股票分析(无真实下单)

task(如"分析石油市场") → Director → 调 sentiment/quant/risk/execution → execution_agent 只"生成订单结构"(文字/JSON) → 写入 logs(对话日志 CSV)

关键:这条链路的「执行」止于生成订单的文字描述,不会真的去交易所下单。execution_agent 没有 tools=[下单函数],它只是个会写订单格式的 LLM。所谓「全自主股票交易」在这条链路上并未实现

链路 B:Solana 实盘(真实签名广播)

触发条件 → get_order(input/output mint, amount) 取未签名交易 → execute_trade(unsigned_tx, request_id): Keypair 从 SOLANA_PRIVATE_KEY 恢复 VersionedTransaction.from_bytes 解析 sign_message 用私钥签名 POST 给 Jupiter /execute 端点广播

关键:这条链路是项目里唯一真实动钱的代码(在 ultra_tools.py)。它通过 Jupiter Ultra Swap API + solders 签名,能真的在 Solana 上完成代币兑换。第 8 章会逐行精读。

维度 链路 A 股票分析 链路 B Solana 实盘
真实下单 ❌ 只生成订单结构 ✅ 真实签名广播
触发方式 Director 自动编排 需显式调 get_order/execute_trade
风控成熟度 依赖 LLM 文字输出 几乎无链上风控
教学价值 多 Agent 编排示范 Solana 签名实战

⚠️ 现实澄清:README 把两条链路混为一谈,宣称「完全自主交易」。实际上股票端不下单,Solana 端虽下单但风控脆弱。两者都不能算「可用的自主交易」。

四、工具层:Agent 的「手」

Agent 能做的事,取决于给它配了什么工具(tools/ 目录):

工具 作用 谁在用
exa_search Exa.ai 自然语言网页搜索 情绪 Agent
yahoo_api 股票报价/历史 (可被量化用)
jupiter_price/search Solana 代币价/搜索 (可被量化用)
polygon_api 占位(实际 massive.com) 几乎无用
ultra_tools(get_order/execute_trade/get_holdings) Solana 真实交易 链路 B

注意:从 workers.py 看,目前只有情绪 Agent 显式带了 tools=[exa_search],其他专家的 tools 多为空或未在实例化时绑定。这意味着很多工具是「存在但未接入 Agent」——这也是项目「未完成」的体现。第 6~8 章会详讲工具层。

五、全景图与章节定位

把所有部件叠在一起,AutoHedge 的全景:

用户 task │ ▼ [第5章 CLI] rich REPL ── 接收输入、记历史 │ ▼ [第5章 main.py] AutoHedge.run ── Conversation 记账 ── 调 Director │ ▼ [第3章 workers.py] Director(gpt-4.1) ──handoffs──► 情绪 / 量化 / 风控 / 执行 专家 │ │ │ [第4章 prompts.py] │ │ 每个 Agent 的 system_prompt │ │ ▼ │ [第6章 tools/ exa_search] [第7章 tools/ yahoo/jupiter 数据] │ │ │ ▼ │ [第8章 tools/ultra_tools.py] Solana 真实签名 │ ▼ 输出 list/dict/str + logs CSV

后续每一章,就是放大看这张图里的一个框。

本节要点回顾

  1. 顶层控制流:task → AutoHedge.run → Conversation 记账 → director_agent.run → 专家产出 → 按 output_type 返回;主类本身不做决策。
  2. Orchestrator-Worker:Director 是唯一编排者,四专家平级、只通过 Director 串联。
  3. 两条链路:股票分析(只生成订单结构,不真实下单)vs Solana 实盘(ultra_tools 真实签名广播);README 混为一谈,实则完整度悬殊。
  4. 工具层:exa_search(情绪用)、yahoo/jupiter(数据)、ultra_tools(Solana 交易);但多数工具存在却未接入 Agent,项目未完成。
  5. 章节定位:后续每章放大全景图的一个框——workers(3)、prompts(4)、cli/main(5)、tools 调用(6)、数据工具(7)、Solana 签名(8)。

至此第 1 章结束,你对 AutoHedge 有了全景认识。下一章,我们配好环境、跑通 example.py,让这些 Agent 真正转起来。


发布者: 作者: 灏天文库 转发
评论区 (0)
U