ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

AI投研团队搭建实录:用五个Agent打造全自动信息流水线

2026/9/20 7:28:05 拓冰建站 浏览量
AI投研团队搭建实录:用五个Agent打造全自动信息流水线 如果你理解的“AI 投研”是把行情软件里所有指标丢给大模型让它告诉你明天买什么那这篇文章大概率会让你失望。我花了两周时间用 WorkBuddy 把一个投研信息处理流程拆成了五个各司其职的 AI Agent——有负责盯公开数据的有负责行业梳理的有专职风险预警的。它们按固定时间表轮班最终每天开盘前自动产出一份投研简报并沉淀到本地 Obsidian 知识库。这篇文章会把整套「AI 投研团队」的搭建过程、角色指令设计、定时触发机制以及连续跑了一周之后冒出来的各种实际问题完整记录下来希望能帮到正在做信息跟踪、行业研究或者单纯想提升信息处理效率的朋友。这套东西的核心逻辑很简单AI 不是用来替你做决策的而是用来把“找信息”这件事变成一条全自动流水线让你每天睁开眼睛看到的是已经整理好的事实而不是一堆需要自己翻的网页。1. 为什么需要“AI 投研团队”一个人的精力撑不起全天候信息战1.1 一个人盯盘的极限在哪里我先说一个很现实的场景。晚上美股交易时段新闻频发清晨港股和美股盘后公告密集出炉A股盘前又有新的政策文件、行业数据、上市公司公告盘中还随时可能出现突发消息。如果你每天要把这些信息都过一遍再留出时间做真正的思考几乎是不可能的。我自己之前的做法和大部分人差不多关注了十几个信息渠道每天早上花一个多小时手动刷一遍晚上再补一轮。遇到关键位置还会切到行情软件看异动。一天下来真正留给自己做判断的时间可能不到一个小时大部分精力都耗在“信息搬运”上了。投研这件事有个特点决定你产出质量的往往不是你对某一个信息的理解深度而是你有没有漏掉关键信息。漏掉一条重要公告、错过一个突发新闻后面的分析框架再漂亮也没用。而一个人靠手动盯盘去对抗信息量的膨胀长期是不可持续的。所以我去找自动化方案的时候目标很明确不是让 AI 告诉我买什么而是让它帮我保证“信息不漏、关键不丢”把我从重复的信息采集和整理中解放出来。1.2 AI 真正能顶上的三个环节把投研信息处理流程拆开看真正适合自动化的是三个环节。第一是采集。把分散在 RSS、公开网页、公告列表里的信息按照固定频率定时抓下来。这个动作没有技术含量但必须稳定、准时、不遗漏。第二是清洗与结构化。把抓回来的原始页面去重、抽正文、去掉广告和导航噪音、提取发布时间、标的主体、事件类型等关键字段。这一步决定了后面所有分析的质量。第三是初筛与摘要。按行业、关键词把信息分流给每条信息打标签生成一段精简摘要把当天值得关注的事件从几百条原始信息里捞出来。这三个环节有一个共同点它们都是“确定性”工作不需要灵感和直觉但需要持续稳定地执行。AI 恰好擅长这个。而真正需要人工判断的环节——比如“这条消息可能对某个公司产生什么长期影响”“当前市场情绪是否过热”——AI 只能提供辅助不能替你拍板。我把这个边界看得非常清楚所以整个团队的设计都围绕“信息整理”展开绝不越界。2. 先设计岗位再配置 Agent我的五角色架构2.1 采集、清洗、研究、预警、主编一支最小可用团队很多人搭 AI 工作流的第一步就错了——打开工具看到几个模板直接往里填提示词结果产出乱七八糟。我的做法是先做“组织架构设计”像搭真实投研团队一样先把岗位定义清楚再让每个 Agent 去对应一个岗位。最终我配置了五个角色岗位核心职责输出物采集员定时轮询 RSS、公告页、新闻列表原始消息队列清洗员去重、抽正文、标准化字段结构化投研条目研究员按行业归类、语义理解、事件标签分主题研究摘要风险哨兵盯异常波动、负面舆情、突发公告风险预警卡片主编汇总所有产出、排版、归档最终日报 Markdown为什么是这五个角色而不是直接写一个“超级投研 Agent”因为岗位边界越清晰提示词越好写问题也越好定位。如果某天日报质量不行你能很快判断是采集环节漏了信息还是研究环节摘要写得太水。如果五个岗位挤在一个 Agent 里出了问题根本不知道从哪里查起。“最小可用”的意思是你不需要一开始就配满五个。如果是第一次搭建我建议先从三个角色开始采集员、清洗员、主编。跑通一条完整链路之后再往里面加研究员和风险哨兵。每次只加一个角色方便观察它对整体产出的影响。2.2 哪些环节应该用脚本而不是 AI这里分享一个特别重要的经验不要把每个环节都强行 AI 化。采集和清洗这两个环节我强烈建议用脚本或 Skill 实现而不是让 AI 自由发挥。抓网页、抽正文、去重、解析字段这些都是确定性操作用现成的解析库又快又稳还省钱。如果让 AI 去抓网页它可能漏项、可能被页面上乱七八糟的推荐内容带偏每次运行还要消耗大量 token。AI 真正该参与的是“语义理解和判断”环节。同样一条公告里面提到“公司签订重大合同”AI 能理解这个信息应该归入“资本运作”类能抽取合同金额、对手方、是否构成重大资产重组等关键要素。这种能力正则表达式做不到只有大模型能搞定。所以我的流水线设计是能用代码解决的绝不用 AI用 AI 的地方一定需要语义理解。这也是控制成本、提升稳定性的关键。2.3 关键 Prompt 怎么写以研究员 Agent 为例岗位设计好了接下来就是给每个 Agent 写“岗位说明书”。我以研究员 Agent 为例给出一个实际在用的指令模板。# 角色 行业研究员 # 职责 把清洗后的结构化投研条目按行业归类识别其中涉及业绩变动、 管理层变动、重大合同、资本运作、监管关注等事件标签。 # 输入 JSON 数组每个元素包含id、发布时间、来源、标题、正文摘要、原始链接 # 输出 Markdown 表格字段如下 | 行业 | 标的主体 | 事件摘要不超过50字 | 影响标签 | 置信度 | # 注意事项 - 不确定的事件标注“待核”不要编造来源 - 只做客观归纳不给出任何买卖建议 - 每条信息至少保留一个原始链接方便溯源 - 置信度低于 0.6 的条目放入“待观察”区不进日报正文这个模板看起来简单但每一行都有用意。角色和职责是让模型进入状态输入和输出部分强制规定了数据结构避免它自由发挥。“置信度”和“待核”这两个词是投研场景的特殊要求——因为 AI 在信息不全时经常表现出莫名其妙的自信你必须让它学会“承认自己不知道”。最后一条“不给出任何买卖建议”既是合规要求也是在约束模型别越界。AI 一旦开始分析“应该买还是卖”就容易一本正经地胡说八道。让它做客观归纳它能做好让它做预测它大概率会让你翻车。3. 在 WorkBuddy 里把团队搭起来3.1 为什么用 WorkBuddy 而不是裸调 API把岗位设计好后我面临一个工具选型问题是自己写 Python 脚本去调大模型 API还是用一个现成的 Agent 编排工具裸调 API 的优势是自由度大想怎么编排都行。但代价是巨大任务调度、失败重试、上下文管理、日志监控这些全得自己写。我这套投研流水线要跑 7×24 小时任何一个环节出问题都要能自动恢复纯手写的工程量太大维护成本远超收益。我也对比过 Claude Code 这类代码智能体工具。说实话如果任务是“写一个爬虫脚本”Claude Code 很舒服。但投研自动化是一个“信息采集 定时巡检 多角色协同 知识库沉淀”的综合场景它的主场不在这里。最终选了 WorkBuddy三个原因SkillHub 技能市场里有不少开箱即用的采集、解析、写入技能不用自己从零造轮子。内置定时触发机制可以像 cron 一样按时间表跑任务还能看到每次运行的日志。支持把 Agent 的输出直接写入本地目录跟 Obsidian 联动很顺畅。简单说WorkBuddy 在我眼里是一个“AI Agent 工作台”你可以在这里面给每个 Agent 配人设、接技能、串联流水线、设定时任务。它解决的问题不是“怎么生成一段文本”而是“怎么让一堆 AI 角色稳定协作地完成一件长周期的事”。3.2 SkillHub 技能选型与安装SkillHub 是 WorkBuddy 的技能市场类似手机上的应用商店。选技能这件事我给自己定了一条原则初始阶段只装最少必要技能跑通了再加。我第一批只装了四个RSS 订阅解析读取订阅源输出标题和链接列表。网页正文提取把详情页里的正文抽出来去掉导航、广告、推荐内容。JSON 处理器负责消息队列里数据的格式转换和字段映射。Markdown 文件写入把 Agent 的输出写到指定本地目录文件名可以带日期变量。装多了会怎么样每个技能都是一个潜在故障点。我以前试过一次装十几个插件结果某个技能版本更新后接口变了整条流水线直接断掉排查了半天。安装之后每个技能我都会先用一个小样本测试一遍确认输入输出格式和文档一致再往里接。这个习惯帮我省了很多事。3.3 Agent 配置与流水线串联一份可直接参考的骨架在 WorkBuddy 的配置面板里每个 Agent 可以理解为一份“岗位说明书 技能绑定 上下游关系”的集合。我整理了一份当前在跑的骨架配置你可以直接参考。采集员: 技能: [rss订阅解析, 网页正文提取] 输入: 订阅源列表(约30个公开源) 输出: 原始消息队列(JSON) 模型档位: 轻量 触发频率: 每30分钟 清洗员: 技能: [json处理器] 输入: 原始消息队列 任务: 去重、抽正文、提取发布时间/来源/标的主体 输出: 结构化投研条目(JSON) 模型档位: 轻量 研究员: 技能: [] 输入: 结构化投研条目 任务: 按行业归类、事件标签、生成摘要 输出: 分主题研究摘要(Markdown表格) 模型档位: 强推理 风险哨兵: 技能: [网页正文提取] 输入: 结构化投研条目 行情异动接口 任务: 识别突发公告、负面舆情、异常波动 输出: 预警卡片(JSON) 模型档位: 中 主编: 技能: [markdown文件写入] 输入: 研究员摘要 风险哨兵预警 清洗员高置信度条目 任务: 汇总排版生成日报 输出: /path/to/ObsidianVault/投研/日报/YYYY-MM-DD.md 模型档位: 强推理 触发频率: 每个交易日 08:00流水线串联的关键在于“数据格式统一”。我在设计时让每个环节的输出都遵循同一套 JSON schema这样采集员的输出可以直接被清洗员消费清洗员的输出也可以直接给研究员和风险哨兵使用。打个比方这就好比公司里每个部门都按统一的模板交接文档而不是每个人自己发明一套格式。如果格式不统一上下游对接就会变成一场灾难。另外有一点要注意流水线里各环节的触发频率是可以不同的。采集员每 30 分钟跑一次研究员和主编每天跑一次这是完全合理的。信息采集要高频率内容分析要控制节奏避免无效消耗 token。4. 7×24 小时运转的实现细节4.1 定时触发与“自动签到”任务编排WorkBuddy 的定时触发机制是最打动我的功能。它相当于给每个 Agent 发了考勤表到点就自动上班跑任务不用人管。我把整个团队的时间表排成这样时间任务说明交易日 08:00主编生成晨报整合隔夜外盘、早间公告、行业动态每 30 分钟采集员巡检增量抓取新发布的信息交易日 09:30风险哨兵盘中初检重点扫描开盘后异常公告每 60 分钟风险哨兵盘中巡检监测突发新闻和异常舆情交易日 15:30清洗员盘后整理把当日新条目标准化入库每日 21:30主编生成晚间归档更新行业文件夹与待跟踪清单配置定时任务用的是 cron 表达式比如工作日早上 8 点的晨报任务就是0 8 * * 1-5。这里有个坑提醒大家如果服务器时区是 UTC而你的交易时间按北京时间算cron 时间要换算对否则“早上 8 点晨报”会变成“北京时间下午 4 点”。我一开始就吃过这个亏之后统一在服务器上把时区改成 Asia/Shanghai 才解决。还有节假日问题。每年有法定假期假期里生成的日报没有意义。我的做法是在清洗环节加了一个“交易日判断”逻辑通过公开的交易日历数据判断当天是否开盘休息日自动跳过综合分析环节只做低优先级的信息归档。4.2 把产出写进 Obsidian 知识库把日报写进 Obsidian不是图好看而是觉得投研信息必须“可积累、可检索、可关联”。Obsidian 的底层是本地 Markdown 文件天然适合做长期知识库。WorkBuddy 的 Markdown 写入技能可以把 Agent 的输出直接落到指定 vault 路径文件名带日期变量。我的目录结构是这样设计的vault/ 投研/ 日报/2025-03-25.md 行业/新能源/2025-03-25-行业动态.md 行业/半导体/2025-03-25-行业动态.md 待跟踪清单.md 风险提示记录.md为什么这样分日报是每天的快照行业文件是纵向积累待跟踪清单是跨期关注的事项。三者结合既能看到“某天发生了什么”也能追溯“某个行业过去一个月的变化趋势”。这样连续跑一个月之后Obsidian 里就会出现一个可以检索的个人投研数据库。这比每天把报告发在微信群里再遗忘价值高得多。4.3 一份日报的实际产出长什么样日报是整个团队每天最重要的交付物。我用一个示意结构来说明以下内容均为格式示意不涉及真实投资标的# 投研日报 2025-03-26 ## 一、隔夜市场概览 - 主要指数涨跌、成交额、北向资金示例数据 ## 二、重点公告摘要 | 行业 | 标的主体 | 事件摘要 | 影响标签 | 置信度 | | --- | --- | --- | --- | --- | | 新能源 | 某电池厂商 | 披露新一轮产能扩建计划总投资金额较大 | 资本运作 | 高 | | 消费 | 某食品公司 | 发布回购方案回购金额上限超预期 | 股东回报 | 中 | ## 三、行业动态 - 半导体某设备厂商发布新一代产品市场关注国产替代进度 - 医药某创新药管线临床数据公布机构解读偏正面 ## 四、风险预警 - 某公司被监管问询关注后续回复内容 - 海外市场出现阶段性波动留意对汇率敏感板块的影响 ## 五、待跟踪清单 - [ ] 某标的业绩预告将于本周末披露需重点关注毛利率变化 - [ ] 某行业政策细则尚未落地保持关注这份日报最大的价值是它把所有信息压缩在一个文件里我每天早上只需要花十分钟读一遍就能知道今天应该把精力放在哪里。而不是像以前一样花两个小时刷几十个网页最后脑子里还是一团浆糊。5. 连续跑了一周后踩过的坑5.1 “502 write EACCES”Linux 部署最典型的权限坑团队跑起来的第三天早上我发现日报文件没生成。翻日志末尾有一条报错502 write EACCES。乍一看像网络问题实际上这是写入文件时没有权限导致的错误。我当时的状态是这样的Agent 配置和流水线都对其他环节正常输出唯独“Markdown 写入”这个技能在往 Obsidian 目录写文件时失败了。检查的时候我按这个顺序一步步定位先看日志里的完整路径确认它尝试写的是哪个文件执行whoami确认 WorkBuddy 进程是以哪个用户身份在跑执行ls -l /path/to/ObsidianVault看目录属主是谁、权限位是什么用touch /path/to/ObsidianVault/test.md手动测试写权限确认报错。问题一下就清楚了Obsidian 库是用另一个账号初始化的目录属主是那个账号而 WorkBuddy 的进程用户没有写权限。解决方案也很简单sudo chown -R 当前用户名 /path/to/ObsidianVault或者更保守一点只放开子目录的写入权限sudo chmod -R uw /path/to/ObsidianVault/投研这个坑看起来小但在 Linux 服务器上部署任何 Agent 工作流都会遇到。我现在的建议是部署之前先明确数据写入目录并确认运行用户对该目录有完整写权限。最好把这一步写进部署 checklist别等跑起来再排查那会浪费你半天时间。5.2 信源污染AI 最“自信”的时候最危险跑了大概一周后我发现日报里开始出现一些质量很差的条目。比如某条信息来源是一个没什么权威性的小网站标题写得很夸张AI 却一本正经地把它当作重要事件写进了重点公告摘要。投研信息整理和普通聊天最大的区别在于错误信息的代价很高。普通聊天说错一句话大家笑一笑就过去了投研简报里混入一条假消息可能会直接影响判断方向。信源污染通常来自两个环节一是采集阶段混入了低质量网站二是清洗阶段没能完全过滤掉“标题党”内容。我的对策是分几步走信息源白名单管理。一开始就严格筛选订阅源只保留权威性高的公开来源宁少勿滥。清洗阶段做正文抽取而不是只读标题。很多标题和正文内容差距很大只读标题很容易被误导。在 Prompt 中强制要求“每条信息必须带原始链接”“不确定就写待核”。设置置信度阈值。低于阈值的条目不进入日报正文只进“待观察区”。我现在每周还会做一次信源复盘看看哪些来源产生的条目经常被标注为“待核”哪些来源的内容总是和真实情况有偏差。连续两周表现差的来源直接移出订阅列表。在 AI 投研这个场景里我学到的最大一课是AI 输出越流畅、越自信的信源越要警惕。宁可让它漏报不能让它错报。5.3 上下文失控与 Token 预算管理7×24 小时连续运行的另一个大问题是如果 Agent 每次运行都把历史消息堆进上下文上下文窗口很快会满费用和延迟都会直线上升。我第一天就踩了坑。采集员每 30 分钟跑一次一天下来积累了上百条原始消息。我没有做清理结果研究员在处理时把所有历史数据都读了一遍不仅响应速度变慢token 消耗也比预期高了好几倍。后来我做了四件事流水线拆分时每个 Agent 只处理“当前批次”的数据不读历史全量。批次处理完成后把摘要结果写入外部存储JSON 或 Markdown而不是留在上下文里。超长公告做分块摘要先按段落把它切成几块分别生成局部摘要再拼成总摘要。定期清理临时消息队列避免积压。积压数据不仅费 token还会让结果滞后。成本的精细管理也依赖任务拆分。我的经验是给不同环节分配不同档位的模型采集清洗用轻量模型因为任务是确定性的研究员和主编用强推理模型因为要做真正的语义理解风险哨兵用中档模型平衡速度和判断力。如果你每天处理 200 条信息清洗环节大概消耗几万 token研究环节可能十几万 token。按行业内的公开计价粗算一个月的成本在可接受范围内。但如果你不拆分把所有数据一股脑全塞给最强的模型成本可能翻好几倍效果还不一定更好。6. 这套团队架构的复用价值6.1 从投研迁移到行业调研、舆情监控和竞品跟踪搭建这套「AI 投研团队」的过程中我发现最有价值的产出其实是那一套方法论——岗位设计、技能选型、流水线编排、定时触发、知识库沉淀。这套方法论完全可以从投研场景迁移到其他信息密集型场景。举个具体的例子竞品跟踪。我把“研究员”的指令从“按行业归类投研条目”改成“按产品线归类竞品动态”把“风险哨兵”的职责从“盯异常波动”改成“盯竞品新版本发布、价格调整、高管变动”。数据源从财经网站换成竞品官网、招聘页面和产品发布博客流水线结构完全不用动产出就变成了一份每日竞品动态简报。再比如行业调研采集行业新闻、政策文件、头部公司公告清洗后归档到 Obsidian 的“行业研究”目录每周自动生成一份行业动态周报。这比每个月花两天人工收集资料效率高出一个数量级。迁移的步骤被我固定成了五步定义角色这个领域有哪些固定岗位要长期做选择技能哪些环节有现成的 Skill 可以用配置流水线确定数据从哪来、经过谁、最终到哪去。设定时间表按业务的真实节奏安排触发频率。量化复盘每天/每周看产出质量持续剔除低质量信源、优化指令。这套模板任何人只要愿意花点时间都可以复制到自己的领域里。6.2 我对 AI 投研自动化边界的新认识连续跑了一段时间之后我对“AI 投研团队”这件事有了更清醒的认识。最核心的一条是AI 团队解决的是信息分发效率问题不解决信息判断问题。它像一个任劳任怨的情报整理员把每天海量信息压缩成一份干净简报把容易漏掉的异常挑出来放在显眼位置。但最终决定怎么理解这些信息、怎么形成判断的还是人。我也越来越理解为什么这套体系不能缺少“人”的参与。信息源会变化市场环境会变化Agent 的指令每隔一段时间也需要根据实际效果调优。这不是一劳永逸的自动化而是一个需要持续打理的信息系统。但即便如此它的价值已经足够大。以前我需要花两个小时做信息采集和初筛现在这套体系帮我处理掉了 80% 以上的重复工作。每天多出来的这一小时我可以用来深度阅读公司财报、复盘自己的判断逻辑、甚至单纯休息——这些才是真正影响投研质量的事情。如果你也想搭这么一套体系我的建议是从一个小场景开始先跑通一条最简流水线再慢慢加角色、加信源。别一上来就追求大而全让数据先流起来比什么都重要。