智能体赋能金融多模态报告自动化生成:技术原理与实现流程全解析

在金融领域,研报作为决策参考的核心载体,其生成过程往往涉及海量数据采集、多维度分析及专业内容整合,传统人工制作模式不仅耗时耗力,还难以满足实时性与标准化需求。随着人工智能技术的发展,"智能体赋能的金融多模态报告自动化生成"方案应运而生,通过整合大语言模型(LLM)、检索增强生成(RAG)、MCP等技术,实现了研报从需求识别到最终交付的全流程自动化。

效果图:

一、方案整体架构与核心目标

本文将基于完整技术架构,详细拆解该方案的核心模块、工作逻辑与实现细节。

1.1 核心目标

以"提高效率、标准化输出"为核心,实现用户输入触发→多源数据采集→多维度分析→研报自动化生成→下载交付的端到端闭环,支持金融研报的快速生成与重复利用(若当日已生成同公司研报,直接返回下载地址),同时兼顾内容的专业性(如财务比率分析、行业对比)与格式的规范性(HTML转PDF、Markdown表格)。

1.2 整体技术栈

方案融合了数据采集、知识检索、智能调度、内容生成等多类技术工具,核心组件如下:

技术类别 具体工具/模块 核心作用
数据来源 东方财富、Akshare、同花顺、财经新闻网站、MCP服务 提供上市公司全维度数据(财务报表、股票信息、机构评级等)
知识检索 RAG(检索增强生成)、向量库(Milvs)、CRUD工具 快速召回目标公司相关数据,支撑研报分析内容
智能调度 任务拆分LLM、任务调度模块、子任务执行Agent 拆解用户需求为可执行子任务,调度资源完成任务执行
内容处理 内容润色Agent、图表工具、HTML模板填充、HTML转PDF 生成标准化研报内容,转换为可下载的PDF格式
交互与接口 对话窗口、FastApi接口(/fin/gen_report、/fin/download_report) 接收用户输入,返回研报结果与下载地址

二、全流程工作拆解:从用户输入到研报交付

整个研报自动化生成流程可分为意图识别→任务拆分→任务调度→子任务执行→研报合成→格式转换与交付六大核心环节,各环节环环相扣,形成完整工作流。

环节1:意图识别------判断需求并提取关键信息

用户通过"对话窗口"输入需求后,系统首先进行意图识别,区分需求与研报的关联性,同时提取生成研报必需的关键要素。
意图识别这部分功能属于后期规划的内容,目前还处在第一期建设。

1.1 意图分类与处理逻辑
  • 无关研报需求:若用户输入为闲聊内容(如"今天天气如何"),系统可直接闲聊互动,或回复"你的对话内容和生成研报无关!"。
  • 相关研报需求 :需进一步提取"上市公司名称"或"股票代码",这是后续数据采集与研报生成的核心标识,处理规则如下:
    • 若识别到"上市公司名称"(如"宁德时代"):自动查询对应的股票代码(如"sh300750")。
    • 若直接识别到"股票代码"(如"sh300750"):无需额外查询,直接进入"任务拆分"环节。
1.2 研报重复生成判断

为避免重复计算资源浪费,系统会校验"当日是否已生成该公司研报":

  • 是:直接返回历史研报的下载地址,无需执行后续流程。
  • 否/用户要求"重新生成":触发下游"任务拆分"环节,启动全新研报生成工作流。

环节2:任务拆分------基于LLM拆解研报核心子任务

研报内容涵盖财务、行业、战略、风险等多维度分析,需通过LLM将"生成某公司研报"这一总需求,拆解为多个可独立执行的子任务,确保分析维度全面、逻辑清晰。

2.1 核心子任务清单(含必选与可选)

LLM需至少拆解出以下子任务,覆盖研报核心模块:

  1. 采集并整理公司三大会计报表数据(资产负债表、利润表、现金流量表);
  2. 分析公司主营业务、核心竞争力与行业地位(含市场份额、技术优势、客户群体等);
  3. 计算关键财务比率(如ROE、毛利率、现金流匹配度),并与行业同行对比;
  4. 选取可比公司进行横向竞争分析(财务表现、市场定位、技术能力对比);
  5. 解读公司发展战略与未来规划(市场扩张、研发投入、合作项目等);
  6. 总结潜在风险因素(市场风险、经营风险、政策风险),并给出风险提示。

环节3:任务调度------整合子任务并调用API接口

任务拆分完成后,"任务调度模块"接收所有子任务作为输入参数,调用后端核心API接口(/fin/gen_report),启动研报生成流程。API接口是连接"任务调度"与"子任务执行"的关键枢纽,执行以下四步操作:

  1. 子任务合并:将LLM生成的"动态子任务"与系统"预制子任务"(如"公司基本信息整理""股票价格趋势分析")合并,形成完整子任务列表;
  2. 子任务分发:轮询取出每一个子任务,分配给下游"子任务执行Agent";
  3. 执行状态监听:待所有子任务执行完成后,触发下游"研报章节合成"环节;
  4. 异步返回结果:API接口接收到任务后,立即向调用方(任务调度模块)返回结果,包含研报下载地址(子任务执行在后台异步完成,不阻塞前端交互)。
3.1 API返回结果示例(JSON格式)
json 复制代码
{
  "code": "000",
  "msg": "研报生成完成:sh300750-宁德时代",
  "data": "http://127.0.0.1:8001/fin/download_report?report_file_name=sh300750_宁德时代_02.md"
}

环节4:子任务执行------Agent驱动数据检索与内容生成

"子任务执行Agent"是研报内容生产的核心执行者,基于RAG知识检索与数据抓取工具,完成"数据获取→数据校验→内容润色"的子任务闭环。

4.1 核心执行逻辑
  1. 子任务传递:Agent接收子任务名称(如"计算宁德时代ROE并与行业对比"),传递给"知识检索RAG工具";
  2. 知识检索与数据校验
    • RAG工具通过"语义相似度检索"和"关键字检索"两种方式查询数据,每种方式最多返回3条记录,共6条候选数据;
    • 对6条数据进行精排(基于相关性、时效性),最终取前2条作为检索结果;
    • Agent判断检索结果是否足以完成子任务:若不足,调用"数据抓取工具"补充数据;若足够,进入"内容润色"环节。
4.2 数据抓取工具:多源数据采集与存储

数据抓取工具从东方财富、Akshare、同花顺等权威金融平台获取数据,覆盖以下核心维度:

  • 公司基础数据:基本信息(成立时间、注册资本)、股权结构、股票信息(股价、成交量);
  • 财务数据:三大财务报表、季度/年度财务指标;
  • 行业与机构数据:行业对比数据、机构评级数据、股价预测数据、经营分析数据。

抓取的数据存储到Milvs向量数据库,存储规则如下:

  • 核心存储内容:原始数据、数据主题(如"宁德时代2023年利润表")、数据来源(如"Akshare")、股票代码、公司名称;
  • 元数据(metadata):将"数据主题、数据来源、股票代码、公司名称"存入元数据,便于后续RAG工具快速检索。
4.3 内容润色Agent:生成标准化子任务内容

内容润色Agent基于"检索数据+子任务标题",生成符合研报规范的内容,核心规则如下:

  • 表格数据:自动转换为Markdown格式表格(如"宁德时代2023年关键财务比率表");
  • 图表需求:调用"图表工具"生成可视化图表(如"宁德时代与同行毛利率对比图");
  • 来源标注:所有表格数据、图表数据必须标注数据来源(如"数据来源:东方财富2023年报");
  • 格式输出:最终生成包含"子任务标题+润色内容"的Markdown文件(如"子任务3:财务比率分析.md")。

环节5:研报章节合成------整合子任务内容形成完整框架

所有子任务的Markdown文件生成后,需通过"研报章节合成"模块整合为完整研报,核心依赖LLM实现"内容归类与标题结构化":

  1. LLM接收所有子任务Markdown文件,根据内容逻辑(如"基础信息→财务分析→行业对比→战略风险"),将子任务填充到研报的一二级章节中;
  2. 自动生成研报总标题(如"sh300750宁德时代2023年年度研报")与目录,确保章节逻辑连贯、层次清晰;
  3. 输出带有HTML标签的完整研报内容(为后续HTML模板填充做准备)。

环节6:格式转换与交付------HTML填充→PDF生成→下载

研报内容框架确定后,需完成格式转换与存储,最终通过"对话窗口"向用户交付下载地址。

  1. HTML模板填充:将"带有HTML标签的研报内容"填充到预定义的HTML模板中(模板包含字体、排版、页眉页脚等样式,确保研报格式统一);
  2. HTML转PDF:调用工具将HTML格式研报转换为PDF格式,存储到服务器指定目录;
  3. 下载地址返回:系统将PDF文件的下载地址(通过FastApi的/fin/download_report接口生成)返回至"对话窗口",用户点击即可下载研报;
  4. 交互限制:对话窗口采用"单轮阻塞"机制------只有当前工作流完成并返回结果后,才能接收用户下一次输入,避免任务冲突。

三、关键技术亮点与应用价值

3.1 技术亮点

  1. 多模态数据融合:整合文本(新闻、财报)、表格(财务数据)、图表(对比分析)等多模态内容,满足金融研报的专业性表达需求;
  2. RAG+Agent协同:通过RAG实现精准数据检索,Agent实现动态推理与任务执行,解决"数据不足→补充抓取"的自适应问题;
  3. 异步任务调度:API接口异步返回结果,避免前端等待,提升用户交互体验;
  4. 向量库高效检索:Milvs向量库结合元数据检索,确保数据召回的时效性与相关性,支撑研报快速生成。

3.2 应用价值

  • 对金融机构:将研报生成周期从"数天"缩短至"分钟级",降低人工成本,同时通过标准化流程减少人为误差;
  • 对个人投资者:快速获取专业、全面的公司研报,为投资决策提供实时参考;
  • 对行业生态:可扩展至"行业研报""宏观经济报告"等场景,成为金融AI化的核心基础设施之一。

上一篇《开发金融分析Agent,让AI写研报,你敢用吗?

下一篇《AI赋能金融研报自动化生成:智能体系统架构与实现

开源代码库