3 min read483 words

投资研究多 Agent 系统设计

Finance
Finance

技术栈:LangChain / LangGraph(编排)、OpenAI/DeepSeek/Claude/Qwen 等大模型(可切换)、向量数据库、金融数据源。
目标:让多个专业化 AI Agent 协同完成「从研究课题 → 数据采集 → 多维分析 → 交叉验证 → 结构化研报」的全流程。


1. 概述与目标

1.1 想解决的问题

传统投研流程中,研究员需要人工完成信息采集、财报阅读、舆情监控、估值测算、合规校对等大量工作。本系统把这些能力拆分为职责单一的专用 Agent,由一个 Supervisor(监督者) 统一编排,让它们像投研团队一样分工协作。

1.2 核心目标

维度目标
效率把单份研报初稿的生产时间从「天级」压缩到「分钟级」
深度覆盖宏观、基本面、技术面、舆情、风控等多维视角,避免单一模型盲区
可信每个结论必须带引用来源,经事实核查 + 人工审批后才输出
可演进Agent、工具、数据源、模型均可插拔替换;每次运行可复现、可评估

1.3 设计原则

  1. 单一职责:每个 Agent 只做一类事,便于评测、调试与替换。
  2. 状态显式化:所有中间结论写入共享 State(LangGraph),可断点、可观测、可人工介入。
  3. 人机协同:关键节点(风险项、评级、结论)设人工审批检查点(Human-in-the-loop)。
  4. 引用溯源:消灭「无来源判断」,一切事实主张必须可回溯。
  5. 合规优先:数据授权、信息隔离、免责声明内建于风控 Agent。

2. 总体架构

2.1 架构总览(分层)

┌──────────────────────────────────────────────────────────────────────────────┐ │ ① 应用层 Web 研报工作台 · REST/SSE API · 研报门户/消息分发 │ └───────────────────────────────────▲───────────────────────────────────────────┘ │ 研究课题/指令(下发) ┌───────────────────────────────────┴───────────────────────────────────────────┐ │ ② 编排层 LangGraph Supervisor:任务规划 / 路由 / 汇总 / 审批 │ │ 共享状态 StateGraph + Checkpointer(断点续跑 + 人工介入) │ └───────────────────────────────────┬───────────────────────────────────────────┘ │ 子任务派发(并行/串行) ┌───────────────────────────────────┴───────────────────────────────────────────┐ │ ③ 多 Agent 层 │ │ 宏观·行业 │ 基本面·财务 │ 技术面 │ 舆情·情绪 │ 深度研究 │ 量化·因子 │ 风控·合规 │ 研报生成 │ └───────────────────────────────────┬───────────────────────────────────────────┘ │ 调用能力 ┌───────────────────────────────────┴───────────────────────────────────────────┐ │ ④ 能力层 工具集 Toolset · RAG 知识检索 · 记忆 Memory · 沙箱代码执行 │ └───────────────────────────────────┬───────────────────────────────────────────┘ │ 数据读取 ┌───────────────────────────────────┴───────────────────────────────────────────┐ │ ⑤ 数据层 行情/财务/公告 · 新闻/舆情 · 宏观/另类 · 研报知识库(向量+图) │ └───────────────────────────────────┬───────────────────────────────────────────┘ │ ┌───────────────────────────────────┴───────────────────────────────────────────┐ │ ⑥ 基础设施 模型网关 LLM Gateway · 向量库 · 消息队列 · 可观测性 · 权限/合规审计 │ └──────────────────────────────────────────────────────────────────────────────┘

2.2 Mermaid 架构图

flowchart TB subgraph L1["① 应用层"] UI["Web 研报工作台 / REST·SSE API / 研报门户"] end subgraph L2["② 编排层(LangGraph)"] SUP["Supervisor 智能体<br/>任务规划·路由·汇总·审批"] ST["共享状态 StateGraph + Checkpointer"] end subgraph L3["③ 多 Agent 层"] A1["宏观·行业"] A2["基本面·财务"] A3["技术面"] A4["舆情·情绪"] A5["深度研究"] A6["量化·因子"] A7["风控·合规"] A8["研报生成"] end subgraph L4["④ 能力层"] T["工具集 Toolset"] RG["RAG 知识检索"] M["记忆 Memory"] CD["沙箱代码执行"] end subgraph L5["⑤ 数据层"] D1["行情·财务·公告"] D2["新闻·舆情"] D3["宏观·另类"] D4["研报知识库 向量+图"] end subgraph L6["⑥ 基础设施"] GW["模型网关 LLM Gateway"] V["向量数据库"] OBS["可观测性 Langfuse/LangSmith"] AUTH["权限 / 合规审计"] end UI --> SUP SUP <--> ST SUP --> A1 & A2 & A3 & A4 A1 & A2 & A3 & A4 --> A5 A5 --> A6 A5 --> A7 A6 & A7 --> A8 A1 & A2 & A3 & A4 & A5 --> T & RG T --> D1 & D2 & D3 & D4 RG --> D4 T --> GW

3. 多 Agent 编排模式

选型:「Supervisor + 层次化团队(Hierarchical Teams)」,用

langgraph
的
StateGraph
+
Send
API 实现并行派发,用
interrupt
实现人机协同。

  • 为什么不用纯 Peer-to-Peer(AutoGen 风格):投研流程有明确先后依赖(先采集分析、后交叉验证、再成稿),独立 Agent 自由对话会导致不可控的上下文膨胀与结论漂移。
  • 为什么不用单一大模型的 ReAct:单一 Agent 承担全部工具会陷入「工具过多、指令冲突、长上下文失控」。
  • Supervisor 职责:解析课题 → 拆解子任务 → 决定谁来做、并行还是串行 → 收集各 Agent 的 Findings → 裁决冲突 → 触发风控与人工审批 → 交给研报生成 Agent 成稿。
┌─────────────────┐ 用户课题 ───▶ │ Supervisor │ └────────┬────────┘ ┌──────────┬─────────┼───────────┬─────────┐ ▼ ▼ ▼ ▼ ▼ 宏观·行业 基本面·财务 技术面 舆情·情绪 (并行) └──────────┴─────────┼───────────┴─────────┘ ▼ 深度研究 Agent(汇聚初稿) ┌──────┴──────┐ ▼ ▼ 量化·因子 风控·合规(事实核查/风险/合规) └──────┬──────┘ ▼ 研报生成 Agent ▼ 人工审批 checkpoints ▼ 发布 / 通知

4. 各 Agent 详细设计

Agent职责关键工具输入 → 输出
Supervisor(编排)课题解析、任务分解、路由、冲突裁决、触发审批路由、State 读写课题 → 任务队列 / 最终研报骨架
宏观·行业 AgentGDP/CPI/PMI/利率等宏观周期、行业景气度、政策解读、产业链宏观数据 API、搜索、研报 RAG课题 → 宏观与行业分析节点
基本面·财务 Agent三大报表分析、财务比率、盈利预测、估值(DCF/PE/PB/PEG)财务数据、公告、计算器、沙箱、DCF 建模财务数据 → 财务健康度与估值
技术面 AgentK 线/均线/量价、MACD/RSI/布林/KDJ、形态与支撑压力、资金流行情 API、图表生成行情 → 技术信号与点位
舆情·情绪 Agent新闻/社交/研报情绪打分、事件驱动(回购/增减持/评级变动)新闻·舆情 API、情感模型、RAG文本流 → 情绪与事件评分
深度研究 Agent商业模式、竞争格局、管理层、股东变动、调研/电话会纪要精读文档解析、RAG、搜索上游结论 → 个股深度画像
量化·因子 Agent多因子建模、回测、相关性、组合优化回测引擎、沙箱代码因子数据 → 量化信号
风控·合规 Agent波动率/最大回撤/VaR/集中度,事实核查、信息披露、利益冲突、免责规则引擎、事实核查、RAG各节点 → 风险与合规清单
研报生成 Agent汇总成结构化研报(摘要/逻辑/财务/风险/估值/评级),插图表、带引用模板、图表、沙箱、RAG全部 Findings → 成稿

每个 Agent 的 Prompt 骨架(通用约定):

  • 角色设定 + 能力边界(「你只能…,不要越界输出评级结论」)
  • 可用工具清单及调用规范
  • 输出格式 JSON Schema(
    { finding, evidence, sources[], confidence, risks }
    )
  • 强制「无确凿来源则标注为存疑」的规则

5. 工具层设计

工具说明典型接口/来源
行情/财务数据日线、财务三大报表、估值指标Tushare Pro / AKShare / Wind / 聚宽 / Alpha Vantage
公告/财报巨潮、SEC EDGAR 披露文件抓取与解析官方披露 + 文档解析(pdf/word/表格抽取)
新闻/舆情实时新闻、社交、研报情绪新闻 API / 爬虫 + 情感模型
宏观/另类数据宏观指标、行业数据、资金流、席位统计/行业数据库
搜索补充性互联网检索Tavily / SerpAPI / Bing
知识检索(RAG)历史研报、调研纪要、投研笔记向量库 + BM25 混合检索
计算/建模财务模型、DCF、指标计算隔离沙箱(Python)
回测因子/策略回测与绩效统计回测引擎
图表生成K 线、财务趋势、估值区间图绘图库导出 PNG

工具统一封装为 LangChain

Tool
(带 name/description/JSON args schema),并接入统一调用审计日志。


6. 知识 / 记忆 / RAG

  • 检索增强(RAG):历史研报、公告、调研纪要、投研笔记 → 切块 → 向量化(embedding)→ 存入向量库 + 倒排索引;查询时做混合检索 + rerank,返回带文档编号的引用。
  • 短期记忆:本次任务上下文存放在 LangGraph State;对话历史用 LangChain
    Memory
    。
  • 长期记忆:跨任务的「研究偏好」「已核实事实库」「指标口径字典」存向量库/图库,供后续任务复用。
  • 图结构:股票-行业-供应链-股东关联关系存图数据库(如 Neo4j),支撑产业链传导分析。

7. 关键数据流(一次典型任务)

sequenceDiagram participant U as 用户 participant S as Supervisor participant M as 宏观·基本面·技术·舆情(并行) participant D as 深度研究 participant R as 风控/合规 participant G as 研报生成 participant H as 人工审批 U->>S: 提交课题「XX 公司投资价值分析」 S->>S: 拆解子任务 + 生成计划 par 并行调研 S->>M: 派发 4 个分析任务 M->>M: 调用工具(数据+RAG)产出 Findings(带引用) end M-->>S: 返回各维度 Findings S->>D: 汇总初稿,深度研究补全商业模式/风险 D-->>S: 深度画像 S->>R: 事实核查 + 风险/合规校验 R-->>S: 风险清单 / 存疑项(不通过则回退重查) S->>G: 成稿(结构化 + 图表 + 引用) G-->>S: 研报草稿 S->>H: 人工审批检查点 H-->>S: 通过/修改意见 S->>U: 发布研报 + 通知

8. 状态管理(LangGraph State)

一份任务的核心共享状态(

TypedDict
):

class ResearchState(TypedDict, total=False): topic: str # 研究课题 plan: list[SubTask] # 任务分解 findings: list[Finding] # 各 Agent 结论(带 sources/confidence) tool_log: list[ToolCall] # 工具调用审计 report_draft: str # 研报草稿 risk_checks: list[RiskItem]# 风险与合规项 citations: list[Citation] # 引用溯源 approval: str # pending / approved / revise
  • 使用
    Checkpointer
    (如 Postgres/SqliteSaver)实现断点续跑与人工介入(
    interrupt
    暂停等待审批)。
  • Send
    API 实现「1 → N 并行派发,再汇聚」。

9. 技术栈清单

层选型
编排LangGraph(StateGraph / Send / checkpointer / interrupt)
模型LLM Gateway:OpenAI / DeepSeek / Claude / Qwen / 开源模型(vLLM 自托管),按任务选模型
框架LangChain(Agent、Tool、Memory、Retriever)
向量库pgvector / Milvus / Chroma;倒排 BM25 用于混合检索
图库Neo4j(产业链/股东/供应链)
数据源Tushare Pro / AKShare / Wind / 聚宽 / Alpha Vantage / 新闻 API / 巨潮 / SEC EDGAR
解析文档解析(PDF/Word/表格抽取,规则 + LLM 结构化)
沙箱隔离 Python 执行环境(e2b / Docker / Firecracker)
可观测性Langfuse / LangSmith + OpenTelemetry(Trace、Token 用量、成本、延迟)
队列/缓存Redis(缓存 + 轻量队列)、Kafka/RabbitMQ(任务流)
存储PostgreSQL(业务/状态/审计)、对象存储(研报/图表产物)
前端Next.js + React(研报工作台,SSE 流式展示过程)

10. 落地规划(分阶段路线图)

阶段 0 —— 地基与数据(约 1–2 周)

  • 内容:梳理合规边界与数据授权;接入数据源(行情/财务/公告/新闻);搭建 LLM Gateway、统一模型调用层、可观测性(Langfuse)、统一配置与密钥管理。
  • 交付物:可运行的数据采集任务 + 单 Agent 演示(新闻摘要 + 财务摘要)。
  • 验收:数据每日稳定更新,单 Agent 端到端输出带引用的摘要;全链路 Trace 可查。

阶段 1 —— 多 Agent 骨架(约 3–4 周)

  • 内容:搭建 Supervisor + 4 个核心 Agent(宏观·行业 / 基本面·财务 / 技术面 / 舆情·情绪);RAG 知识库(历史研报、公告);共享 State + 并行派发;输出结构化初稿。
  • 交付物:多 Agent 编排 MVP,一份课题 → 多维分析初稿。
  • 验收:同一课题能稳定并行产出 4 类 Findings 并自动汇总成大纲,引用可点击溯源。

阶段 2 —— 深度研究 + 风控闭环(约 2–3 周)

  • 内容:加入深度研究 Agent、风控·合规 Agent、研报生成 Agent;实现事实核查、引用溯源、Human-in-the-loop 审批;研报模板与图表插入。
  • 交付物:可发布的完整研报草稿(含风险清单 + 免责声明)。
  • 验收:存疑项会被强制拦截进入人工审批;研报结构完整、引用齐全。

阶段 3 —— 量化与反馈回路(约 2–3 周)

  • 内容:量化·因子 Agent(回测/估值区间)、图表自动生成、用户反馈(采纳/修改)回流优化 Prompt 与知识库;研报发布与订阅通知。
  • 交付物:带估值区间与回测附件的成体系研报;反馈闭环。
  • 验收:用户可一键生成含图表/模型的完整报告;反馈数据进入评测集。

阶段 4 —— 规模化与合规增强(持续)

  • 内容:多租户与权限隔离、风控/合规审计增强、成本优化(缓存、小模型路由、结果缓存)、评估体系(研报质量自动评测 + 对真实走势的长期跟踪校准)。
  • 交付物:生产级平台 + 自动化评估看板。
  • 验收:研报质量指标(引用准确率、专家评分)持续提升,单位成本持续下降。

里程碑总览(示意):

周0 周2 周6 周9 周12 → ├─ 阶段0 ─┤├─── 阶段1 ───┤├── 阶段2 ──┤├── 阶段3 ──┤├── 阶段4(持续) ── 地基/数据 4核心Agent+ 深度+风控+ 量化+反馈 规模化/合规/评估 Supervisor 成稿+审批

11. 风险与应对

风险表现应对
幻觉/事实错误编造财务数据、张冠李戴强制引用溯源、事实核查 Agent、置信度打分、低置信降级为人工
数据质量与延迟数据源口径不一、行情延迟数据血缘与口径字典、实时/延迟数据分层、入库校验
合规风险未经授权数据、内幕/误导性结论数据授权清单、风控规则引擎、免责声明、人工审批
成本失控Token 用量大、重复调用结果缓存、小模型路由、按任务选模型、预算告警
上下文膨胀长任务上下文失控任务拆分、摘要压缩、向量检索替代全文塞入
不可复现/难排障结果漂移,难定位错误 Agent全程 Trace、State checkpoints、版本化 Prompt 与评测

12. 未来演进

  • 多角色评论型 Agent:多头/空头 Agent 辩论式交叉验证,收敛出更稳健结论。
  • 实时事件驱动:公告/新闻触发自动研报更新与预警推送。
  • 组合视角:从单标的扩展到组合层面的权重、相关性、行业暴露优化。
  • 自我评估与进化:用研报对后续真实走势的拟合度作为长期奖励信号,迭代 Prompt 与知识库。