JiuwenSwarm 协同智能体落地金融投研全流程:SwarmFlow 工作流编排与人机交互面板实测(A2UI v0.8 Web 通道适配)
在金融市场信息爆炸、行情瞬息万变的当下,传统投研模式的痛点日益凸显:海量多源数据分散杂乱、人工信息整合效率低下、市场风险信号滞后、投研报告产出周期长、岗位协同壁垒突出。研究员深陷数据搜集、整理的重复性工作,投资总监难以快速掌握全局市场动态,基金经理决策缺乏实时数据支撑,风控经理无法精准捕捉隐性风险。而基于openJiuwen开源框架的JiuwenSwarm蜂群多智能体架构,凭借协同工程理念与可控工作流编排能力,打破传统单智能体技术局限,通过多Agent分工协作、并行作业、交叉校验,实现金融数据智能抓取、风险自动识别、投研日报智能生成、多岗位协同的端到端实测演示(A2UI 能力边界见第四章兼容性矩阵,量化口径见第五章实测记录)。
一、导语:
长期以来,AI Agent 始终困在纯文本聊天的交互框架中:不管是方案对比、审批流转、表单填报还是多任务确认,用户都要在冗长文字里筛选信息、手动复述指令,人机协作存在巨大摩擦。如今 openJiuwen 旗下 JiuwenSwarm 蜂群多智能体平台已适配 Google 开源 A2UI 协议,在 Web 通道打通「自然语言输入→智能体动态生成界面→用户可视化操作→事件回传再推理」的交互闭环(能力边界与适配范围见第四章兼容性矩阵),让 AI 从单纯的对话助手,向能主动交付可操作工作台的协同伙伴演进。
核心术语约定(全文统一口径):

1.1 【思考】传统纯文本Agent vs A2UI生成式界面:
过去一年,大模型智能体 Agent 的底层能力实现跨越式进化,早已摆脱单纯文字问答的局限:具备自主工具调用能力,可联动各类外部接口、数据库与业务系统;擅长复杂任务分层拆解,面对多步骤需求能自主搭建执行链路;支持跨平台、跨系统协同作业,打通割裂业务流程;同时拥有完整的自主工作闭环,能够将模糊的复杂目标拆解为规划、落地执行、结果核验、偏差修正四步流程,实现自主迭代优化。
在很多时候,让 Agent 规划任务场景时,它不应该只返回一屏 Markdown,而应该给出一个可以确认、修改、继续执行的面板。

1.2 左侧:传统文本对话交互(旧形态):
-
1.输出形式:
- 仅纯文字段落对话,无结构化可视化组件,所有信息全部平铺在聊天气泡内。
-
2.交互缺陷:
-
用户提问只能靠文字输入,Agent回复也是大段自然语言,关键信息混杂在长文本里,需要人工阅读提炼;
-
无勾选、选择、表单控件,确认需求、筛选方案只能靠打字回复;
-
业务需求梳理模糊,没有分层结构化视图,复杂系统需求容易遗漏要点;
-
-
3.使用成本:
- 用户需要反复阅读长篇文字、手动提取关键条目,调整需求时只能重新发一段文字描述,沟通链路冗长,多轮对话信息易混乱。
-
4.适配局限:
- 面对投研系统这种多模块、多分项的复杂业务规划,纯文本无法直观区分层级,核对、修改、确认的操作全依赖人工文字输入。
1.3 右侧:A2UI智能生成交互面板(新形态,JiuwenSwarm能力):
-
1.输出形式:
- Agent主动生成结构化可视化UI面板,包含标题、分层列表、复选框可交互控件,是标准化渲染界面而非纯文本。
-
2.交互优势:
-
任务自动分层拆解:把"投研日报自动化系统"拆成5大核心模块,每个模块下细分具体业务功能,层级清晰一目了然;
-
原生交互控件内置:提供复选框,用户直接勾选确认/取消对应需求,无需手动打字回复序号或文字;
-
信息结构化归类:行情数据、清洗引擎、风险识别等业务模块分区展示,区分主次重点,不用在长文里查找内容;
-
-
3.链路价值:
- 这套UI是Agent输出标准化UI描述协议、前端安全渲染生成,用户勾选操作后,交互事件会回传给Agent,直接进入下一轮细化规划,省去大量文字沟通损耗;
-
4.业务落地适配:
- 针对系统规划、方案确认、参数收集这类复杂任务,A2UI界面天然适配,把抽象文字需求转化为可直接操作的可视化表单,明显降低用户操作与沟通成本。

- 针对系统规划、方案确认、参数收集这类复杂任务,A2UI界面天然适配,把抽象文字需求转化为可直接操作的可视化表单,明显降低用户操作与沟通成本。
图中JiuwenSwarm A2UI的落地实例:Agent没有返回一大段Markdown文字介绍投研系统方案,而是直接生成带勾选交互的结构化界面,让用户直观核对、调整需求,针对性缓解传统Agent纯文本交互"复制繁琐、文字沟通低效、信息杂乱"的痛点,直观体现Agent从"文本回复"走向"生成式界面"的进化。
二、规划模式下,A2UI 赋能金融投研 Agent------ 从文本对话到动态业务工作台:
聊天框足够通用,也足够自然。用户可以随便说,Agent 可以随便答。这让 AI 快速进入搜索、写作、数据整理、报表生成、风险筛查等投研业务场景。但聊天框也有边界。当回答只是金融知识、行业逻辑解释时,纯文本的呈现形式足够好用;可一旦任务进入落地执行、业务流转阶段,纯文本交互就会变得笨重低效。
数据源详情

注:共 6 类数据源文件。首轮数据源结构探索实际读取前 5 类(资金流向、大盘指数、风险预警、舆情、财务指标,见 2.1 运行记录);公告数据(announcement_data.xlsx)在后续风险分析阶段接入。

帮我生成一个skill,使用A2UI Checkbox让用户勾选风险关注维度
第一、梳理提供的excel文档(位置在C:\Users\Administrator\.jiuwenswarm\capital_flow_data),形成标准的可分析的数据结构
第二、将数据进行量化指标分析,负责指标计算、趋势分析等操作
第三、将分析结果进行风险识别,负责风险信号的动态阈值预警
第四、将分析结果生成投研日报,负责撰写日报正文、数据解读与风险提示
第五、将投研日报归档,并以邮件的形式发送给相关人员
2.1 SwarmFlow 多智能体协作工作流设计:
搭建投研日报自动生成系统,依托 SwarmFlow 编排实现多智能体协同,完整链路包含数据处理、量化分析、日报生成归档、风险指标校验、邮件推送。

JiuwenSwarm目前已经完成数据源结构探索,读取了5个2025‑2026时间段的Excel文件,文件涵盖资金流向、大盘指数、风险预警、舆情感知和财务指标,能够开展交叉关联分析。现阶段已经摸清SwarmFlow编排和多智能体协作的数据条件,正在推进SwarmFlow多智能体工作流的设计,后续还要依次落地 A2UI 交互能力的 Agent 主体开发、A2UI风险关注维度勾选以及投研日报生成归档工作,过程里已经先后执行9次工具调用,依靠各类工具逐步搭建整套投研日报生成系统,当前处于任务处理阶段,可以输入新指令打断进程。

JiuwenSwarm当前正搭建投研项目的数据处理与分析体系,已完成数据处理、主工作流编排、邮件发送相关核心模块开发,因系统未预装Python,计划依托可用的Node.js环境搭配xlsx模块读取Excel数据源,也可借助code工具执行Python代码辅助数据处理,模块搭建完成后会先行校验数据加载状态,再完整启动SwarmFlow多智能体工作流。
-
模块搭建:已完成数据处理、工作流编排、邮件推送核心脚本开发
-
环境适配:本地无 Python 环境,选用 Node.js 搭配 xlsx 模块读取 Excel 数据源完成量化分析
-
数据加载校验:全量数据解析完成,数据截止日期2026-06-29
现已完成数据加载与量化分析,最新统计数据日期为2026-06-29,当日大盘整体震荡分化,上证、创业板指收跌,深成指小幅收涨,行业资金整体呈现净流出状态,仅消费电子板块有小额资金流入,汽车制造板块流出规模突出,同时系统识别出大量风险预警条目,其中包含极高、高等级风险及四百余条待处置预警;平台右侧任务看板中,数据源探索、SwarmFlow多智能体工作流设计两项任务已办结,当前推进各Agent功能模块开发,后续还需完成A2UI风险关注度配置、投研日报生成归档两项待办事项。
-
1.大盘行情:上证收2306点跌幅2.48%,深成指4646点涨幅1.20%,创业板4407点跌幅1.98%,市场震荡分化。
-
2.资金流向:全行业合计净流出10.51亿,消费电子流入1.90亿,汽车制造流出8.64亿,板块资金冷热分化明显。
-
3.风险预警:极高风险66条、高风险225条,未处置预警合计408条,存量待处置风险体量较大,是后续投研分析重点关注项。
2.2 风险关注维度勾选(Web 端人机交互面板):
JiuwenSwarm推进投研日报多智能体项目,数据源探索、SwarmFlow多智能体工作流设计已完成,当前处于各Agent功能模块开发阶段,待办事项包含A2UI风险关注度维度勾选配置、投研日报生成归档。

对话区域先展示基础财务数据,2026年一季报净利润增速超30%的个股共100只,随后进入风控Agent人机交互节点,系统提供多维度风险筛选配置功能,支持多选风险关注维度,可选择全部维度生成完整企业风险画像,也可单独聚焦资金流向风险、舆情风险、指数波动风险三类细分维度,分别对应监控资金异动、负面舆情发酵、大盘指数大幅震荡三类市场风险信号,同时界面展示了当前会话上下文容量统计数据。
各风险维度说明:

本节点输入---处理---结论:
-
输入:风控 Agent 基于已加载的财务/资金/舆情/指数数据集,在人机交互节点输出结构化勾选面板(上述"全部维度 + 3 类细分"共 4 个选项);
-
处理:用户在面板上勾选关注维度(Web 前端渲染复选框,操作事件封装为结构化消息回传 Agent);
-
结论:系统按所选维度定向抓取指标数据、开展风险量化分析,为投研日报输出风险结论;本界面同时展示会话上下文容量统计。
口径说明:本节 Web 端勾选面板提供 4 个选项(全部 + 3 细分),产生于团队工作流的人机交互节点(本次实操期间 A2UI 注入开关为关闭态,开关负向门控日志见 4.2;注入式 A2UI 生成面板的端到端链路验证见 4.3 补测记录);3.4 节 TUI 端 human 节点的工作流 schema 定义了 6 类维度(市场资金、舆情情绪、估值水平、财务报表、大盘冷热、监管合规)------两者交互形态相近但通道与环境不同,并非同一面板,请勿混淆。
2.3 投研日报生成归档:
JiuwenSwarm 平台的整套投研日报多智能体项目已全部完成右侧所有任务项,全流程开发、风险维度配置、报告归档流程均落地闭环,页面同步展示了本轮量化风控输出的风险评估结果与完整项目文件目录。
本节点输入---处理---结论:
-
输入:前序各阶段产出的量化分析结果(截至 2026-06-29 的行情/资金/风险预警统计数据)与用户已勾选的风险维度;
-
处理:report_generator 模块按日报模板组装 Markdown 正文与风险评估,归档模块同步落盘 JSON 结构化数据;
-
结论:右侧任务清单全部勾选完成,产出
reports/投研日报_2026-06-29.md与对应 .archive.json,文件清单与脚本目录见下表。
全部脚本统一存放于scripts/目录,覆盖项目全链路能力:
-
数据接入模块 data_processor.py:原始Excel数据读取与清洗
-
量化分析模块 quantitative_analysis.py:行情、资金、财务指标量化计算
-
风控模块 risk_control.py:多维度风险打分、预警逻辑实现
-
报告生成模块 report_generator.py:Markdown日报自动组装
-
邮件发送模块 email_sender.py:报告推送分发能力
-
SwarmFlow编排 workflow_orchestrator.py:多智能体任务调度工作流
-
JS报告生成脚本 generate_report.js:配套前端/跨语言报告生成工具
右侧任务列表全部勾选完成,从数据源探索、多智能体工作流设计、各Agent功能开发、A2UI风险维度配置,到最终投研日报生成归档,整套投研自动化分析系统已完整交付,可稳定输出带风险评级的标准化日报并完成数据留存。
2.4 思考:
传统模式依靠 Agent 逐句提问,用户需要反复复制粘贴内容,交互链路冗长;A2UI 直接生成标准化表单,用户一次性填写提交,信息录入效率更高,对于复杂业务场景,A2UI 生成的交互面板明显提升用户操作效率与体验。另外,传统仅能输出 Markdown 静态表格,无法直接对方案进行选择操作;A2UI 以卡片、列表形式展示方案,支持直接点击选定目标方案,展示与操作一体化。
接下来,可以对比传统纯文本交互与 A2UI 可视化交互的差异,核心体现 A2UI 通过可视化组件简化交互流程、降低用户操作成本,解决纯文本交互低效、操作割裂的痛点:

三、面向多智能体团队的可控工作流编排 SwarmFlow:
JiuwenSwarm-tui是 openJiuwen 社区推出的多智能体(Multi-Agent)蜂群协作系统的终端交互界面工具,专为在命令行环境下管控、观测和调度多个 AI Agent 协同任务而设计 。
环境说明:本章为独立的一套实操环境------命令行 TUI(Windows,用户目录
C:\Users\admin),与第二章 Web 端实操(用户目录C:\Users\Administrator)分别部署、互不相干;两章各自记录真实的运行过程与报错。SwarmFlow 为框架级编排机制,并非 TUI 专属:第二章整章即 Web 端 SwarmFlow 实操(5.1 有对应复现路径),本章选用 TUI 仅为了完整展示命令行侧的编排管控形态,当前主流使用以 Web 模式为主;无需命令行环境的读者可直接走第二章与 5.1 的 Web 路径。
上面可以看到在规划模式下,我们输入提示词后,JiuwenSwarm 自动生成了投研日报多智能体项目,Swarm Skills 把一次成功的团队协作沉淀成可复用的"团队技能";SwarmSkill Creator 进一步让用户用一句自然语言就能生成多角色团队,那么,团队会协作了,但这套协作流程,能不能被稳定、可控、可复用地执行?
3.1 安装 JiuwenSwarm-tui:
以下以 TUI 为演示载体介绍安装与团队模式(Web 端等效操作见第二章)。JiuwenSwarm 框架的命令行版本(TUI = Text User Interface),无需图形界面即可启动和管理"蜂群"智能体团队,解决多 Agent 并发时的信息爆炸、状态黑盒、成果分散痛点,提供全局状态可视、指令降噪、结构化输出及人机协同管控。
C++
创建虚拟环境(推荐)
python -m venv jiuwenswarm-env
激活虚拟环境(看你自己的环境,我这里是Windows演示)
Windows:
jiuwenswarm-env\Scripts\activate
macOS/Linux:
source jiuwenswarm-env/bin/activate
安装 JiuwenSwarm
方式一:默认安装
pip install jiuwenswarm
方式二:使用国内镜像源(推荐)
清华源
pip install jiuwenswarm -i https://pypi.tuna.tsinghua.edu.cn/simple
阿里源
pip install jiuwenswarm -i https://mirrors.aliyun.com/pypi/simple/

C++
安装 jiuwenswarm-tui
pip install jiuwenswarm-tui

C++
初始化 JiuwenSwarm(首次启动)
jiuwenswarm-init
启动 JiuwenSwarm
jiuwenswarm-start
启动后,我们可以再开一个窗口,用命令行启动 JiuwenSwarm-tui:
另打开终端界面,启动 JiuwenSwarm-tui
jiuwenswarm-tui

3.2 切换到团队模式:
首先输入"/mode team"进行切换到团队模式,/mode team 是 JiuwenSwarm TUI / 聊天界面的模式切换指令,作用是从默认单 Agent 单兵模式切换到多智能体集群协作模式(Team 团队模式,也叫集群模式)。
-
Leader(团队负责人):接收你的原始需求,自动拆解多份子任务、分配给下属 Agent,统一汇总所有结果、校验完整性,最后整合一份完整交付物给你;中途可动态增删成员、处理任务失败重试。
-
多个 Teammate(专项成员):每个成员拥有独立专业角色(检索、写稿、测试、数据分析、运维等),各自并行执行细分任务,拥有独立上下文与工具调用权限(搜索、文件读写、API 调用)。
-
共享团队工作区:所有 Agent 共用 .team/artifacts 共享目录,文件、报表、中间产物互通,避免信息割裂。

多智能体协作集群已经正式启动,输入的指令是:
读取本地路径下的 skill.txt 文件,依据文件里定义的规则搭建一套专属业务工作流。

接下来团队会进入内容解析环节,逐层读懂这份文档里的全部约束逻辑,从日志能看出来这份 skill.txt 存放的是投研日报生成相关的标准化流程定义,智能体正在拆解文件里的分工、执行步骤、输出规范等配置信息,整个任务全程处于运行状态。

切换团队模式后,团队 Leader 先调度文件读取智能体解析 skill.txt 里的工作流定义,识别出任务需要读取本地 Excel 数据源,于是自动发起前置环境准备流程,优先执行 PowerShell 命令安装pandas与openpyxl两个 Python 数据处理依赖库,这一步连续两次执行标记为红色Failed run,代表依赖安装流程运行报错,系统未能成功装好处理 Excel 所需的程序包。
依赖安装失败后,团队没有直接终止任务,而是切换了 Python 单行脚本的执行方案重试,其中一次脚本执行显示绿色Ran command,说明至少有一段 Python 探测代码成功运行,得以读取本地capital_flow_data.xlsx资金流数据表结构,完成文件字段、数据格式的扫描探查。
-
红色 Failed 标记代表依赖安装环节存在故障,大概率是本机 Python 环境未配置环境变量、pip 镜像源访问超时或权限不足,缺少 pandas 和 openpyxl 会导致后续读写 Excel、数据清洗步骤随时中断。
-
处理方案:手动在终端执行pip install pandas openpyxl确认环境可用,再重新下发创建工作流指令;也可以在 skill.txt 工作流配置中提前预置依赖自检步骤,让团队模式自动兼容 Windows 终端的包安装逻辑,避免重复失败重试。
3.3 创建 SwarmFlow 工作流:
整体任务链路已经走完数据探查阶段,正式进入 SwarmFlow 工作流脚本生成环节,在确认全部 Excel 数据结构清晰完整后,Leader 调度负责流程开发的子智能体,开始基于 skill.txt 里的投研业务规则,编写可直接运行的完整 SwarmFlow 脚本文件,后续会产出标准化自动化工作流,用来批量处理这份资金流数据表、生成投研日报。

Agent 自主规划链路:读规则→扫目录→解析 Excel 结构,自动尝试安装 Excel 处理依赖包(两次失败),轻量 Python 脚本探测验证环境,确认可读取 Excel 表头,判定「数据结构已清晰」,进入下一环节:编写 SwarmFlow 完整脚本文件。

生成完成的投研日报专用 SwarmFlow 工作流脚本,系统已经完成文件写入操作,标记edit applied代表脚本已经落地保存到本地路径,绿色SwarmFlow标识说明工作流文件生成环节无报错。

这段脚本完整覆盖了风险信号提取、归档文件管理、A2UI 数据输出、邮件推送、风险维度筛选全业务逻辑,末尾打印日志标记工作流构建完成并返回汇总结果,完全匹配最开始 skill.txt 里定义的投研日报业务规则,同时兼容你本地的 Excel 资金流数据源结构。
该脚本是标准化可复用技能,内置数据处理、风险研判、归档推送全链路逻辑,生成后可通过/skills指令持久化保存,后续无需重新扫描 Excel、生成代码。

工作流脚本运行触发了 Python 语法报错,系统自动定位并修复了路径转义问题,同时正在全局扫描规避同类隐患。
-
Windows 路径C:\Users\admin里的\U在 Python 字符串中会被识别为 Unicode 大写转义起始符,直接写在脚本文档字符串 docstring 里会造成代码解析失败,这是 Windows 本地路径写入 Python 注释时非常典型的语法坑。
-
原始脚本注释里完整写了本地绝对路径C:\Users\admin\.jiuwenswarm-tui\skill.txt,反斜杠组合触发解析异常,因此团队智能体启动文件编辑工具对investment_daily_workflow.py进行修改。
建议:后续生成工作流脚本时,可在 skill.txt 规则里增加路径输出规范,统一使用相对路径或原始字符串r""包裹 Windows 路径,从源头避免反斜杠转义冲突,减少自动修复的额外耗时。

3.4 关键节点插入 human 人机节点:
运行到阶段一风险维度选择交互节点,流程主动暂停等待你输入选择结果,界面列出 6 类投研风险分析维度,支持多选,输入格式参照红框示例,直接用顿号分隔维度名称发送即可,六个维度分别对应市场资金、舆情情绪、估值水平、财务报表、大盘冷热、监管合规六大投研分析模块,选中后工作流会针对性读取对应 Excel 数据源,定向抓取对应风险信号生成日报。
可选回复模板(按需选用):
-
全维度完整分析(覆盖全部风险):资金流向异常,舆情风险,估值偏离,财务异常,市场情绪过热/过冷,合规风险
-
短期交易重点维度:资金流向异常,舆情风险,市场情绪过热/过冷
-
基本面价值分析维度:估值偏离,财务异常,合规风险

输入对应文本发送后,工作流会自动进入下一阶段:数据加载、量化指标计算、风险信号汇总,最终输出完整投研日报并执行归档。
本节点输入---处理---结论:
-
输入:用户在 human 节点暂停处按"维度名称、维度名称"的格式输入文本(如「资金流向异常」);
-
处理:工作流接收选择,定向解析资金相关数据表,执行量化指标计算与异常信号标记,后续推进日报汇总、归档、邮件推送;
-
结论:单维度分析速度更快、聚焦资金层面,但日报不覆盖舆情/估值/财务/合规维度(信息面单一)------下方执行记录中,该节点的 schema 严格校验曾与自由文本输入冲突引发一次报错与自动修复,过程如实记录于后。

已经输入了「资金流向异常」作为选中的风险维度,投研日报工作流接收选择后,正式进入对应模块的数据处理阶段,全程依旧处于 team 团队模式,选择后的自动执行环节,系统会定向解析资金相关数据表,完成量化指标计算、异常信号标记,后续会逐步推进到日报汇总、文件归档、邮件推送等后续流程。
-
优势:流程执行速度更快,数据计算量小,报告内容聚焦资金交易层面;
-
局限:不会覆盖舆情、估值、财务、合规、市场情绪类分析,日报信息维度单一。

当前团队模式已接收你选择的「资金流向异常」维度,完整展示了这条投研工作流的 6 个标准化执行阶段,阶段一已标记完成,系统自动进入第二阶段数据接入清洗,这是 team 团队模式的典型表现,多子 Agent 分工并行读取多份 Excel 文件,相比单 Agent 串行读取大幅缩短数据加载耗时,同时全流程可视化展示业务节点,每一步进度都会主动推送日志,方便你实时掌握投研报告的生成进度。

脚本预设了固定结构化校验 schema,你输入纯文本「资金流向异常」,和预定义数据格式不匹配,交互接口返回None空值;后续代码调用.get()方法读取返回数据,触发NoneType object has no attribute 'get'运行异常,流程中断。
后续可以在skill.txt规则文件里提前定义human()交互兼容策略,默认开启纯文本解析,从源头避免自由输入和结构化 schema 冲突,减少运行时自动修复的耗时。

上一轮交互schema不匹配报错已完成自动修复,工作流完成重启,重新回到风险维度选择交互节点,系统读取到你上一轮选择的「资金流向异常」,提示再次确认选择,修复后的交互逻辑做了兼容优化,不再强制严格结构化数据,支持纯中文文本输入,单维度直接填写名称、多维度用中文逗号分隔即可,给出了完整6类风险分析维度清单与输入示例。

3.5 投研日报生成结果:
JiuwenSwarm 是依托openJiuwen 开源底座打造的蜂群式多智能体协同架构,已适配 Google A2UI 生成式界面协议(当前适配版本 0.8,能力范围见第四章),突破传统单智能体纯文本对话瓶颈,以SwarmFlow 可控工作流编排 + 多角色 Agent 并行协作 + A2UI 可视化人机交互为核心能力,面向金融投研、业务流程自动化场景落地全链路智能化作业体系。
以机构投研日报自动化业务为落地标杆,串联多源 Excel 数据源(资金流向、大盘指数、上市公司公告、舆情、财务报表、风险预警)完成全链路智能化作业:

数据层:多 Agent 并行读取清洗分散的多格式业务数据,完成行情、资金、财务、舆情量化指标批量计算,统一规整结构化数据集;

风控交互层:通过可视化勾选面板(human 人机交互节点),支持投研人员自主选择资金、舆情、财务、指数、估值、合规六大风险观测维度,定向聚焦风控分析方向;

分析与产出层:多智能体交叉验证风险信号,分级输出高 / 中 / 低等级风险预警清单、个股财务异动明细、行业资金轮动特征、大盘指数估值解读;

成果归档分发层:自动生成可视化图文版投研日报(邮件版式)、Markdown 原始报告、JSON 结构化归档文件,完成本地留存 + 定向邮件推送,完整复刻传统投研团队「数据搜集→量化分析→风险研判→报告撰写→风控复盘→成果分发」全流程工作。本次实测中该流程由集群自动执行完毕并完成归档(单次运行用时无原始记录,见 5.3 口径);对"替代多少人工工时"的量化对比,本文不做无测试口径的宣称。
-
团队协同提效:用多智能体分工打破投研岗、风控岗、基金经理、研究员岗位信息壁垒,重复性数据整理工作由 Agent 承接,人力聚焦核心投资决策;
-
人机交互改进:A2UI 交互解决传统 AI 文字沟通冗长、需求反复确认、复杂配置易出错问题,业务人员零代码配置任务参数;
-
流程标准化可复用:SwarmFlow 固化业务流程,投研规则、风控阈值、报告格式统一标准化,流程可复用、可迭代、可运维;
-
风险前置预警:多源数据交叉校验捕捉隐性长尾风险,摆脱人工复盘滞后性,实现市场资金、负面舆情、财报暴雷等风险实时标记。
四、细说A2UI技术要点:
A2UI 是 JiuwenSwarm 的可选生成式界面能力,让 Agent 在适合的场景输出标准化的结构化 UI 消息,由 Web 前端渲染为可交互组件,当前仅 Web Channel 原生支持。
A2UI 是 JiuwenSwarm 中一套可选的界面自动生成能力,仅原生支持网页端通道。该能力允许智能体返回标准化界面消息,用于表单、确认弹窗、结构化详情、对比视图等交互流程,再由网页前端将这些消息渲染为可交互组件。
-
适用场景:表单收集、确认对话框、结构化详情展示、多结果比较、媒体卡片等
-
不适用场景:寒暄问候、简短解释、简单事实回答、敏感内容
4.1 核心架构与模块:
-
后端 A2UI 相关代码目录:jiuwenswarm/server/runtime/a2ui/
-
前端渲染代码目录:jiuwenswarm/channels/web/frontend/src/features/a2ui => 仅在网页前端渲染助手回复消息、或处理交互事件时,才会加载执行 A2UI 相关代码。

端到端完整执行流程:
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────┐
│ 用户输入 │ ───▶ │ Gateway │ ───▶ │ ResponsePrompt │ ───▶ │ LLM │
└─────────────┘ │ MessageHandler│ │ Rail │ └──────────┘
└──────────────┘ └─────────────────┘ │
▲ │
│ ▼
┌──────────────┐ ┌─────────────────┐
│ Web 前端 │ ◀─────────────────────────│ A2UI Protocol │
│ A2UI Renderer│ 解析/渲染/交互 │ Parse/Validate │
└──────────────┘ └─────────────────┘
-
网页端用户发送自然语言消息
-
若请求来自网页通道且 A2UI 功能已开启,智能体提示词拦截器会注入 A2UI 专属运行提示词
-
大模型返回普通文本内容,同时附带一段 <a2ui-json>...</a2ui-json>结构化代码块,用于适配各类界面交互场景
-
智能体服务后置校验器校验完整回复内容,格式异常时调用修复提示词自动修正
-
网页前端解析消息内的 A2UI 代码块,渲染出可视化交互组件
-
用户点击按钮、提交表单等操作时,前端将本次 A2UI 交互事件封装为结构化对话内容
-
后端将交互事件转换成模型可读提示词(仅网页通道生效),继续推进对话

4.2 交互配置(三种开关方式与实测配置样例):
-
网页后台配置面板:A2UI 总开关
-
工作区本地配置文件:config.yaml 内 a2ui 配置段
-
环境变量:JIUWENSWARM_A2UI_ENABLED=false 或 true
本机实测实例的 config.yaml 中 a2ui 配置段(真实字段,含正文此前未覆盖的三个参数):
YAML
a2ui:
enabled: false # 总开关:false 时 ResponsePromptRail 不注入 A2UI 提示词
protocol_version: "0.8" # 适配的 A2UI 协议版本
stream_validation_enabled: true # 流式输出过程中的结构化校验开关
non_web_fallback_enabled: false # 非网页通道降级策略(false=非 Web 通道直接移除 A2UI 段)
开关门控的真实日志证据(负向验证):在 enabled=false 的实例上发送网页消息,日志中每轮请求均有 ResponsePromptRail 的门控决策记录------通道判定通过(channel=web)但开关判定未通过(enabled=False),因此不注入(injected=False):
C++
2026-08-19 17:14:40 INFO ...rails.response_prompt_rail:
A2UI prompt decision: channel=web enabled=False injected=False
2026-08-19 17:14:50 INFO ...rails.response_prompt_rail:
A2UI prompt decision: channel=web enabled=False injected=False
该负向日志证明"仅 Web 通道 + 显式开启"的门控逻辑真实生效(本机 agent_server.log 中同类决策记录共 885 条,时间跨 2026-08-16 至 08-19);开启后的正向链路日志见 4.3。
4.3 事件链路日志与验证方法:
A2UI 全链路在日志中有固定的可检索锚点,读者可在自己的实例上按关键字验证每一环:

实测说明:①环节的负向记录(enabled=False 不注入)已在 4.2 给出真实日志;②~⑤环节的正向日志于 2026-08-20 在同一安装版实例上专项补测取得(a2ui.enabled 置 true,单机 agent 模式,模型 glm-4.5-flash)。补测同时澄清一处口径:第二章实操期间 A2UI 开关处于关闭态(4.2 的负向日志即产生于该时段),当章勾选面板走的是团队工作流人机交互通道;注入式 A2UI 链路的端到端验证以本节补测记录为准。复现方法:按第五章步骤开启开关后发送"生成勾选面板"类请求,即可在 agent_server.log 依次捕获①~③,浏览器可验证④⑤。
正向链路实测记录(2026-08-20 补测,原文摘录):
五环节日志锚点(agent_server.log 可检索原文,关键字见"日志锚点"列):

①~③、⑤ 的日志原文(供逐字检索):
YAML
2026-08-19 23:47:16.258 INFO ...rails.response_prompt_rail:
A2UI prompt decision: channel=web enabled=True injected=True browser_workflows=False skip_a2ui=False
2026-08-20 00:07:33.795 A2UI stream suppression activated: event_type=chat.delta
2026-08-20 00:07:43.706 A2UI response finalization started: has_tag=True
2026-08-20 00:07:43.715 A2UI response finalization fast-path schema-valid: duration_ms=8.1
2026-08-20 01:27:30.210 A2UI response finalization fast-path rejected: error=A2UI block 0: Validation failed: 'value' is a required property
2026-08-20 01:27:30.223 A2UI response finalization status: status=repaired duration_ms=17.9
2026-08-20 01:32:13.558 A2UI client event received: action=submit_risk_selection surfaceId=msg_assistant-1787160643744:risk-selection-panel sourceComponentId=panel-submit-btn context_keys=[selected, surface]
端到端复现记录(输入---事件---输出,round9 稳态版):

二次复现(2026-08-26):同一实例、同一提示词间隔 6 天重跑,①~⑤ 锚点再次依次命中(23:44:46 注入 → 23:45:06 fast-path schema-valid 8.1ms → 23:51:07 事件回流),fast-path 耗时与首测(8.1ms)一致;且⑤事件回流后 0.15 秒即触发下一轮
injected=True注入(23:51:08.036),为「事件回传→继续推理」闭环衔接的日志实证。
失败阶梯(round5~8 → 9,逐轮只改一处,输入文件逐字节留档):

本机证据留档(Desktop\360d\a2ui_evidence\,共 9 文件):positive_anchors.md(①~⑤ 锚点与空白根因分析)、round5~9_exact_payload.json(五版输入原文,大小见上表)、assistant_a2ui_output.txt(② 环节模型输出全文)、install/leader 两份负向门控日志(885 条 enabled=False 决策记录)。证据为本机留档,读者按第五章步骤可在自有实例复现①~⑤。
⑤ 环节回流的完整结构化 payload(会话 history.jsonl 用户消息侧原文,勾选"舆情风险 + 指数波动风险"后点击提交按钮产生):
JSON
{"type": "a2ui.client_event", "protocolVersion": "0.8",
"event": {"userAction": {
"name": "submit_risk_selection",
"sourceComponentId": "panel-submit-btn",
"surfaceId": "msg_assistant-1787160643744:risk-selection-panel",
"timestamp": "2026-08-19T17:32:13.456Z",
"context": {"surface": "risk-selection-panel",
"selected": ["public_opinion_risk", "index_volatility_risk"]}}}}
说明:context.selected 即 MultipleChoice 勾选值经数据模型路径(/selected_risks)解析后的回传结果------交互组件的 selections 以 path 绑定数据模型后,用户勾选写入模型、提交动作经 Button.action.context 携带回传,后端收到后转换为模型提示词续答(五条协议硬性规则见 4.4 合规性清单)。



4.4 兼容性矩阵:
通道兼容性(A2UI 当前仅 Web 通道原生支持):

注:non_web_fallback_enabled=true 时的降级行为未实测,本文不做描述。
模型输出格式兼容性(解析器支持的三种输入形态):

场景适用性矩阵(定性判断,非实测统计):

协议合规性实测清单(A2UI v0.8,2026-08-20 补测中由真实校验报错逐一反推得出的五条硬性规则):
-
前端必须收到 beginRendering.root,否则 rebuildComponentTree 将 componentTree 置 null,页面静默空白且零 JS 报错(4.3 失败阶梯 round5 现象);
-
MultipleChoice.selections 为必填,缺失时勾选项不可用(round5/6 现象);
-
所有组件必须从 root 可达------需 Column 容器作根并以 children.explicitList 引用子组件 id,否则报 "Component X is not reachable from root"(round6 修复项);
-
selections 以 literalArray 给值时只读,须 path 绑定 dataModel 才可交互,勾选写入 /selected_risks(round7 修复项);
-
Button.action.context 条目格式为 {key, value:{literalString|path}},value.path 可把勾选结果绑进提交动作(round8→round9 的唯一差异,即 ⑤ 回流 payload 中 context.selected 的来源)。
实测补充:弱模型(本文 glm-4.5-flash)难以稳定自产合规 payload,补测各轮分别踩中不同规则;最终以"提示词给出完整合规 JSON 原文照抄"的稳态方案通过全链路(处置详见 5.1 Web 端踩坑表)。另注:修复器在无可用模型实例时会跳过模型修复走降级路径,此时前端显示"界面内容暂时无法显示,请稍后重试或重新生成结果",需按上表修正 payload 后重新生成。
4.5 ResponsePromptRail - Prompt 注入决策者:
把一段混杂文本拆分成标准化分段结构体,区分「纯文本片段」和「A2UI 界面渲染指令片段」,交给后续渲染校验、前端下发逻辑使用,A2UI 结构化 JSON 指令(控制前端渲染表单、按钮、弹窗等交互组件,格式分 3 种:独立 JSON 数组、JSONL 多行 JSON、<a2ui-json>包裹标签块),A2UI 后端核心解析工具,是整个 A2UI 链路入口解析函数,所有模型输出内容都会经过它拆分普通文本、界面渲染指令。

YAML
_sync_a2ui_prompt_section(channel, skip_a2ui):
Q1: skip_a2ui == True*?*
→ Yes: remove_section(A2UI)
Q2: is_a2ui_channel(channel)*?* # 仅 "web" 返回 True
→ No: remove_section(A2UI)
Q3: get_current_a2ui_config().enabled == True*?*
→ No: remove_section(A2UI)
→ Yes: add_section(A2UI Prompt) # 注入双语 Prompt
解析一段包含 A2UI 结构化界面指令的智能体返回文本,多格式兼容:同时支持裸 JSON、JSONL、标签包裹混合文本三种模型输出格式,适配不同大模型输出习惯,统一封装为A2UIResponsePart结构体,上层业务无需关心底层 JSON 格式差异。
五、复现路径:
5.1 Web 端复现(第二章流程):
-
部署 JiuwenSwarm 并启动 Web UI(安装步骤见 3.1 或本系列前文);
-
开启 A2UI:按 4.2 三种方式任一(网页后台总开关 / config.yaml 的 a2ui.enabled 置 true / 环境变量 JIUWENSWARM_A2UI_ENABLED=true);
-
数据准备:按第二章"数据源详情"表准备 6 类 xlsx 文件(字段结构见表格),放置于工作数据目录(本文实例为数据目录下 capital_flow_data 文件夹);
-
新会话上传/放置数据后,发送第二章的 skill 生成提示词;
-
等待 Agent 生成带勾选框的 A2UI 面板,勾选风险维度并提交(事件自动回流);
-
等待日报生成归档,预期产出:
reports/投研日报_YYYY-MM-DD.md+ 同名 .archive.json,以及 scripts/ 目录 7 个模块(data_processor / quantitative_analysis / risk_control / report_generator / email_sender / workflow_orchestrator / generate_report.js); -
日志验证:按 4.3 的锚点逐环节检索。
Web 端补测踩坑记录(2026-08-20,单机 agent 模式,glm-4.5-flash):

5.2 TUI 端复现(第三章流程):
-
pip install jiuwenswarm→pip install jiuwenswarm-tui→jiuwenswarm-init→jiuwenswarm-start→ 另开终端jiuwenswarm-tui; -
输入
/mode team切换团队模式; -
发送"读取本地 skill.txt,依据文件里定义的规则搭建专属业务工作流"指令(skill.txt 内容即第二章的投研日报业务规则);
-
在 human 节点暂停处按"维度名称、维度名称"格式输入选择;
-
等待日报生成与归档推送。
本文实测踩过的三个坑(复现时可对照):

5.3 实测记录表(发布前回填):

口径声明:本文量化数字仅一类来源------运行过程记录值(行情点位、涨跌幅、预警条数、日志锚点等,来自实测运行输出);凡原始记录缺失的项(Web/TUI 全流程用时、human 节点耗时,见上表)一律标注"无原始记录"并做不宣称处理,不以估算补数。凡绝对化宣传语与无测试口径数值类表述均已删除或改为可验证描述(见第四章兼容性矩阵与 4.2 门控日志)。
六、总结:
本文围绕金融投研行业传统作业痛点,完整介绍基于openJiuwen开源框架的JiuwenSwarm蜂群多智能体架构,核心亮点为在 Web 通道适配 A2UI 生成式界面协议(适配范围与边界见第四章兼容性矩阵),针对传统纯文本交互低效问题给出可视化交互方案,并结合完整业务落地流程演示产品能力,整体内容可分为行业痛点、核心实践、金融落地场景实操、业务产出四大板块:
- 1.传统机构投研业务短板:
市场数据多源分散、人工整理耗时,风险识别滞后,投研报告产出慢,研究员、投资总监、基金经理、风控岗位存在协同壁垒,大量人力消耗在数据搬运,缺少实时数据与风险支撑。
- 2.纯文本对话式AI Agent交互缺陷:
AI仅输出平铺文字/Markdown,无可视化交互控件;用户修改需求、确认任务、筛选方案只能反复文字沟通;复杂多模块投研规划层级混乱、信息易遗漏;不存在界面操作回传闭环,多轮沟通损耗极高,难以承接数据采集、审批、参数配置等精细化落地工作。
核心实践:A2UI 生成式界面打通人机协作闭环(v0.8,仅 Web 通道)
JiuwenSwarm已适配A2UI开源协议(当前版本 0.8,仅 Web 通道原生支持),突破AI只能文字问答的局限,构建自然语言输入→动态生成可视化操作面板→用户点选交互→事件回传AI持续推理的交互闭环,和传统文本对话形成明显区别:
-
输出不再是纯聊天文字,而是带分层标题、复选框、操作按钮的结构化业务面板;
-
用户依靠勾选、点击完成需求确认、方案调整,无需长篇文字反馈;
-
界面由AI根据实时投研上下文动态生成,非产品预制固定页面,按需产出任务表单、进度看板、方案对比卡片、审批面板;
-
用户操作事件回传给多智能体集群,自动接续下一阶段任务,消除反复沟通成本,天然适配数据采集、投研方案对比、内审审批、参数配置等复杂金融业务。
整套流程自动汇总完整市场投研数据,形成标准化可视化日报内容:覆盖各大盘指数行情、多行业券商评级、重点个股涨跌成交、两融与市场热度情绪,同时汇总高等级监管政策风险提示,一次性输出结构化、可直接用于机构投研参考的完整市场分析材料,将数据搜集、整理、分析环节交由集群自动执行(单次运行用时无原始记录,见 5.3 口径)。
业务层面:依托多Agent蜂群分工协作,承接金融投研数据抓取、风险识别、报告生成、岗位协同各环节;单次运行用时与人工工时对比均无原始记录,本文不做无测试口径的宣称(见 5.3)。
交互层面:依靠A2UI生成式界面解决纯文本AI沟通摩擦,将抽象文字需求转化可视化操作工作台,降低投研人员使用门槛。