📋 产品概览
AI Agent 策略广场是一个连接策略创作者和普通用户的平台:
- 🎨 策略创作者:3 种方式创建策略上架广场,赚订阅费 85%
- 🏪 平台:管理广场 + 提供 Agent + 风控 + BinanceRouter,赚两类手续费
- 👤 普通用户:订阅策略 + Agent 自动执行,可升级为创作者
平台两类手续费:① 交易手续费分成(Binance 0.1% × 20% = 0.02%)、② 策略订阅费抽成(15%)。
🏗️ 系统架构
前端(React + TypeScript)
↓
API Gateway(Kong + 认证 + 限流)
↓
业务服务(NestJS + FastAPI)
├─ 用户服务(注册 + Binance API Key 加密 + 角色管理)
├─ 策略服务(3 种创建模式 + YAML 引擎 + 沙箱 + 审核流程)
├─ 创作者服务(上架 + 分账 + 声誉)
├─ Agent 服务(5 类 Agent)
├─ 风控服务(3 层风控)
└─ BinanceRouter 服务(对接 + 限流 + 降级 + 手续费扣点)
↓
数据层(PostgreSQL + Redis + ES + InfluxDB + Kafka)
详细架构见 product/技术架构与实现路线.md
🤖 5 类 Agent
① 自然语言解析 Agent
服务对象:创作者。中文描述 → 结构化 YAML 策略 + 风险提示。
# 创作者输入
"BTC 跌 5% 就帮我定投 100U,止损 10%"
# Agent 输出 YAML
strategy:
trigger: {type: PRICE_DROP, threshold: 5%}
action: {type: DCA, amount: 100U}
risk_control: {stop_loss: 10%}
② 可视化配置 Agent
辅助创作者拖拽组件 + 参数校验 + 冲突检测。生成同样的 YAML。
③ 代码审核 Agent
审核创作者上传的 Python 代码:AST 安全分析 + 沙箱回测 + 上架审核。
④ 策略执行 Agent ⭐核心
服务对象:普通用户。7×24 监控市场 + 触发条件 + 风控 + 调 BinanceRouter 下单。
# 执行 Agent 工作流
1. check_trigger(strategy) # 检查触发条件
2. check_risk(signal) # 3 层风控
3. place_order_via_router() # 调 BinanceRouter
4. record_platform_fee() # 记录平台手续费
5. notify_user() # 通知用户
⑤ 策略优化 Agent
服务对象:创作者。定期分析策略表现 + 建议调参。
📊 策略 YAML 结构
strategy:
name: "BTC 跌5定投"
creator_id: "c_001"
subscription_fee: 50 # USDT/月
trigger:
type: PRICE_DROP
symbol: "BTCUSDT"
threshold_pct: 5
window_hours: 24
action:
type: DCA
symbol: "BTCUSDT"
amount_usdt: 100
order_type: MARKET
risk_control:
stop_loss_pct: 10
take_profit_pct: 30
max_position_pct: 50
max_leverage: 3
触发条件类型
PRICE_DROP / PRICE_RISE - 价格涨跌
PRICE_CROSS - 价格突破均线
TIME_BASED - 时间触发(cron)
INDICATOR - 技术指标(RSI / MACD / MA)
动作类型
BUY / SELL - 买卖
DCA - 定投
GRID - 网格
REBALANCE - 再平衡
CLOSE_ALL - 清仓
🔗 BinanceRouter
平台自建的 Binance API 统一接入层(核心资产,不依赖任何框架)。
核心能力
- 统一接入:现货/合约/行情 API 统一封装
- 限流:API Key 池 + 限速 + 队列
- 重试:失败自动重试 3 次
- 降级:Binance 故障时切换 Backup API
- 手续费扣点:每笔交易记录 Binance 手续费,平台抽 20%
- 多交易所扩展:支持 OKX / Bybit / Coinbase
class BinanceRouter:
async def place_order(user_id, symbol, side, size):
# 1. 限流检查
await self.rate_limiter.acquire(user_id)
# 2. 调 Binance API(带重试)
order = await self.binance.place_order(...)
# 3. 记录手续费
fee = order.amount * 0.001 # Binance 0.1%
platform_fee = fee * 0.20 # 平台抽 20%
await self.fee_ledger.record(
user_id, fee, platform_fee
)
return order
🛡️ 3 层风控
① 用户层
用户自定义风险偏好 + 仓位/杠杆/止损限制。超限拒绝执行。
② 策略层
策略自带风控规则:最大回撤限制、信号频率异常、策略下架机制。
③ 平台层
全局红线:黑名单币种、异常波动暂停、API 异常保护、全局熔断。
async def check_all(signal, user_config):
# 3 层全检查
if not await check_user_risk(signal, user_config):
return REJECT("用户风控拒绝")
if not await check_strategy_risk(signal):
return REJECT("策略风控拒绝")
if not await check_platform_risk(signal):
return REJECT("平台风控拒绝")
return APPROVED
🌐 REST API
用户 API
POST /api/users/register # 注册
POST /api/users/login # 登录
POST /api/users/bind-binance # 绑定 Binance API Key
GET /api/users/risk-config # 获取风控配置
PUT /api/users/risk-config # 更新风控配置
POST /api/users/upgrade-to-creator # 申请升级为创作者
策略 API
GET /api/strategies?filter=... # 浏览策略广场
GET /api/strategies/:id # 策略详情
POST /api/strategies/subscribe # 订阅策略
POST /api/strategies/:id/simulate # 模拟订阅试跑
创作者 API
POST /api/creator/strategies # 上架策略
POST /api/creator/strategies/:id/backtest # 回测
GET /api/creator/analytics # 数据看板
GET /api/creator/earnings # 收入统计
Agent API
POST /api/agent/parse-strategy # 自然语言解析
POST /api/agent/chat # 对话 Agent
GET /api/agent/operations/:user_id # 操作日志
POST /api/agent/pause # 暂停 Agent
🐍 Python SDK
创作者用代码模式上传策略的 SDK 示例:
from platform_sdk import Strategy, Signal, Context
class DoubleMAStrategy(Strategy):
"""双均线交叉策略"""
name = "BTC 双均线"
subscription_fee = 50 # USDT/月
def signal(self, ctx: Context):
btc = ctx.symbol("BTCUSDT")
ma5 = btc.sma(5)
ma20 = btc.sma(20)
if ma5 > ma20 and ctx.position == 0:
return Signal.OPEN_LONG(
size=0.1,
stop_loss=0.05,
take_profit=0.15
)
elif ma5 < ma20 and ctx.position > 0:
return Signal.CLOSE_LONG()
return None
🔌 MCP Server
对话 Agent 调用的 MCP 工具集:
search_strategies - 按条件搜索策略
get_strategy_detail - 查询策略详情
get_user_portfolio - 查询用户持仓
get_user_pnl - 查询用户收益
update_risk_config - 修改风控参数
pause_agent - 暂停 Agent
set_temporary_stop_loss - 临时止损
explain_strategy_logic - 解释策略逻辑
⚙️ 技术栈
- 前端:React 18 + TypeScript + TailwindCSS
- 移动端:React Native
- 后端:Node.js (NestJS) + Python (FastAPI)
- AI Agent:AgentScope 2.0(多租户 + 沙箱 + Agent as Service)
- LLM:GPT-4 / Claude / Qwen
- 数据库:PostgreSQL + Redis + Elasticsearch + InfluxDB
- 消息:Kafka
- 部署:Kubernetes + Docker
- 监控:Prometheus + Grafana + ELK
🗺️ 实现路线
M1-M3:MVP(自然语言模式)
- 用户/创作者注册 + Binance API 绑定
- 自然语言解析 Agent
- 策略执行 Agent + BinanceRouter + 手续费扣点
- 策略广场 + 订阅功能
- 创作者审核 + 分账
- 验证 PMF:100 付费 + 20 创作者
M4-M6:加可视化 + 代码模式
- 可视化配置(拖拽组件)
- 代码模式(沙箱 + 量化达人)
- 策略优化 Agent
- 普通用户升级为创作者流程
M7-M12:AI 升级 + 规模化
- 自然语言交互升级
- 智能策略推荐
- Pro 订阅 + B 端 API
- 移动端 + 国际化
🎯 技术选型
推荐方案:AgentScope 2.0 为主 + 关键模块自建
AgentScope 用于:多租户、Agent 编排、沙箱(仅代码模式)
必须自建的关键模块:
- BinanceRouter(核心资产)
- 风控规则引擎(核心壁垒)
- 手续费扣点逻辑
- 用户 UI(不依赖 AgentScope)
详见 product/技术选型RFC.md 和 product/技术选型决策树.md
🧪 PoC 代码
最小可运行 Demo:创作者创建策略 + 普通用户订阅 + Agent 执行 + BinanceRouter + 平台手续费扣点。
# 运行方式
pip install agentscope openai
export OPENAI_API_KEY=sk-xxx
python product/poc/agentscope_demo.py
# 对照实现
python product/poc/langgraph_demo.py
文件路径:
product/poc/agentscope_demo.py(918 行)- AgentScope 2.0 实现
product/poc/langgraph_demo.py(336 行)- LangGraph 对照
product/poc/对比.md(370 行)- 代码量/可读性/生产就绪度对比
❓ FAQ
为什么选 AgentScope 而不是 LangGraph?
AgentScope 原生支持多租户 + 沙箱 + 部署,省 2-3 月基建。LangGraph 更灵活但全要自建。详细对比见 product/poc/对比.md。
沙箱是必需的吗?
只 10% 量化达人用代码模式需要沙箱。90% 用户用自然语言/可视化(YAML 配置),无需沙箱。
平台如何不接触用户资金?
用户用 Binance API Key 授权平台代下单(只交易权限,不提现)。资金始终在用户 Binance 账户。
如何保证 Agent 不乱下单?
3 层风控(用户/策略/平台)每笔交易前必检。Agent 不能修改用户风控参数,所有决策可审计。