从零搭一个 AI 投研助理:数据、提示词与验证的完整链路
面向个人投资者和小型投研团队的实操指南:如何用公开数据源 + LLM 搭建一个能读财报、做行业对比、写投研纪要的助理,以及必须设置的三个防幻觉关卡。
用 AI 做投研的人很多,用它做得靠谱的人很少。
差距不在提示词写得好不好,而在有没有把”数据”和”验证”当回事。一个读不到真财报的 AI,再会写也只是在写小说。
本文给出一条能跑通的完整链路,面向个人投资者和小团队。
一、能力边界先划清楚
在开始搭之前,明确三件事:
AI 投研助理能做的:
- 从结构化数据里提取指标、计算比率、做同业对比
- 把长文档压缩成要点,定位到具体段落
- 按固定框架生成初稿(不是结论)
- 发现异常(指标异动、口径不一致)
不能做的:
- 给买卖建议(合规问题 + 能力问题)
- 预测股价
- 判断管理层是否可信
- 替代一手调研
把边界写进系统提示,是防止输出失控的第一道关卡。
二、数据层:三层结构
第一层:结构化数据
财报三张表、行情、估值指标。这一层必须是数字,不能是 LLM 从 PDF 里”读”出来的数字。
做法:用财报数据接口或公开数据集,存进本地数据库(DuckDB / SQLite 足够)。LLM 只负责写查询、解读结果,不负责抄数字。
这是最重要的一条设计原则:数字由代码算,叙述由模型写。
第二层:文档数据
年报、招股书、调研纪要、公告。切块后入向量库,每块带元数据:
{ 公司, 报告期, 章节, 页码, 段落类型(正文/表格/附注) }
元数据比嵌入质量更影响可用性。 “只看 2025 年三季度、只看管理层讨论章节”这种过滤,靠向量相似度做不到。
第三层:外部增量
行业新闻、政策、竞品动态。这一层噪音最大,也最容易诱导模型编造因果关系,需要单独的时效过滤和来源标注。
三、三个核心工作流
工作流一:财报速读
输入:公司代码 + 报告期 输出:一页纪要,固定五段结构
- 核心变化:营收、毛利率、经营现金流三项同比/环比,直接引用计算值
- 结构拆解:按业务分部,列占比与增速变化
- 异常提示:应收账款增速 vs 营收增速、存货周转天数变化等,超出阈值自动标红
- 管理层口径:从年报”管理层讨论”章节提取关键表述,附页码
- 待确认问题:生成 3–5 个需要电话会议或调研确认的问题
第 5 段是最有价值的部分。 它把 AI 从”给结论的”变成”帮你准备好的问题的”,这符合 AI 目前真实的能力水平。
工作流二:同业对比
关键在于统一口径。同一指标在不同公司可能算法不同(比如”毛利率”是否含运费)。
做法:先维护一张指标定义表,计算前强制确认口径一致,不一致的标出来。
输出一张对比表 + 每个维度的简要解释,不要给”哪家更好”的排名。
工作流三:跟踪清单
每周跑一次:目标公司公告、行业政策、竞品动作,按”与我关注公司是否相关”过滤后摘要。
四、三个防幻觉关卡
关卡一:数字旁证
任何输出中出现数字,必须来自数据库查询结果,并带上来源标记。LLM 自由生成的数字一律不允许进入正式输出。
实现方式:让模型输出结构化 JSON,数字字段只允许填”从查询结果里选”,不允许自己算。
关卡二:引用可定位
每个观点后必须附 [文档ID:页码:段落],并且系统自动校验该段落确实包含相关内容(关键词重合度检查)。校验不通过就打回重写。
这一步过滤掉了大部分”看起来像引用其实编的”的情况。
关卡三:结论分级
把输出按确定性分三级:
- 事实:来自数据,可直接用
- 推断:基于事实的逻辑推演,需人工复核
- 观点:模型生成的判断,仅供参考
在输出格式上用不同标记区分,强制模型对自己的每句话定性。这个约束会让模型大幅减少”我觉得这家公司很有潜力”这类无依据表述。
五、系统提示的核心结构
你是投研助理,不提供投资建议。
【硬约束】
1. 所有数字必须来自工具返回结果,禁止自行估算或推测
2. 每个观点必须附来源定位,无法定位的不要说
3. 不确定时明确输出"资料不足"
4. 不评价管理层人品,不预测股价
【输出格式】
严格按五段式 JSON 输出,字段见 schema
【口径】
毛利率 = (营收 - 营业成本) / 营收,均取合并报表
“不确定时明确输出资料不足”这句必须放在硬约束里,并且要在评测里专门测。
六、验证方法
搭好之后,用这四种方法验证:
- 回测式验证:拿已公布的年报跑一遍,看提取的数字与实际是否一致(应达 100%,不一致说明数据接入有问题)
- 陷阱题:问一个数据里根本没有的问题,看是否老实说”资料不足”
- 口径题:问一个同名不同口径的指标,看是否提示口径差异
- 跨期题:问”过去三年毛利率趋势”,看是否正确调取多期数据
第 2 题最重要。 一个会说”资料不足”的投研助理,比一个什么都敢答的助理有价值十倍。
七、最后一句
这套系统搭下来大概一到两周,它的价值不是替你下判断,而是把读财报和找数据的时间从 4 小时压到 30 分钟,让你把时间花在真正需要人的地方:判断管理层、判断行业拐点、判断什么是市场还没意识到的。
AI 负责把资料整理成能思考的形状,思考这一步,仍然是你自己的事。