Files
nofx/docs/qa/AGENT_SKILL_ACCEPTANCE_CHECKLIST.zh-CN.md
2026-04-25 16:18:45 +08:00

9.0 KiB
Raw Blame History

Agent 4 Skill 验收清单

本文档用于验收 Agent 对 4 个管理类 skill 的字段认知、工具调用和用户可见行为是否与页面编辑能力对齐。

当前范围:

  • model_management
  • exchange_management
  • trader_management
  • strategy_management

验收目标:

  • 页面上能手动改的核心字段Agent 也能稳定改
  • Agent 能回答页面上可见的字段与选项
  • 模糊请求不会被硬塞进错误 skill
  • 多字段一句话更新时,不会被窄动作截断

0. 前置条件

  • 已完成登录
  • 后端已启动
  • 至少准备 1 条可编辑的模型、交易所、交易员、策略数据
  • 测试前如果有旧上下文,先在 Agent 会话里执行 /clear

建议先跑自动化回归:

go test ./agent -run 'Test(ManageModelToolSchemaExposesEditableFields|ManageExchangeToolSchemaExposesEditableFields|ManageTraderToolSchemaExposesAdvancedFields|ManageStrategyToolSchemaExposesFieldLevelConfig|ModelManagementManualEditableFieldsAreCoveredByAgent|ExchangeManagementManualEditableFieldsAreCoveredByAgent|TraderManagementManualEditableFieldsAreCoveredByAgent|StrategyManagementManualEditableFieldsAreCoveredByAgent|ExchangeManagementUpdateSupportsManualFields|ModelManagementThinkAndActSupportsCompositeFieldUpdates|TraderManagementUpdateSupportsAdvancedManualFields|StrategyManagementThinkAndActSupportsGridAndRiskFields)'

对应测试主要在:

1. 自动化覆盖基线

通过以下检查后,才进入手工验收:

  • 4 个 skill 的 tool schema 已暴露字段级参数
  • 4 个 skill 的 manual editable field 集合都被 agent 字段目录覆盖
  • model 支持一句话同时改 enabled + custom_api_url + custom_model_name
  • exchange 支持一句话同时改 account_name + hyperliquid_wallet_addr + testnet
  • trader 支持高级字段更新
  • strategy 支持 grid/risk 多字段更新

2. Model Skill

页面参考:

核心字段:

  • provider
  • name
  • api_key
  • custom_api_url
  • custom_model_name
  • enabled

手工验收:

  • 说“列出我的模型配置”时,能列出当前模型
  • 说“这个模型的接口地址改成 xxx模型名称改成 yyy并且禁用”时能一次成功更新
  • 说“这个模型有哪些字段能改”时,回答至少覆盖 API Key / 接口地址 / 模型名称 / 启用状态
  • 说“把这个模型启用”时,不会误触发重命名流程
  • 说“把这个模型改成最好的”这类抽象诉求时,不应硬造字段值;应该解释或引导

通过标准:

  • 回复文本明确说明已更新模型配置
  • 页面刷新后字段真实变化
  • 不出现“我还需要你明确要操作哪个对象”这种错误兜底

3. Exchange Skill

页面参考:

核心字段:

  • 公共字段:
    • exchange_type
    • account_name
    • enabled
    • testnet
  • CEX:
    • api_key
    • secret_key
    • passphrase
  • Hyperliquid:
    • api_key
    • hyperliquid_wallet_addr
  • Aster:
    • aster_user
    • aster_signer
    • aster_private_key
  • Lighter:
    • lighter_wallet_addr
    • lighter_api_key_private_key
    • lighter_api_key_index

手工验收:

  • 说“把 Dex 的账户名改成 Dex ProHyperliquid 钱包改成 0xabctestnet 打开”时,能一次成功更新
  • 说“这个交易所有哪些字段能改”时,能按当前交易所类型回答差异字段
  • 说“把这个交易所禁用”时,不会误进入改名分支
  • 说“列出我的交易所配置”时,能读出当前配置
  • 对缺少必填凭证的创建请求,会明确指出缺哪一项,而不是模糊失败

通过标准:

  • 回复文本明确说明已更新交易所配置
  • 页面刷新后对应字段真实变化
  • 不因为对象解析失败而掉到“请明确对象”

4. Trader Skill

页面参考:

页面核心字段:

  • name
  • ai_model_id
  • exchange_id
  • strategy_id
  • is_cross_margin
  • show_in_competition
  • scan_interval_minutes
  • initial_balance

Agent 扩展字段:

  • btc_eth_leverage
  • altcoin_leverage
  • trading_symbols
  • custom_prompt
  • override_base_prompt
  • system_prompt_template
  • use_ai500
  • use_oi_top

手工验收:

  • 说“把交易员 A 切换到策略 B扫描间隔改成 8 分钟,全仓关闭,竞技场显示关闭”时,能一次成功更新
  • 说“把高级交易员的 BTC/ETH 杠杆改成 8山寨币杠杆改成 4交易对改成 BTC、ETH自定义 prompt 改成 xxx启用 AI500”时能成功更新
  • 说“这个交易员有哪些字段能改”时,至少能回答页面核心字段和 Agent 扩展字段
  • 说“启动这个交易员”时,仍会保留高风险确认链路
  • 说“为什么我的交易员不交易”时,仍能走诊断 skill不会被错误识别成 update

通过标准:

  • 回复文本明确说明更新了交易员配置或绑定
  • 页面刷新或查询结果能看到真实变化
  • 交易对 提取不会误吞后半句自然语言

5. Strategy Skill

页面参考:

编辑器模块:

  • grid_config
  • coin_source
  • indicators
  • risk_control
  • prompt_sections
  • custom_prompt
  • publish_settings

重点字段:

  • 元信息:
    • name
    • description
    • strategy_type
    • is_public
    • config_visible
  • Grid:
    • symbol
    • grid_count
    • total_investment
    • upper_price
    • lower_price
    • use_atr_bounds
    • atr_multiplier
    • distribution
    • enable_direction_adjust
    • direction_bias_ratio
    • max_drawdown_pct
    • stop_loss_pct
    • daily_loss_limit_pct
    • use_maker_only
  • Coin source:
    • source_type
    • static_coins
    • excluded_coins
    • use_ai500
    • ai500_limit
    • use_oi_top
    • oi_top_limit
    • use_oi_low
    • oi_low_limit
  • Risk:
    • max_positions
    • min_confidence
    • min_risk_reward_ratio
    • btceth_max_leverage
    • altcoin_max_leverage
    • btceth_max_position_value_ratio
    • altcoin_max_position_value_ratio
    • max_margin_usage
    • min_position_size
  • Indicators / timeframe:
    • primary_timeframe
    • primary_count
    • selected_timeframes
    • ema_periods
    • rsi_periods
    • atr_periods
    • boll_periods
    • enable_ema
    • enable_macd
    • enable_rsi
    • enable_atr
    • enable_boll
    • enable_volume
    • enable_oi
    • enable_funding_rate
  • Prompt:
    • role_definition
    • trading_frequency
    • entry_standards
    • decision_process
    • custom_prompt

手工验收:

  • 说“把策略 A 改成网格策略,网格数量改成 14ATR 倍数改成 2.5,最大保证金使用率改成 0.6”时,能一次成功更新
  • 说“把选币来源改成静态,静态币改成 BTC、ETH排除 DOGEAI500 关闭”时,能成功更新
  • 说“选币来源有哪些”时,能回答当前面板的来源类型与相关选项,而不是重复草稿摘要
  • 说“这个策略里面的参数和 prompt 分别是什么样的”时,能走 explain/detail不会误更新
  • 说“帮我创建一个不亏钱的策略”这类抽象请求时,不应直接强绑到字段创建;应该回退 planner 或引导细化

通过标准:

  • 回复文本明确说明已更新策略参数或进入合理引导
  • Strategy Studio 刷新后真实反映更新
  • 不会把开放式目标误当作已可执行的精确配置

6. 跨 Skill 语义验收

  • 模糊输入先过统一语义网关,再决定 continue_active / resume_snapshot / start_new
  • 一个 skill 进行中时,问页面字段选项,优先走 explain不要硬落 execute
  • 开放式目标型请求在参数不足时,优先回 planner不要强行进 hard skill
  • 同一句话改多个字段时,不会只改其中一个窄字段
  • /clear 后,旧的 skill session / workflow / execution state / snapshots 都被清空
  • 切回旧话题时snapshot restore 能恢复到正确对象,而不是凭 heuristics 误接

7. 回归记录模板

每次验收建议记录:

  • 日期:
  • 提交版本:
  • 后端 PID
  • 前端地址:
  • 本轮执行人:

逐项记录:

  • 用例:
  • 用户原话:
  • 预期:
  • 实际:
  • 是否通过:
  • 备注:

8. 当前结论口径

当本文档第 1 节自动化基线和第 2-6 节核心手工项全部通过后,才建议对外宣称:

“Agent 对 4 个 skill 已基本对齐当前页面可编辑能力,并具备稳定的 explain / execute / planner fallback 行为。”