ATLAS autoresearch循环完全解析:提示词修改→5天实战检验→git提交或回滚
【免费下载链接】atlas-gicATLAS by General Intelligence Capital — Self-improving AI trading agents using Karpathy-style autoresearch项目地址: https://gitcode.com/gh_mirrors/at/atlas-gic
ATLAS 是一个开源的自我改进 AI 交易智能体框架(由 General Intelligence Capital 构建),它将 Karpathy 的 autoresearch 自优化循环移植到金融市场:AI 交易提示词就是"权重",夏普比率就是"损失函数"。系统会自动找到表现最差的交易 Agent,生成一条针对性的提示词修改,用 5 个交易日实盘检验效果,然后决定git 提交保留还是git 回滚放弃。本文带你完全解析这条让 AI 自我进化的 autoresearch 循环。
ATLAS autoresearch:把"提示词"当成模型权重
传统 AI 训练里,模型权重藏在神经网络里;而在 ATLAS 中,每个交易 Agent 的提示词文件本身就是被优化的权重。这是它对 Karpathy autoresearch 思路的一次大胆改写:
| Karpathy 原版 | ATLAS 交易版 |
|---|---|
Agent 修改train.py | Agent 修改提示词文件 |
| 5 分钟 GPU 训练 | 5 个交易日实盘观察 |
| 检查验证集 loss | 检查 Agent 夏普比率 |
| 保留或回滚 | git 提交或 git 回滚 |
一句话总结这个设计:提示词即权重,夏普即损失函数,git 即实验记录本。不需要 GPU,一台每月 20 美元的云服务器就能跑完整套自进化系统。完整的概念对比可以在 architecture/autoresearch.md 中找到。
autoresearch 自优化循环:6 步全流程
整条循环由系统自动驱动,每一步都有明确的输入和输出:
- 定位差生🎯:扫描全部 25+ 个交易 Agent,找出滚动夏普比率最低的那一个(同一 Agent 每 5 天最多改一次,防止过度调参)。
- 生成修改:让 Claude 复盘该 Agent 最近的推荐记录,找出它"错在哪种模式上",然后只提出一条针对性修改——比如"在板块走弱时禁止高信心做多"。
- 建分支实验🌿:为这次修改创建独立 git 特性分支(如
autoresearch/financials-momentum-filter),不影响主线。 - 实战检验⏳:带着新提示词真实运行 5 个交易日,期间每条推荐都会被记录并跟踪 1 天 / 5 天 / 20 天前瞻收益。
- 结算判定⚖️:5 天后计算新夏普比率,与修改前对比。
- 提交或回滚:改善了就
git merge保留,没改善就git reset删掉分支,回到上一版本。
然后从第 1 步重新循环。循环流程图的原始定义见 architecture/autoresearch.md#L16-L41。
夏普比率作损失函数:AI 交易 Agent 如何被打分
系统如何客观判断一次修改"好不好"?核心是滚动夏普比率计算(实现逻辑参考 architecture/autoresearch.md#L54-L69):
- 每条推荐都记录:标的、方向(做多/做空)、信心度(1-100)、推荐时入场价;
- 前瞻收益按信心度加权(信心 90 的推荐比信心 30 的权重高得多),做空则取反;
- 取最近 60 天的加权收益计算夏普:
均值 / 标准差。
这个损失函数有个巧妙之处:高信心犯的错会被重罚。Agent 不能靠"什么都半信半疑"来混日子,必须要么更准、要么更克制——正是这种压力逼出了提示词里的风控规则。
5 天实战检验:git 分支就是天然的 A/B 实验场
autoresearch 循环里最工程化的部分是版本控制的用法。每次修改都是一次受控实验:
# 1. 为修改创建特性分支 git checkout -b autoresearch/financials-momentum-filter # 2. 修改提示词文件并 commit git commit -m "autoresearch: add momentum filter to financials" # 3. 五天后的判决 # 夏普改善 → git merge 保留修改 # 夏普未改善 → git branch -D 删除分支这套流程带来了三个好处:
- 可回滚:任何一次失败的修改都能被完整撤销,系统永远不会"越改越乱";
- 可审计:git 历史就是一本完整的实验日志——试过什么、为什么、结果如何,一目了然;
- 互不干扰:主线交易照常运行,实验在分支上进行,风险被隔离。
回测数据:54 次提示词修改,30% 存活率
在 378 个交易日的回测(2024-09 至 2026-03)中,autoresearch 循环交出的成绩单相当真实(统计来源:results/summary.json):
| 指标 | 数值 |
|---|---|
| 提示词修改尝试 | 54 次 |
| 保留(夏普改善) | 16 次(30%) |
| 回滚(无改善) | 37 次(70%) |
70% 的修改被否决——这正是这套机制健康的证明。如果每次修改都"有效",说明损失函数失效了。逐条修改记录可以查看 results/autoresearch_log.json。
被反复修改最多的 Agent 中,最典型的是金融板块 Agent(financials),它的夏普比率经过两轮 autoresearch 修改:
| 修改日(回测第 N 天) | 修改内容 | 夏普变化 |
|---|---|---|
| 第 331 天 | 加入市场择时与技术确认要求 | -4.14 → -1.11 ✅ |
| 第 335 天 | 加入防御性覆盖规则,板块走弱时禁止看多 | -1.11 →0.45✅ |
从深度亏损区(-4.14)一路修到正值(0.45),提示词里长出来的规则如"DXY 高于 119 时禁止任何新兴市场做空""板块下跌中禁止高信心做多",全是市场真金白银教出来的风控纪律,没有任何一行是人类手写的。
达尔文权重:autoresearch 之外的第二进化引擎
除了改写提示词,ATLAS 还有一个并行的进化机制——达尔文权重:每个 Agent 有一个 0.3~2.5 之间的影响力权重,每天盘后按表现排名更新(前 25% 名 ×1.05,后 25% 名 ×0.95),CIO(首席投资官)按权重合成最终决策。
回测结束后出现了一个耐人寻味的结果 📉:CIO 自身被降到了全场最低权重 0.3。系统独立发现——信号生成不是瓶颈,组合管理才是。个体 Agent 都变聪明了,但把信号变成头寸的编排层拖了后腿。这个发现比任何单次夏普提升都更有价值。
快速上手:从哪开始读代码和数据
如果你是第一次接触这个项目,推荐这条阅读路径:
| 想了解 | 看这里 |
|---|---|
| autoresearch 循环完整设计 | architecture/autoresearch.md |
| 378 天回测汇总数据 | results/summary.json |
| 逐条修改实验日志 | results/autoresearch_log.json |
| 源码模块结构说明 | src/README.md |
| 交易 Agent 提示词结构示例 | prompts/examples/sector_desk.md、prompts/examples/macro_agent.md |
| 面向模拟未来的训练器实现 | src/mirofish/mirofish_trainer.py |
想本地跑起来的话,先克隆仓库:
git clone https://gitcode.com/gh_mirrors/at/atlas-gic写在最后
ATLAS 的 autoresearch 循环给所有 LLM 应用开发者一个通用启示:当模型无法微调时,提示词就是你唯一可优化的权重。给它一个客观的损失函数(夏普比率)、一个隔离的实验场(git 分支)、一个诚实的裁判(5 天实盘数据),AI 就能自己发现"我错在哪",并且只保留真正有效的改动。
30% 的修改存活率、一条从 -4.14 修到 0.45 的 Agent 进化轨迹、一个系统自己发现的"CIO 才是瓶颈"的洞察——这套循环的价值不在于每次都改对,而在于它永远在改,且从不留后患🚀
【免费下载链接】atlas-gicATLAS by General Intelligence Capital — Self-improving AI trading agents using Karpathy-style autoresearch项目地址: https://gitcode.com/gh_mirrors/at/atlas-gic
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考