用一句大白话驱动一整套研究流程,实际是什么体验
- 分得清「AI 直接给你一个结论」和「AI 把每一步做成可运行、可翻查、可重来的东西」这两种产品形态,以及它们对你意味着什么
- 看懂一次研究运行被留下的那张「出生证明」里记的是什么,为什么配置和策略源码要留指纹
- 学会用三个问题去验收任何一份 AI 给你的研究结论,即使你从不安装任何这类工具
你敲了一句话进去:「帮我看看某类均线策略在过去几年表现怎么样,跑个回测,把回撤和收益总结一下,出份报告。」
四十秒后,报告出来了。图、表、结论,齐活。
然后你干了一件很自然的事——你想核一下报告里的某个数字。比如那个最大回撤,是按什么口径算的?用的是哪个数据源的行情?除权那天的价格处理过没有?
你翻了翻聊天记录。往上滚,滚过一堆刷屏的日志,什么都没找着。那个数字就孤零零地待在报告里,前面没有出处,后面没有脚注。
这一刻你面对的,不是「AI 靠不靠谱」的问题,是一个更朴素的问题:这个东西,我怎么复核?
这篇讲的就是一个开源项目对这个问题给出的答案。它叫 Vibe-Trading,做的事情听上去很时髦——用日常语言驱动一整套投研流程。但真正值得你花时间看的,不是「能用大白话指挥它」这个卖点,而是它为了让这句大白话产生的结果能被复核,在设计上付出了什么代价。
那句话怎么说的,你已经在无数产品宣传里见过了。而愿意为「复核」多做几步的产品,很少。
先说人话:两种帮你办事的人
你委托一个朋友替你办一件麻烦事。比方说,你要给家里换一套东西,懒得跑,托他帮你比价、挑一家、定下来。
三天后他回来了。这里有两种回法。
第一种:他往沙发上一坐,说,跑了几家,就选那家吧,性价比最高。你问为什么,他说,反正我看下来就它合适。
第二种:他递给你一个牛皮纸袋。里面是他跑的每一家的原始报价单,日期都在上面;一张他自己手写的比较表,写着他按什么排序、每一项他给了多大权重;还有一张便签,上面列着三条他自己也拿不准的事——某家的售后条款他没看懂,某家的价格是限时的,另一家的现货他没亲眼见着。
这两个朋友花的时间可能一样多,结论甚至可能一模一样。 但它们对你的价值差着一个数量级。
差在哪?差在三件事上。
一是能复核。第二种给的结论你可以自己重看一遍,发现他把某一项的权重给高了,你能就这一项跟他掰扯,而不是笼统地怀疑他这个人。
二是能重来。半年后你要再换一批东西,第二种朋友的比较表你可以直接抄过来改。第一种朋友半年后自己都想不起来当时为什么选那家了。
三是不确定的地方被标了出来。第一种朋友心里其实也有那三条拿不准,但他没说——不是他想瞒你,是「结论」这个形式天然容不下含糊。你逼他给一句话,他就只能把含糊咽回去。
记住第三条。它在后面会变成整篇文章里最要命的那个点。
投资层:为什么在投研里,这个差别是生死线
换到你的投资上,第一种朋友有个更常见的名字:你自己上个月的判断。
你上个月买了点什么,当时你心里是有一套理由的。现在这笔亏了 12%。你回头想,为什么当时觉得它行来着?你想起了三条理由,但你不确定这三条是当时真的想过的,还是现在为了给自己一个交代临时凑的。
这就是「只留结论、不留过程」的代价,而且它不是记性问题。它导致三件具体的坏事。
第一,你没法归因。 赚了不知道为什么赚,亏了不知道为什么亏。一个不能归因的过程,跑一百次和跑一次的信息量是一样的——你什么都学不到。这件事在 业绩归因 里讲得更细。
第二,你分不清「市场变了」和「我换了口径」。 同一个想法你隔半年跑两遍,结果不一样。是这半年市场真的变了,还是你这次不小心换了一段时间区间、换了个数据源、把手续费假设从万三改成了万五?如果第一次的过程没留下来,这两种可能你永远区分不了。而这两件事该做的应对完全相反——一个该改想法,一个该改流程。
第三,也是最隐蔽的:你没法把 AI 的错误和你自己的错误分开。 一份 AI 出的报告,你照着做了,结果不好。到底是它把数取错了、算错了、还是它算得都对只是这个想法本来就不行?如果中间的东西一样都没留下,这三种情况在你眼里长得一模一样,你只会得出一个笼统的结论——「AI 做投研不靠谱」,或者更糟,「这次运气不好」。
一个 AI 给的结论,如果不能被拆开看,它的可信度不是「有点低」,而是根本没法评估。这跟它对不对无关。让 AI 说的话能被核实 那篇讲的是怎么核单个说法,这里讲的是更上一层:整个流程得先有能被核的东西,你才谈得上核。
系统层:把一句话横着切开,每段之间都留个东西
现在看这个项目怎么做。
它的官方文档里,开头位置有一句话,是整套设计的立论基础。大意是:目标不是取代你的判断,而是让每一个研究步骤都变得可运行、可翻查、容易重来——原文里那几个形容词是 "runnable, inspectable, and easy to repeat"。
这句话听着平淡,但它其实是在拒绝一样东西。它拒绝的正是这类产品最好卖的那个形态:你问一句,它答一句,中间发生了什么你别管。
它的做法是把「问一句答一句」这件事,横着切成几段。文档里把这条路径描述成一条大致固定的顺序:先把请求路由到该用的能力上,再去把需要的市场数据和文档拉齐,然后才是生成能跑的策略代码、调用工具、执行回测,接着是验证这一环——加指标、比基准、上蒙特卡洛和滚动前推这类检验——最后才是交付报告和各种可导出的东西。
关键不在于它切成了几段,而在于每两段之间都有一个你能拿在手上的东西。
这跟你想象中的「AI 一口气给你干完」是两种东西。一口气干完的那种,中间是一片黑箱;切成段的这种,中间是一串可以单独打开检查的物件。代价也在这儿:它更慢、更啰嗦,而且经常在中间某一步就停下来告诉你数据不够、条件不明确,让你觉得不如那种一句话就给答案的爽快。
这个代价是主动付的,不是没做好。
它最硬的三个取舍
取舍一:给每次运行留一张「出生证明」
它的回测跑完,除了那些图表,还会额外生成一张运行卡(run card)。
这张卡里记的东西,翻译成投资的语言,大概是这么几类:
- 这次跑的是什么:标的范围、起止时间、周期、初始资金、用了哪套引擎、数据从哪来。
- 两个指纹:一个是这次的全套配置算出来的指纹,一个是这段策略源码本身算出来的指纹。
- 结果:那些标量指标。
- 验证环节的产出:如果做了额外检验,检验结果单独挂在卡上。
- 警告:这次运行过程中系统自己发现的可疑之处,写进卡里。
- 产出清单:这次跑出来的文件都有哪些。
前面那两个指纹,是这张卡最值钱的部分,也最容易被当成技术细节滑过去。
指纹的作用是这样的:三个月后你翻出这次的结果,觉得挺好,想在新数据上再跑一遍。你手上现在的配置和策略代码,跟当时那次是不是同一份?靠记忆是答不了的——你中间改过七八次,每次都觉得是小改。有了指纹,这个问题变成一个可以当场比对的事实。
不一样就是不一样,没有「差不多」这个选项。 这一条,恰恰是绝大多数人自己做研究时最没有的东西。你翻出半年前的表格,第一反应永远是「应该是那版吧」。
那条「警告」也值得单说。系统在跑的过程中发现了什么不对劲——某段数据有缺口、某个假设可能不成立——这些提示跟着产物走,而不是在终端里刷过去两行就没了。这是一个很小的设计,但它对应的是投资里一个很老的毛病:风险提示总是在最容易被忽略的地方出现。把提示钉在产物上,它就没法被时间冲掉。
取舍二:凡是要求「可重复」的部分,从模型手里拿走
这一条是全篇最值得你记住的。
这个项目里有一个研究假设的登记簿——你冒出来的每个想法,可以被登记成一条记录,带着状态往前走。它的代码文件开头有一句自述,说这个登记簿是故意做小的:本地存文件、读出来是确定的、不依赖大模型、也不依赖任何实盘服务。
停下来想想这句话的分量。
这是一个通篇都在用大模型的项目。它的卖点就是大模型。但在「记住你想过什么」这件事上,它把模型排除在外了。
为什么?因为大模型天然给不了确定性。同一段输入问两次,它可能给你两个措辞不同、重点不同、甚至结论不同的回答。这个特性在「帮你想」的环节是优点——你要的就是它换个角度;但在「帮你记」的环节是灾难。一份三个月前的研究档案,如果每次打开长得都不一样,那它就不叫档案。
于是这个系统内部实际上有一条隐形的分界线:
- 需要灵活、需要联想、需要换角度的活,交给模型。
- 需要一字不差、需要每次一样、需要能当证据用的活,交给普通代码。
这条线怎么画,比模型用得多不多重要得多。 你以后评估任何一个 AI 工具,都可以拿这条线去量它:它有没有这条线?画在哪儿?如果一个工具连「你上次说过什么」都要靠模型去回忆,那它给你的任何一致性都是碰运气。
取舍三:一个想法是有状态的,不是一次性的问答
登记簿里的每条想法,带着一个状态。大意是这么几档:还在探索、正在测试、已经验证、已被否决、进入持续观察。(具体怎么命名以你手上版本的说明为准,这里说的是它体现的意思。)
这几档状态背后是一个很朴素但很少有人真做到的观念:一个投资想法不是「问一次、得一个答案、然后结束」,它是一个会在时间里移动的东西。
尤其注意「已被否决」这一档。被否决的想法留在册子里,不删。
这一条太反人性了,值得展开。人做研究的默认动作是:验证成功的留下来当经验,验证失败的悄悄扔掉。结果就是你的经验库里全是成功案例,你对自己判断力的印象被系统性地抬高了。而真正能让你进步的信息,恰恰在被你扔掉的那一堆里——你以为会有效但实际没有的那些想法,才是你认知偏差的分布图。
还有「持续观察」这一档也有意思。它承认了一件事:验证通过不等于永久有效。一个当时成立的规律,过几年可能就不成立了。把它放在观察态而不是完成态,等于在流程里预留了「它会失效」这个假设。这跟 策略为什么会失效 讲的是同一件事,只不过这里是把它固化成了一个状态位。
别把「可复现」当成「正确」
这套东西的价值真实存在,但它的边界也必须说清楚,否则就变成了另一种迷信。
可复现不等于正确。 指纹对得上,只说明你这次跑的和上次跑的是同一个东西。如果上次那个东西本身就错了——数据源有偏、假设不成立、想法根本不成立——那你现在能做的只是精确地重现同一个错误。这就像一台校准过的秤,它保证每次称同一袋米读数一样,但它不保证这袋米没发霉。
大白话降低的是操作门槛,不是判断门槛。 你不用学编程就能让它跑出一条曲线,这是真的。但那条曲线好不好、值不值得信,需要的判断力一点没少。这件事在 用大白话让 AI 写策略,它替你猜掉的正好是最要命的部分 里被拆得很细——那篇讲的是「你没说的部分它替你填了」,跟本篇是一枚硬币的两面:本篇讲这套系统怎么努力把「它替你填了什么」留下痕迹,那篇讲哪些痕迹哪怕留下来了你也看不懂。
步骤多了,人反而更容易只看最后一页。 这是个很真实的反效果。一份带完整过程的报告,比一句结论长十倍,绝大多数人的实际行为是直接翻到末尾。如果你是这么用的,那前面所有的可复核设计对你来说等于不存在——你付出了慢的代价,没拿到任何好处。相关的失真机制在 多个智能体一起干活,怎么不打架 里有更完整的讨论。
最后,涉及真钱的那一段要单独说。 这个项目本身把定位讲得很直白:它是给研究、模拟、回测用的;任何接触真实账户的能力都是你自己主动开启、通过你自己授权的券商通道走的,有你自己设的限额,随时可以叫停,而且它不托管任何资金,也不构成投资建议。这个边界是它自己划的,划得算清楚——关于这条边界具体怎么设计,本站另有一篇 一个 AI 交易项目的边界是怎么划的 专门讲。
这里只强调一句:一套流程做得再规整,也不改变自动交易本身的风险。 流程规整意味着你出的错更容易被查清楚,不意味着你更不容易出错。这两件事经常被混为一谈,而混淆的代价是真金白银的。
顺带说明:本篇读的是这个项目某个时间点的源码与文档快照,不是一次跑通的实际运行;它的迭代非常频繁,你现在看到的形态很可能和这里描述的有出入。所以本篇通篇讲的是设计思路,不涉及任何具体的安装与配置——那些东西的保质期以周计。
你能从这个标本上拿走的三个问题
就算你这辈子不装任何一个这类工具,下面这三个问题也能直接用在任何一份别人(或者 AI)给你的研究结论上。
第一问:这个结论能重跑吗? 不能重跑的结论,本质上是一个观点,不是一个研究成果。观点也有价值,但你得知道你手上的是哪一种。
第二问:重跑一遍,我能确认用的是同一套输入吗? 这就是指纹那件事的日常版。别人给你一份表格,你问一句「这用的是哪天更新的数据、什么口径」,如果对方要想一会儿才能答上来,那这份表格的可重复性大概是零。
第三问:它自己标出来的不确定,在哪儿? 一份通篇没有任何「这里我不确定」的研究报告,不是因为它做得完美,是因为它把不确定藏了。你要主动去找那张便签。找不到,就自己动手补一张——把你觉得最没底的三条列出来,写在结论旁边。
这三问的共同点是:它们都不需要你懂技术,只需要你不接受「就这样,你信我」。
说到底,这篇讲的那个项目,最值得学的不是它能用大白话驱动,而是它选择了一条更慢的路:宁可让你多等一会儿、多看几页,也不给你一个干干净净、无从查起的答案。
一个能追着问的答案,哪怕是错的,也比一个查无对证的正确答案对你更有用。 因为错的那个你能改,查无对证的那个,你连从哪儿改都不知道。
本文为投资教育整理,关键数据与结论请结合下列权威来源验证。
- Vibe-Trading 官方文档站 wiki/docs/content.js 中 Vibe-Trading overview 一节的项目定位与边界声明(本地仓库快照 commit 3a752d5,2026-08-04,仅阅读源码与文档作概念注解,未实际运行) ↗
- Vibe-Trading README_zh.md 的项目定位、研究工作流分层表与 Disclaimer 一节(同一快照 3a752d5) ↗
- Vibe-Trading 源码 agent/backtest/run_card.py(运行卡记录了哪些内容)、agent/src/hypotheses/registry.py(研究假设登记簿的模块说明与状态取值)(同一快照 3a752d5) ↗
- 本站已有篇目:/guide/quant-ai-ziran-yuyan-celve/、/guide/quant-ai-duo-zhineng-ti/ ↗