最近不少做投研的朋友问我,一个人怎么盯得过来那么多公告、新闻和财报数据。我的回答一直是:别硬盯,把活儿拆出去。我自己现在跑着一套基于 WorkBuddy 搭的「AI 投研团队」,7×24 小时自动采集信息、拆解研报、盯风险、写简报,早上起来打开工作台,当天的投研日报已经躺在那里了。这篇文章就把整套搭建的思路、角色分工、配置过程和踩坑记录完整写出来,想给自己的投研流程提效的朋友可以直接照着抄。
这套东西解决的核心问题是「信息投喂」和「初筛分析」的自动化。做投研的人都知道,真正耗时间的不是看报告那一刻,而是把散落在公告、新闻、财报、行业动态里的信息捞出来、过滤掉噪音、再按逻辑整理成可读的素材。WorkBuddy 这类 AI Agent 工作台,正好把「多角色协作 + 定时触发 + 技能扩展」这几件事揉在了一起,天然适合干这种脏活累活。接下来我按从思路到实操的顺序把整个过程掰开讲。
1. 整体思路:为什么投研流水线要交给多 Agent 工作台
1.1 单模型聊天窗口和 Agent 工作台的区别
很多人一开始会问,我直接用 AI 对话框让它帮我分析不就行了吗,为什么非要搞 WorkBuddy 这么一套东西。我自己的体会是:单轮、单角色的对话适合「问一个问题」,而投研是一个完整的「生产流水线」——采集、清洗、分析、研判、输出报告、触发提醒,每一步的输入都依赖上一步的输出。如果你人工把上一步的结果复制粘贴给模型,那 7×24 自动化就是一个笑话。
WorkBuddy 这类工作台的价值在于,它能把多个不同职责的 Agent 串起来,每个 Agent 只干一件事,上游的输出结构化成下游的输入,再用定时调度让整套流程自动跑。换句话说,它不只是一个会聊天的模型,而是一个「可以编排、可以排班、可以调用工具」的机器人团队。这也是我在对比 CodeBuddy 和 WorkBuddy 之后的直观感受:CodeBuddy 更偏代码生成和工程辅助,WorkBuddy 更偏通用工作流的编排与自动化,对投研这种「定时 + 多环节 + 多种外部数据源」的场景更合适。
1.2 投研里哪些环节适合机器接管,哪些必须留给人
把整套流程拆开看,投研工作大致能分成五段:信息收集、信息初筛、深度分析、报告输出、决策执行。前四段里有大量「规则清晰、重复度高、考验耐心」的工作,非常适合交给 AI Agent。比如:
- 每天定时抓取公司公告、行业新闻、政策动态,自动去重、过滤无关噪音;
- 把抓回来的财报数据用统一模板整理成结构化表格,方便对比;
- 按提前设好的逻辑做初步的财务指标分析和行业趋势判断;
- 生成日报、周报的初稿,把重点事件和风险点单独标出来。
真正的决策环节,比如「这个变化到底影响多大、要不要调仓、估值合不合理」,这里面有太多主观判断、经验沉淀和对市场情绪的综合感知,机器很难完全替代。我的原则是:让 AI 团队把所有「需要看的东西」尽可能看完、整理好,把「需要想的东西」留给我自己。这套系统的定位从来不是替代我思考,而是替我省下盯盘和翻阅的时间。
1.3 团队架构设计的三条铁律
搭建过程中我总结出三条原则,几乎适用于所有用 WorkBuddy 做自动化流水线的场景。
第一,职责单一。不要让一个 Agent 既采集信息又写报告,否则上下文一长,输出质量会断崖式下跌。每个 Agent 只负责链路里的一个环节,模型负担小了,结果稳定性和可维护性都会好很多。
第二,数据流要结构化。下游 Agent 不靠「读自然语言」去理解上游输出,而是靠固定格式的字段去消费。所以我让每个 Agent 都输出标准化的 Markdown 表格或 JSON,这样后面的环节才稳定。
第三,容错兜底。任何自动化系统都会出问题——网络超时、接口限流、格式解析失败。设计时必须给每个环节加上失败重试、超时退出和异常通知,否则某个环节卡住,整条流水线都会瘫痪。
提示:不要一开始就追求复杂的多 Agent 拓扑。先用「采集 → 分析 → 报告」三个角色跑通主流程,再逐步加风险监控、舆情预警这些新角色,这样出问题了也更容易定位。
2. 角色拆解:这支「AI 投研团队」由哪些成员构成
2.1 信息采集员:24 小时盯着公开信息源
这个 Agent 的职责是「把海量信息捞回来并降噪」。日常跑的采集任务大概有这几类:目标公司的公告披露、行业垂直媒体的头条新闻、财经数据网站的定期数据更新、以及设定关键词的舆情信息。
在 WorkBuddy 里,我会给它配置多个定时任务。比如早上 8 点抓一遍前一晚的公告和隔夜重要新闻,中午 12 点和下午 4 点再各补一轮,晚上睡前再跑一次全量扫描。采集到内容后,并不需要全量塞给分析员,而是先在采集环节做一层粗过滤。
我在这个 Agent 的自定义指令里写了几条硬性要求:
- 只保留标题和正文里包含目标公司名称、竞品名称或设定行业关键词的内容;
- 明显重复的信息只保留最早一条或来源最权威的一条;
- 每条信息都必须标注来源链接、发布时间和涉及主体;
- 超过 200 字的新闻自动压缩成摘要,保留核心事实。
这么设计的原因很简单:投研信息源里 90% 是噪音,如果不过滤,下游分析员会被垃圾信息淹没。粗过滤的规则不需要太智能,先保证「别漏」保住召回率,把精确挑选的判断逻辑留给分析员。
2.2 行业与个股分析员:把原始信息转成可用的分析结论
分析员是整个团队里最核心的角色,它的输入是采集员整理好的结构化信息流,输出是初步的分析判断。我给它定了三个固定输出板块:行业动态解读、公司基本面变化、事件影响评估。
行业动态解读主要看采集来的新闻和政策,判断哪些变化属于长期趋势,哪些只是短期波动。公司基本面变化侧重财务数据和经营指标,比如营收增速、毛利率变化、现金流情况,这些数据很多可以从财报文本里直接提取。事件影响评估则是针对突发新闻,比如重大合同签订、业绩预告发布、管理层变动,让模型基于训练知识给出一个初步的影响方向和置信度。
需要强调的是,这里产出的不是「买卖建议」,而是「发生了什么 + 可能意味着什么 + 值得关注哪些后续信号」。我在提示词里反复强调:所有结论必须基于输入的事实信息,不要无中生有,推测部分要明确标注为推测,并且给出置信度。这样下游的报告主编在汇总时才不会被误导。
2.3 风险监控哨兵:异常事件第一时间触发提醒
风险哨兵这个角色是在主流程跑稳之后我才加的,但它带来的价值非常直接。它管的事情可以理解成「负面清单扫描」:高管减持、股权质押冻结、诉讼仲裁、审计意见异常、股价异动、监管函件,这些都是需要第一时间知道的风险信号。
在 WorkBuddy 里,它和采集员共享数据源,但是不同的处理逻辑。采集员抓到的信息会同时推给分析员和风险哨兵。分析员做常规拆解,风险哨兵做「有没有触发异常规则」的判断。一旦命中规则,就立刻推送到我的即时消息,而不是等下一次日报。
这个角色最有用的地方在于「分级告警」。我给它定义了三级提醒规则:黄色提醒是值得关注但不需要立即行动的事项;橙色提醒是需要当天核实的事件;红色提醒是必须在半小时内人工介入的重大异常。分级的目的很直接——不缺信息,但缺不同紧急程度的信息分层,只有分层才不会让告警变成狼来了。
2.4 报告主编:把多路输入汇总成一份可读的投研日报
主编这个 Agent 在流水线的最末端,负责把分析员的常规解读和风险哨兵的告警汇总成一份结构完整的日报或周报。WorkBuddy 里它可以定时在每晚固定时间触发,比如晚上 20 点,这时当天的公告、复盘文章都已经发布得差不多了,采集和分析也都跑完了。
我设计的日报结构固定如下:今日重要公告摘要、重点公司动态追踪、行业趋势观察、风险事件提示(按级别排序)、明日关注事项清单。每个板块都需要带来源链接,方便我回溯原始信息。整份报告控制在 800 字到 1200 字之间,避免长篇大论。毕竟 AI 生成的东西再详细,如果读起来比原始研报还累,就失去了提效的意义。
我还会要求主编在报告末尾加一个「信息完整度」评估,也就是当天的数据源有没有明显缺口,比如某家公司公告通道获取失败、某个数据源超时。这个设计最初是排查问题时加的,后来发现它对于判断报告可信度很有帮助。
3. 核心实操:把 WorkBuddy 配置成 7×24 小时的投研流水线
3.1 安装初始化:准备一个干净的工作环境
WorkBuddy 的安装不复杂,但有一些小细节容易卡住。先说环境准备:官方提供了常见的桌面客户端安装包,也有 Linux 服务器版本,适合部署在长期开机的机器上跑定时任务。我自己的服务器是 Ubuntu,安装完成后第一步不是急着建 Agent,而是先确认工作目录的写权限。
对,你没看错,就是权限问题。我最开始碰到过一个很典型的报错,502 write eacces,启动任务时报 502,看日志发现是没有对应目录的写权限。这是因为 WorkBuddy 在运行定时任务时需要把中间产物、日志和 Agent 状态文件写入工作目录,如果安装时用的是受限用户,后续跑任务就会到处碰壁。
我的建议是:专门建一个用于运行 WorkBuddy 的系统用户,给它分配一个独立的数据目录,并确保目录属主正确。另外,初始化过程中需要配置模型服务,既可以用官方预设的模型接入,也可以填自己的 API 地址。这一步的关键是确认网络连通性,别等建了一堆 Agent 才发现模型调用不了。
3.2 创建角色:三个核心 Agent 的配置方法与提示词设计
进入 WorkBuddy 工作台后,第一步是创建角色。我把「采集员、分析员、主编」分别建成独立的 Agent,每个 Agent 都有自己的名字、职责描述和自定义指令。职责描述要写清楚「你是谁、你负责什么、你不需要管什么」,自定义指令则是一份行为守则。
以分析员为例,它的自定义指令我大概是这么写的:
你是一名严谨的行业与个股分析员。你的输入来自信息采集员整理的结构化信息流。 你的任务: 1. 提取信息中的核心事实,保持客观,不臆测。 2. 对每一条重要信息给出影响评估,包含影响方向、影响程度、置信度。 3. 输出格式严格使用 Markdown 表格,字段为:信息ID、涉及主体、事件概述、影响方向、置信度、关联信号。 4. 所有推测内容必须标注"推测",并给出依据。 5. 你没有投资决策权,只输出分析结论,不输出买卖建议。提示词设计上有几个经验值得单独说。第一,一定要限定输出格式。不加格式约束,AI 每次输出的结构都可能不一样,下游 Agent 解析起来非常痛苦。第二,要把「不需要做什么」写清楚,AI 模型容易被带偏,明确边界反而能提升纪律性。第三,可以在指令里加入少量示例片段,也就是 one-shot,让模型模仿示例的格式和语气,第一个示例的质量基本决定了后续输出的稳定性。
采集员的指令里最重要的是「来源必须可溯」,所有信息项必须带链接和时间。主编的指令里最重要的是「总长度控制」和「板块固定」,我会把板块标题直接写死在指令里,让模型做填空而不是自由发挥。
3.3 用 Skill 扩展投研能力:让 Agent 会查数据、会算指标、会解析文件
光靠模型的通用能力,投研场景里有些「工具性」的活儿还是干不了。比如直接读取 PDF 格式的财报、调用在线财经接口查实时行情、把一段文本批量格式化成表格。这些能力在 WorkBuddy 里通过 Skill(技能)来扩展,SkillHub 里有现成的技能包,也可以自己写。
我日常用得比较多的技能有这几类:PDF 解析技能,用来把公司财报 PDF 转成可检索的文本;表格处理技能,用来把抓取的数据批量整理成 CSV 或 Markdown;关键词订阅技能,本质上是一个可配置的规则引擎,让采集员按照自定义关键词去过滤信息流。
如果你在 Linux 服务器上部署,还需要注意技能依赖的软件包是否已安装,比如解析 PDF 可能依赖特定的系统库,OCR 类技能还需要额外的中文语言包。选技能的时候不用贪多,一个技能如果两个月都用不上,就可以停用,避免给系统增加无谓的复杂度。
注意:Skill 本质上是外部能力,任何来自第三方技能市场的包在部署前都要过一遍它的权限说明,尽量选择开源的、社区验证过的,不要乱装来路不明的技能包。
3.4 配置定时调度:让流水线在无人值守时自动运转
角色的提示词写好了,Skill 也配好了,接下来是整套系统的灵魂:定时调度。在 WorkBuddy 里,每个任务都可以设置独立的触发规则,用 cron 表达式来控制。投研场景的调度策略我总结为「错峰执行、低频起步、逐步加密」。
以我当前的配置为例:
- 采集员每天跑 4 次:8:10、12:10、16:10、20:10,为什么错开 10 分钟?因为很多数据源会在整点前后更新,避开高峰可以减少抓取失败率。
- 分析员每天跑 4 次:采集员任务结束 15 分钟后触发,也就是 8:25、12:25、16:25、20:25,这个间隔既保证数据已经入库,又给模型留出足够的分析时间。
- 风险哨兵和执行任务绑定,用事件驱动而不是纯定时,只要有新数据落库就扫一遍规则。
- 主编每天只在 20:30 跑一次,汇总当天全量数据,生成日报。
调度配置里有个容易被忽略的坑:并发与资源争抢。如果让 4 个 Agent 在同一时间同时跑,模型 API 的速率限制、本地 CPU 内存都可能不够用。所以我把任务都错峰排布,宁可让整个流程晚几分钟结束,也别把资源挤爆。
另外,我还配置了失败重试机制。单次任务失败后自动重试 2 次,间隔 5 分钟;连续失败 3 次则直接跳过当天任务并推送告警。这个兜底逻辑非常重要,因为它决定了一天中如果某个环节抽风,你第二天早上看到的是一份「缺了某个板块的报告」还是一堆报错日志——前者更好,因为报告至少能看,缺失的板块我会知道去补。
3.5 结果持久化:把日报输出到 Obsidian 和消息通知
自动跑完的报告如果只是留在 WorkBuddy 的界面里,还得打开软件去翻,谈不上「7×24 待命」。我把结果做了双通道输出:一份写入本地知识库,一份推送到即时消息。
知识库我选了 Obsidian,WorkBuddy 有对应的集成能力,可以直接把日报作为 Markdown 文件按日期写入指定目录。这样时间长了,日报会自动积累成一个带时间线的知识库,配合 Obsidian 的双链和搜索,找历史记录非常方便。另一个通道是 Webhook 推送,把当日报告的要点以摘要形式推到手机端,早上扫一眼就知道今天有哪些重点。
实操心得:推送消息里不要放整篇报告,只放核心结论和风险告警,详细内容去知识库里看。否则每天几百字的推送最后一定会被当成垃圾通知关掉。
4. 上线以后:常见问题排查与自主运维经验
4.1 高频报错实录:写权限、超时、模型调用失败
整套系统跑了一个多月,我把遇过的典型问题整理了一下,这部分应该是最实战的内容了。
先说我遇到最多的 502 问题。报错信息长这样:502 write eacces,一开始我还以为是模型服务不稳定,后来排查发现是系统用户对数据目录没有写权限。解决方案是检查 WorkBuddy 数据目录的属主和权限位,确保运行用户可写。这个坑在网上讨论度不低,你如果也碰到 502,先看一眼是不是这个问题。
第二个高频问题是定时任务不触发。排查时先看任务调度日志,确认 cron 表达式没有写错,再看系统时区是否一致。很多服务器默认是 UTC 时区,你本地是东八区,直接差 8 个小时,你以为的 8 点实际上是服务器时间 0 点,任务自然是在错误的时间点跑的。解决办法是把服务器时区统一设置成本地时区。
第三个问题是单次任务运行时间过长导致超时。尤其模型要处理大量文本时,分析员很可能跑超过预设的超时阈值。我的调整思路是给分析员缩小单批输入量,让它分段处理,以及提高超时阈值到 5 分钟以上。这里没有银弹,只能通过日志观察平均耗时来逐步调优。
我把这几个问题整理成了速查表:
| 异常现象 | 可能原因 | 处理方式 |
|---|---|---|
| 任务报 502 write eacces | 数据目录权限不足 | 修正目录属主与权限位 |
| 定时任务时间不对 | 服务器时区非本地时区 | 统一系统时区或调整 cron 表达式 |
| 任务超时失败 | 单批数据量过大、超时阈值太小 | 减小输入批量、调高超时阈值、多次重试 |
| 分析结果格式混乱 | 提示词缺少格式约束 | 在指令中强制定死输出模板 |
| 模型返回空内容 | 上下文过长截断或服务限流 | 拆分子任务、降低并发、记录重试 |
4.2 输出质量不太稳:让 AI 的答案有「纪律」
自动化跑久了,你会发现不同批次的分析质量会有起伏。我试过几个有效的手段。首先是把模型的温度参数调低,这一点在 WorkBuddy 里可以做,温度越低输出越保守、越接近固定模式,对投研分析这类需要稳定输出的任务来说,低温度明显好于高温度。
其次是给分析员提供固定格式的示例,这也是一开始说过的 one-shot。比如我在指令里嵌了一个完整的输出样例,模型会自动照着样例的结构与措辞生成,稳定性比只描述格式要求高很多。
最后是结果校验。我让主编在合成日报前先对分析员的输出做一次「完整性检查」:必须是表格、必须包含所有必需字段、必须带来源链接。不满足条件的内容直接丢弃并在报告里标注「该板块因数据缺失未生成」。这套校验并不复杂,但是能避免下游把错误数据当回事。
4.3 投研内容的合规边界:AI 分析必须守住底线
关于 AI 辅助投研这件事,必须说一个比较严肃的话题:合规。我在这套系统里加了三条硬性规则,建议所有做类似事情的朋友都参考一下。
第一,所有 AI 生成的分析都不是投资建议,系统产出的每一份报告底部都要带「仅供参考,不构成任何投资建议」的声明。第二,AI 内容不允许对个股给出目标价或评级,只做事实梳理和逻辑呈现。第三,在使用任何数据源时留意版权与授权问题,特别是付费研报和付费数据终端的内容,尽量只用公开的、可转载的信息源。
这些限制不是「把路走窄了」,反而是让这套系统能长期稳定跑下去的前提。投研工作本身就处在强监管语境里,任何自动化工具的使用都不能越过合规红线。我宁可让 AI 团队少输出一些「看似聪明」的结论,也不能让它给出有法律风险的表述。
4.4 维护这台「机器」的一些个人经验
最后聊聊长期运行的维护问题。很多人以为搭好之后就一劳永逸了,其实不是。AI 系统跟真实团队一样,需要定期「开会复盘」。
我的维护节奏是:每天早上花 10 分钟扫一遍前一天的日报和告警,看看有没有明显的错误信息;每周末检查一次所有 Agent 的提示词和数据源配置,因为投研关注的标的和行业会变,关键词列表也要跟着更新;每半个月翻一次历史报告,观察分析员有没有出现「越跑越偏」的迹象,比如开始言之凿凿地输出一些没有依据的内容,那就说明需要调整指令或补充约束。
数据源本身也会失效。某个公开数据接口可能改版、某个新闻源可能关闭了 RSS。这些都要靠日志去发现。好在我给整套系统加了完整的输出日志,每一个 Agent 的输入输出都留痕,做问题回溯的时候非常省力。
维护建议:把「日志开启」设为默认项,千万不要为了省存储空间关掉日志。投研流水线的日志不仅是排查工具,也是你后续优化提示词的重要素材。
最后再分享一点我的习惯
我搭这套 WorkBuddy AI 投研团队之后最大的体会是:工具并不神奇,真正神奇的是把「规则」落到系统里的那一刻。AI 不会替你判断,但如果你把判断之前的那些繁琐流程都定义清楚,它确实能让你从海量信息里解放出来,把精力留给最重要的决策。我现在的每日流程已经变成:早上看推送摘要,午间看重点事件,晚上花二十分钟读一遍主编整理好的日报,然后随时处理风险哨兵发来的红色告警。投研这条路信息永远看不完,但有一个 7×24 小时不打烊的团队帮你盯着,至少心安很多。