文档

技术文档

架构、Agent 设计、API、SDK、PoC 代码、技术选型

📋 产品概览

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.mdproduct/技术选型决策树.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 不能修改用户风控参数,所有决策可审计。