QVeris
产品

为什么金融 Agent 没那么容易做出来:我们最近踩到的几个坑

2026年6月12日·2 分钟阅读·QVeris Team
为什么金融 Agent 没那么容易做出来:我们最近踩到的几个坑
为什么金融 Agent 没那么容易做出来:我们最近踩到的几个坑

QVeris · 产品理念

最近我们一直在做一个金融 Agent 产品,内部叫 QFB。

先说结论:它还没有真正做出来。

如果把"做出来"定义成用户打开后能稳定完成分析、取数、回测、对比、报告、保存、分享、发布,那现在还差得很远。

但这段时间的推进也不是没有价值。相反,它让我们更清楚地看到一件事

金融 Agent 难的不是让模型写一段分析,而是让它在真实数据、真实工具、真实用户预期下面,不乱说、不乱算、不乱承诺。

这篇文章不讲一个已经成功的产品故事。

它讲的是:为什么这个东西没那么容易做出来,以及我们最近到底在补哪些地基。

用户要的不是"AI 很会说",而是"数据真的可靠"

我们最近看了一组 QVeris 订阅调研,66 份有效样本里有几个信号很明显。

79% 的用户是个人投资者。

他们现在已经在用很多工具:AKShare、东方财富、iFinD、Tushare、万得、TradingView,还有一部分人有自建数据库。

也就是说,用户不是没有工具。

真正的问题是,这些工具很分散,数据接口、调用方式、覆盖范围、稳定性都不一样。用户想要的不是再多一个查询入口,而是一个能被 Agent 稳定调用的数据能力层。

调研里,用户最担心的是

  • 数据不够准

  • 价格太高

  • 数据不够全

  • 调用不稳定

  • 和现有工具相比优势不明显

还有一个很关键的信号:接近 60% 的用户已经尝试把 QVeris 接入自己的 Agent。

这说明,金融数据 API 的使用方式正在变化。

以前是人去查数据。

现在越来越多场景是 Agent 去找数据、选工具、调接口,再把结果组织成分析。

但这也带来一个新问题:Agent 一旦拿不到数据,很容易开始"猜"。

金融场景里,这件事很危险。

QFB 最大的问题,不是界面没做好,而是后端不能乱来

QFB 最近暴露出来的一个核心矛盾是

我们希望它像产品一样稳定,但它背后其实是一组还在打磨的 Agent 工作流。

最容易偷懒的做法是

Agent 没取到数据,后端直接调一次 QVeris 补上。

或者模型没拿到完整结果,就用经验写一段看似合理的分析。

这两种方式短期都能让 demo 好看一点。

但长期看,会直接破坏系统可信度。

所以我们后来把边界收紧

QVeris 的真实调用,应该发生在 child agent 工作流里。

也就是 Agent 自己完成

discover:找到可能可用的数据工具。

inspect:理解工具需要什么参数、返回什么结构。

call:真实调用 QVeris 拿结果。

后端不应该在 runner、coordinator 里偷偷直调 QVeris,更不应该在没证据的时候替 Agent 编一个结果。

后端真正该做的是

  • 编排任务

  • 读取 transcript

  • 审计 tool calls

  • 归并 facts

  • 标记 data gaps

  • 计算 confidence

  • 生成可复查的报告结构

这听起来像工程细节,但它其实决定了产品底线。

因为金融 Agent 必须能回答

这个结论是不是有真实工具调用支撑?

如果没有,就不能包装成高可信分析。

我们一度连"有数据"和"没数据"都分不清

QFB 早期有一个很典型的问题

QVeris 明明返回了真实数据,但系统显示可信度很低,甚至一堆红色缺口。

用户看到的第一感觉就是:不靠谱。

但深挖以后会发现,问题不一定是"没拿到数据",而是后端验证层没有正确识别数据。

比如

transcript 还没完全落盘,后端就开始读取。

tool result 的消息格式和验证代码预期不一致。

读取失败被误判成 Agent 没有调用工具。

于是系统把 facts 清空,把 confidence 打到很低。

这类问题非常要命。

因为它会把真实数据误判成无效数据,也会让用户低估系统能力。

后来我们修的不是"放宽可信度",而是修验证逻辑本身

要区分三件事

Agent 确实没调用工具。

Agent 调了工具但数据缺失。

验证层读取失败,暂时无法确认。

这三种情况不能混在一起。

尤其是第三种,不能简单清空事实。更合理的做法是保留低可信信息,并明确标记"无法验证"。

这也是金融 Agent 和普通聊天机器人的区别。

普通聊天可以说"我认为"。

金融 Agent 必须说清楚"我凭什么认为"。

回测也不是跑出一条收益曲线就完了

回测是另一个坑。

用户要的不只是"策略收益 20%"这种结果。

他会继续问

用的是哪段历史数据?

标的数据和基准数据是不是同一个区间?

频率是不是一致?

基准是谁?

如果基准没取到,策略结果还能不能看?

我们最近给 QFB 回测补基准对比时,也专门加了硬约束

基准数据不能由后端直调 QVeris。

不能新增一个专门 subagent。

不能写死 AAPL 对 SPY 这种具体映射。

正确做法是:后端只根据市场段推断默认基准,把 benchmarkSymbol 写入任务输入;然后复用已有 market_agent,让它多取一组基准 K 线。

如果取不到,就写 data_gap。

不能用标的数据冒充基准。

不能因为基准缺失就把核心回测判死。

更重要的是,回测结果要说明"用了什么数据"

  • 标的 symbol

  • 基准 symbol

  • K 线数量

  • 日期范围

  • 频率

  • 数据来源路径

否则用户看到的只是一条漂亮曲线,但没法判断它是不是可信。

这也是为什么 QFB 还不能说已经做好。

现在只是把一部分回测链路变得更可审计,还没到完整产品体验。

对比分析不能只散在自然语言里

"比较 AAPL 和 MSFT"这种需求,看起来很简单。

模型很容易写

苹果硬件收入占比更高,微软云业务更强,估值结构不同。

这段话可能没错,但产品化还不够。

真正的对比报告应该是同维度并列表

  • 现价

  • 涨跌幅

  • RSI / MACD

  • PE / PB

  • 新闻情绪

  • 关键风险

每一个格子都应该尽量带 evidence_refs。

某个标的某个维度缺数据,就留空,并写入 data_gaps。

不能用主标的数据补对比标的。

不能用新闻情绪替代估值数据。

不能让 Agent 自由文本里"看起来提到了"就算完成对比。

所以我们最近补 comparison section,本质不是为了多一个 UI 表格,而是为了让对比分析从"散文"变成"结构化报告"。

这件事也还没完全做完。

但方向是对的:金融 Agent 不能只输出一段流畅文字,它要把关键维度结构化,让用户能复查。

公众号发布链路反而更快进入了可用状态

和 QFB 相比,公众号发布链路更像一个已经能跑起来的生产工具。

群里最近反复在做这些事

把飞书文档转成公众号草稿。

处理飞书图片,下载后上传到微信素材库。

自动生成封面。

自动追加 QVeris AI 页脚和二维码。

修微信公众号编辑器里的首行缩进。

统一正文字号到 16px。

去掉图片边框。

让标题、段落、列表、引用左对齐。

这条链路的特点是目标很清楚:把一篇飞书文档稳定变成公众号草稿。

问题也更具体:缩进、字号、图片、封面、页脚、草稿箱。

所以它比 QFB 更容易闭环。

但它也提醒我们一个现实

一个 Agent 产品如果要进入真实工作流,最后一定要碰到"交付"。

不是模型回答完就结束。

而是文档能不能保存,文章能不能发布,结果能不能复查,格式能不能稳定。

公众号链路解决的是内容交付。

QFB 还在解决的是金融分析的可信地基。

两者难度不是一个量级。

为什么我不想把 QFB 写成"已经成功"

因为这会误导。

QFB 现在做了一些重要工作

  • 后端开始收紧 QVeris 调用边界

  • transcript / tool call 验证在加固

  • facts、gaps、confidence 开始分层

  • 回测开始补基准对比和数据摘要

  • 对比分析开始结构化

  • Chat 入口开始避免把金融命令丢给普通 LLM

  • 公众号发布链路逐渐稳定

但这些加起来,不等于"QFB 已经做出来了"。

它更准确的状态是

一个金融 Agent 产品的地基正在被补齐。

很多 demo 里可以糊过去的问题,在这里都必须正面解决。

比如

数据没取到怎么办?

工具调用失败怎么办?

验证层读不到 transcript 怎么办?

LLM 生成了漂亮但没证据的话怎么办?

用户要回测基准,但基准数据缺失怎么办?

用户要对比多个标的,但每个标的数据维度不齐怎么办?

这些问题解决之前,不能说产品已经完成。

我们现在更相信一种慢一点的路线

快的路线是:让模型直接写答案。

慢一点的路线是:让 Agent 先找数据源,再调用工具,再留下证据,再生成报告。

更慢一点的路线是:把回测、对比、缺口、可信度、发布链路都做成可复查的结构。

但金融场景里,慢一点是值得的。

用户不缺一段看起来聪明的分析。

用户缺的是一个能稳定接入真实数据、能承认数据缺口、能保留证据、能复查过程、能交付结果的系统。

QFB 还没做出来。

但最近这些坑至少说明了:如果一个金融 Agent 真要做出来,它不能只会聊天。

它必须学会取证。

#QVeris#Agent