如果把 Agent 投资系统理解成“让 Agent 写研报”,这个系统很快会停在漂亮文字上。研报适合给人读,却不一定适合被系统追踪。它可以写得很顺,也可以引用很多材料,但后面市场给出反馈时,很难知道到底是哪一个判断被验证,哪一个判断只是碰巧撞上。

系统该保存的,是一个可执行、可评估、可复盘的投资决策对象。

研报可以存在,但它只是解释层。下面这些字段才是系统要继续处理的对象:

asset:
horizon:
thesis:
evidence:
counter_evidence:
valuation:
scenario:
invalidation:
watchlist:
position_rule:
risk:
confidence:
decision:

这些字段看起来比文章粗糙,却更适合被市场和后续事实检查。

生成器

生成器负责把一个投资问题变成决策对象。

它不是直接回答“买不买”,而是先把问题拆开:

  • 这家公司到底靠什么赚钱?
  • 当前价格在定价什么?
  • 支持这个判断的事实有哪些?
  • 哪些反向证据正在削弱这个判断?
  • 这个判断需要多长时间验证?
  • 什么情况出现时,原判断必须失效?
  • 如果判断错了,最多愿意付出多大代价?

生成器可以产出一篇可读报告,同时要产出机器能继续处理的对象。每一个结论都要落到字段里。没有证伪条件的判断,不进入决策对象;没有来源的事实,不进入证据字段;没有期限的预测,不能算预测。

以后回看时,不再只问“这篇文章写得怎么样”,而是逐字段检查当时的判断。

评估器

市场每天都在变化,但价格不是直接答案。

如果某个标的买完后涨了,不能立刻说生成器做对了。可能是市场风格切换,可能是行业一起上涨,也可能只是流动性推高估值。反过来,短期下跌也不一定说明原假设错了。

评估器要把反馈拆成几类。

事实评估

财报、公告、经营数据、行业数据和管理层指引,用来检查报告里的事实判断。

  • 收入是否符合原来的区间?
  • 毛利率、费用率、现金流有没有按预期变化?
  • 用户、订单、库存、价格、成本有没有改变?
  • 原来认为稳定的业务变量是否出现了裂缝?

事实评估不等价格确认。关键事实变了,市场暂时没反应,也要更新判断。

市场评估

价格只在比较中才有意义。

  • 它是绝对上涨,还是相对行业上涨?
  • 它是公司自己的变化,还是大盘和行业一起变化?
  • 估值变了,盈利预期有没有变?
  • 波动变大,是因为新事实,还是因为风险偏好下降?
  • 成交量和持仓结构有没有说明市场参与者变了?

市场评估的任务不是追涨杀跌。它要识别市场正在重新定价哪一部分假设。

过程评估

过程评估看的是生成器当时有没有偷懒。

  • 有没有把叙事当事实?
  • 有没有遗漏已经公开的重要反证?
  • 有没有只找支持材料,不找反面材料?
  • 有没有写清楚期限和证伪条件?
  • 有没有把估值区间写成一个看起来精确的目标价?

这部分很像代码里的测试失败。不是结果错了才有问题,输入和检查条件写得含糊,本身就是问题。

校准评估

如果生成器说某个判断有 70% 把握,长期看,类似判断应该大约命中 70%

单次投资看不出来,十次、二十次以后可以看出来。一个总是把 55% 写成 80% 的系统,会让仓位过大;一个总是把 80% 写成 50% 的系统,会让好机会留不住。

校准评估不追求每次都准,它追求置信度不要长期失真。

优化器

优化器不应该直接优化“下次推荐的股票要涨”。

这个目标太危险。市场噪声太大,短期结果太容易诱导系统学坏。它可能学会迎合热门叙事,学会写更激进的结论,学会把运气包装成能力。

优化器真正该改的是生成器的工作方式:

  • 修改研究模板;
  • 增加必须检查的数据源;
  • 增加反证搜索步骤;
  • 调整估值情景里的默认参数;
  • 改写仓位规则;
  • 增加风险检查清单;
  • 把失败案例加入反例库;
  • 对某类行业使用不同的分析框架。

如果一次失败只留下“市场不可预测”,系统没有进步。

如果一次失败让下一次研究多检查一个字段、少相信一种叙事、提前写清一个退出条件,这次失败才进入了系统。

量化场景

如果做量化,Agent 的位置会更靠近执行,但仍然不应该让大模型临场下单。

更稳的分工是:

Research Agent

Strategy Object

Backtest Engine

Risk Engine

Execution Engine

Audit Agent

Research Agent 生成策略假设。Strategy Object 把假设写成可回测规则。Backtest Engine 用确定性程序跑数据。Risk Engine 检查回撤、杠杆、流动性、相关性和容量。Execution Engine 只执行通过规则的订单。Audit Agent 记录每一步为什么发生,后来哪里偏离了原计划。

在这里,Agent 可以参与很多事情:

  • 提出因子假设;
  • 写回测实验;
  • 检查数据异常;
  • 解释策略失效;
  • 生成盘后复盘;
  • 比较不同版本策略的变化;
  • 把执行日志整理成下一轮改进建议。

但下单动作最好交给确定性系统。投资里最怕的不是系统保守,而是人在看不懂系统为什么动作时,还继续相信它。

第一版系统

第一版不用自动交易,也不用一开始就接很多数据源。

先让每一次判断都留下一个决策对象:

id:
asset:
date:
horizon:
thesis:
evidence:
counter_evidence:
valuation:
scenario:
invalidation:
watchlist:
position_rule:
risk:
confidence:
decision:
review_schedule:

然后让评估器在固定时间回看:

  • 哪些事实已经更新?
  • 哪些假设被加强?
  • 哪些假设被削弱?
  • 哪些证伪条件被触发?
  • 价格变化来自公司、行业、大盘,还是估值?
  • 当初的置信度是否过高?
  • 下一次生成器要改哪个字段?

这个系统最初不需要聪明。它只要做到一件事:让每一次投资判断都能被后来的人和 Agent 重新打开。

等积累了几十个决策对象,再谈优化才有意义。那时优化器面对的不是一堆情绪化复盘,而是一组有字段、有期限、有证据、有失败痕迹的训练样本。

这才可能让 Agent 投资系统从“会写报告”,慢慢变成“会改进自己的研究方式”。