2026-04-06 15:47:33 +08:00
|
|
|
|
# AI交易竞技场
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
`AI交易` `强化学习` `LLM` `加密货币` `技能提取` `多智能体`
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
|
|
|
|
|
# Agent Arena
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
**AI 能通过观察 AI 交易来学习交易吗?**
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
一个探索自主 AI 学习的实验平台。多个 LLM 交易员在模拟加密货币期货市场上竞争(使用 Binance 实时行情数据),同时一个观察者智能体监视每一个决策和结果,识别获胜模式,并将其编写为可复用的技能。
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
> **注意:** 这是一个模拟交易仿真——不涉及真实资金。
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 实验内容
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
核心问题:AI 能否仅通过观察其他 AI 交易来提取交易知识?
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
┌─────────────────────────────────────────────────────────────────┐
|
|
|
|
|
|
│ AGENT ARENA │
|
|
|
|
|
|
├─────────────────────────────────────────────────────────────────┤
|
|
|
|
|
|
│ │
|
2026-04-06 19:01:37 +08:00
|
|
|
|
│ AI 交易员(GPT、Llama、Qwen) │
|
2026-04-06 15:47:33 +08:00
|
|
|
|
│ │ │
|
|
|
|
|
|
│ ▼ │
|
2026-04-06 19:01:37 +08:00
|
|
|
|
│ ┌─────────────┐ Binance 实时 ┌──────────────┐ │
|
|
|
|
|
|
│ │ 决策 │ ◄─── 行情数据 │ 结果 │ │
|
2026-04-06 15:47:33 +08:00
|
|
|
|
│ └──────┬──────┘ └──────┬───────┘ │
|
|
|
|
|
|
│ │ │ │
|
|
|
|
|
|
│ └──────────────┬───────────────────┘ │
|
|
|
|
|
|
│ ▼ │
|
|
|
|
|
|
│ ┌─────────────────┐ │
|
2026-04-06 19:01:37 +08:00
|
|
|
|
│ │ 观察者智能体 │ │
|
|
|
|
|
|
│ │ (监视一切) │ │
|
2026-04-06 15:47:33 +08:00
|
|
|
|
│ └────────┬────────┘ │
|
|
|
|
|
|
│ ▼ │
|
|
|
|
|
|
│ ┌─────────────────┐ │
|
2026-04-06 19:01:37 +08:00
|
|
|
|
│ │ 习得技能 │ │
|
|
|
|
|
|
│ │(Markdown + │ │
|
|
|
|
|
|
│ │ 向量嵌入) │ │
|
2026-04-06 15:47:33 +08:00
|
|
|
|
│ └────────┬────────┘ │
|
|
|
|
|
|
│ ▼ │
|
|
|
|
|
|
│ ┌─────────────────┐ │
|
2026-04-06 19:01:37 +08:00
|
|
|
|
│ │ 技能感知智能体 │ │
|
|
|
|
|
|
│ │ 应用习得的 │ │
|
|
|
|
|
|
│ │ 交易智慧 │ │
|
2026-04-06 15:47:33 +08:00
|
|
|
|
│ └─────────────────┘ │
|
|
|
|
|
|
│ │
|
2026-04-06 19:01:37 +08:00
|
|
|
|
│ "交易竞技场是实验室,观察者是科学家" │
|
2026-04-06 15:47:33 +08:00
|
|
|
|
└─────────────────────────────────────────────────────────────────┘
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 工作原理
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
1. **AI 交易员** — LLM 智能体(GPT、Llama、Qwen)每 5 分钟基于真实行情数据自主做出交易决策
|
|
|
|
|
|
2. **观察者智能体** — 使用 Claude Opus 分析数千个决策及其结果
|
|
|
|
|
|
3. **技能提取** — 获胜模式被提炼为带统计置信度的版本化技能
|
|
|
|
|
|
4. **知识复用** — 技能感知智能体通过语义搜索检索并应用习得的知识
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 快速开始
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-04-06 19:01:37 +08:00
|
|
|
|
# 安装
|
2026-04-06 15:47:33 +08:00
|
|
|
|
pip install -e ".[dev,api]"
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
# 配置环境
|
2026-04-06 15:47:33 +08:00
|
|
|
|
cp .env.example .env
|
2026-04-06 19:01:37 +08:00
|
|
|
|
# 填入你的 API 密钥:ANTHROPIC_API_KEY、OPENAI_API_KEY、TOGETHER_API_KEY
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
# 启动带仪表盘的 API 服务
|
2026-04-06 15:47:33 +08:00
|
|
|
|
uvicorn agent_arena.api.app:app --reload --port 8000
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
# 启动前端(另开终端)
|
2026-04-06 15:47:33 +08:00
|
|
|
|
cd frontend && npm install && npm run dev
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
# 触发观察者分析
|
2026-04-06 15:47:33 +08:00
|
|
|
|
curl -X POST http://localhost:8000/api/observer/analyze
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 智能体层级
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
| 层级 | 用途 | 智能体 |
|
|
|
|
|
|
|------|------|--------|
|
|
|
|
|
|
| **学习层** | 应用并改进技能 | 技能感知交易员、纯技能交易员 |
|
|
|
|
|
|
| **数据生成层** | 生成决策/结果数据 | GPT-4、Qwen、Llama、DeepSeek |
|
|
|
|
|
|
| **基准层** | 基准测试(无 LLM 成本) | 技术分析机器人、指数基金 |
|
|
|
|
|
|
| **观察层** | 提取模式、编写技能 | Claude Opus |
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 技术栈
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
- **后端:** Python、FastAPI、LangGraph
|
|
|
|
|
|
- **大模型:** Claude、GPT、Llama、Qwen(通过 Together AI)
|
|
|
|
|
|
- **数据库:** SQLite(默认)或 PostgreSQL + pgvector(用于语义技能检索)
|
|
|
|
|
|
- **前端:** React、TypeScript、Tailwind、Recharts
|
|
|
|
|
|
- **实时通信:** WebSocket 实时更新
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 技能系统
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
观察者智能体将习得的模式以结构化 Markdown 技能文件的形式保存:
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
skills/
|
2026-04-06 19:01:37 +08:00
|
|
|
|
├── trading-wisdom/ # 核心洞察
|
|
|
|
|
|
├── market-regimes/ # 特定市场状态策略
|
|
|
|
|
|
├── risk-management/ # 仓位管理、止损
|
|
|
|
|
|
└── entry-signals/ # 带成功率的入场信号
|
2026-04-06 15:47:33 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
技能特性:
|
|
|
|
|
|
- 在 PostgreSQL 中以内容哈希进行版本管理
|
|
|
|
|
|
- 通过向量嵌入支持语义搜索(pgvector)
|
|
|
|
|
|
- 随着模式被验证或推翻而持续优化
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 项目结构
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
agent_arena/
|
2026-04-06 19:01:37 +08:00
|
|
|
|
├── core/ # 稳定核心(竞技场、运行器、模型)
|
|
|
|
|
|
├── agents/ # 智能体实现
|
|
|
|
|
|
│ ├── observer_agent.py # 观察与学习
|
|
|
|
|
|
│ ├── skill_aware_*.py # 应用习得技能
|
|
|
|
|
|
│ ├── learning_*.py # 基于 RAG 的学习
|
|
|
|
|
|
│ └── *_trader.py # 数据生成交易员
|
|
|
|
|
|
├── agentic/ # LangGraph 工具与记忆
|
|
|
|
|
|
├── providers/ # Binance 行情数据
|
2026-04-06 15:47:33 +08:00
|
|
|
|
├── storage/ # SQLite & PostgreSQL
|
|
|
|
|
|
└── api/ # FastAPI + WebSocket
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
frontend/ # React 仪表盘
|
|
|
|
|
|
skills/ # 习得的交易技能
|
|
|
|
|
|
configs/ # 竞争配置
|
2026-04-06 15:47:33 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 配置
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
参见 `configs/lean_diverse.yaml`,这是一个成本优化配置(约 5 美元/天),包含 11 个智能体。
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
## 许可证
|
2026-04-06 15:47:33 +08:00
|
|
|
|
|
2026-04-06 19:01:37 +08:00
|
|
|
|
MIT
|