推广 热搜: 采购方式  滤芯  带式称重给煤机  甲带  气动隔膜泵  减速机型号  无级变速机  链式给煤机  履带  减速机 

想省掉那些读财报的苦差事?这款 2.3 万星的 AI 代理帮你全自动出研报

   日期:2026-05-06 10:48:24     来源:网络整理    作者:本站编辑    评论:0    
想省掉那些读财报的苦差事?这款 2.3 万星的 AI 代理帮你全自动出研报

自主研报 · 智能路由 · 增量上下文 · 实时市场数据 —— virattt/dexter 用任务规划与自我验证机制,构建起面向专业金融研究的全自主 AI 代理。

散户和投行都需要填补的鸿沟

传统投研路径是「人读财报 -> 记笔记 -> 计算指标 -> 写摘要」。 对散户而言,这一链条太长——读一份 10-K 平均花 3 小时,跨公司对比翻倍。 对买方机构分析师而言,Excel 模型虽强大,但检索 SEC 归档、 拉历史财务数据、算趋势仍然是碎片化的手工劳动。ChatGPT 等通用聊天模型 能回答"苹果的市盈率",但无法自主规划一整套研究方案:先查收入趋势、 再算利润率、交叉验证同行数据、最后输出结构化的投研结论。

Dexter 瞄准的正是这个"信息获取易、深度分析难"的空隙: 将投研工作流从人肉拼接数据,升级为 AI 代理全自主调度。 它还引入了评估套件(Eval Suite),通过 LLM-as-Judge 自动评分研报的准确性,让每一次调用都变成一次可量化的改进。

五分钟跑通一个研报任务

Dexter 的上手流程非常简洁,三步就能完成首次调用。

第一步:环境准备

依赖 Bun 运行时(v1.0+),克隆仓库后执行 bun install。 需要准备以下 API Key(写入 .env):

OPENAI_API_KEY(必选,默认模型 gpt-5.4)

FINANCIAL_DATASETS_API_KEY(必选,财务数据源)

EXASEARCH_API_KEY(可选,网页搜索增强)

ANTHROPIC_API_KEYGOOGLE_API_KEY(可选,切换推理提供商)

第二步:启动交互模式

bun start

进入后直接输入自然语言查询,例如:

"分析苹果最近五年的收入趋势和利润率变化,并对比微软"

第三步:观察自主作业

Dexter 收到查询后会依次执行:

1. 将"分析苹果收入趋势"拆解为子目标:获取损益表 -> 计算 CAGR ->   提取利润率 -> 获取微软对应数据 -> 交叉对比

2. 实时显示正在调用的工具名(get_financials、get_market_data 等)

3. 每步工具结果进入"草稿本"(scratchpad),LLM 据此进行自我验证

4. 循环迭代直至得出完整结论,输出结构化文本

典型场景示例

场景 输入示例 输出
单公司深度 "给我 NVDA 最近四个季度的自由现金流和毛利率" 带来源链接的表格
行业扫描 "筛选 P/E<15 且收入增长>20% 的半导体公司" 匹配的 5-10 只股票列表
跟踪研究 "CMG 上季度财报是否 beat 预期?管理层说了什么?" EPS beat/meet + MD&A 摘要
组合监控 "我持有的 AAPL、MSFT、GOOG 谁最近在回购?" 各公司回购数据对比

一个常见误区是将单个指标拆成多个提问。Dexter 的 get_financials 是智能路由, 一次传入完整自然语言问句就能自动调度多维度数据查询,不需要逐条问"帮我查收入" 再问"帮我查利润"。如果是需要研报质量的评估,还可以通过 bun run src/evals/run.ts --sample 10 来对指定数据子集跑一次准确度评分。

三层结构:代理循环、上下文管理与工具路由

Dexter 的核心引擎不是简单 LLM->Tool,而是三层的自主循环。

代理循环层(Agent Loop)

src/agent/agent.ts 中的 Agent 类维护一个不断增长的消息数组。 每一轮迭代:接收 LLM 输出 -> 提取工具调用 -> 并发执行 -> 将 ToolMessage 追加到 消息数组 -> 若仍有未完成目标则进入下一轮。最多迭代 10 轮,防止无限循环。

每个工具调用会引发一次流式输出(streamLlmWithMessages),用户能实时看到 LLM 的推理过程。当一轮同时触发多个工具时,Dexter 会利用 concurrencySafe 标记 并行执行只读型工具(如 get_financialsweb_search),大幅缩短 等待时间。

上下文压缩机制

长时间运行后消息数组会膨胀。Dexter 配了三层防御:

• Microcompact:每轮执行前检查只读型 ToolMessage 的数量。  超过 8 条时,把最旧的那批内容替换为[Old tool result content cleared],  保留最近的 4 条完整体。也按 8 万 token 阈值进行触发。  这层几乎零延迟——只做数组替换,不需要 LLM 调用。

• Full Compaction:当上下文预估超阈值时,用一个快速 LLM 将所有工具结果  压缩成结构化的 9 段摘要(原始查询、关键数据、分析进度、待办事项等),  替代原有的消息数组。代码在 src/agent/compact.ts。  压缩完后写入 compactionModel,对用户透明。

• Memory Flush:将关键信息写入持久化存储 memory/ 目录,  通过 embedding 构建向量索引,后续可检索。实现基于 MemoryManager 实例体系。

这三层相互配合,使得 Dexter 能处理复杂、长期的金融研究任务而不被 token 容量限制打断。

工具路由:面向金融领域的智能体总线

Dexter 不暴露粗粒度工具。它设计了三个元工具(meta-tool),每个内部 嵌套 LLM 路由层:

• get_financials:收到自然语言查询后,用一个独立 LLM 调用选择合适的财经  数据子工具(收入报表、资产负债表、现金流、关键比率、分析师预期等),  并行执行后合并结果返回。

• get_market_data:处理股价、加密货币行情、市场新闻、知情交易等  高频变动数据。

• read_filings:读取 SEC 归档(10-K/10-Q/8-K),先规划查询  (FilingPlanSchema),再按类型分派给相应的归档读取子工具。

元工具的设计让自然语言与结构化 API 之间不需要用户手动翻译。 输入"AAPL 最新财季的毛利率和 ROE 相比去年如何",路由层自动解析出需要的 数据集,并行拉取后拼合响应。这是 Dexter 相比通用聊天机器人在投研场景里 最大的差异化能力。

Debug 与可审计性

每次查询都会在 .dexter/scratchpad/ 目录生成一个 JSONL 文件, 完整记录工具调用的参数、原始结果和 LLM 的推理摘要。 这为验证 AI 研报的数据源提供了完整审计链,也方便对照分析。

从实验到日常:三组快速落地场景

场景一:个人投资者的周报自动化

通过 cron 调度(Dexter 内置 cronTool),配置每周一自动分析持仓公司 的当周财务报表更新和知情交易动态。输出可以直接作为个人投决参考的摘要。 成本可控——依赖 Financial Datasets API 的调用计费,而 LLM 推理使用 gpt-5.4 或更便宜的快速模型。

场景二:量化策略的投研前处理

Dexter 无法直接下单,但能大幅加速投研阶段。例如:用 stock_screener 筛选条件然后让 Dexter 自动读取每家公司的财报关键段落, 输出结构化的定性判断摘要。这部分数据可直接喂给量化模型做多因子打分。

场景三:分布式团队的知识沉淀

WhatsApp 网关(src/gateway/channels/whatsapp/)将 Dexter 接入群聊。 分析师在群里发送问题,Dexter 执行研报并回复。所有会话和知识通过 记忆系统积累。SOUL.md 定义代理的长期投资性格,RULES.md 定义团队 特有的分析规则(如"买入建议前必须查用户的最高风险承受度")。

以 GitHub 超 2.3 万 star 的数据来看,社区对这个方向有高度兴奋。 不过也要注意:Dexter 目前依赖 Financial Datasets API 作为主要数据源, 对非美国市场(A 股、港股等)的支持未在源码中体现。 如果未来开源贡献者能补上多市场适配器,Dexter 的应用面将再上一个台阶。

 
打赏
 
更多>同类资讯
0相关评论

推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  皖ICP备20008326号-18
Powered By DESTOON