22 KiB
AI ICT 全自动开发执行流程 v1
1. 目标
本流程用于约束后续 ai-exchange 项目的默认推进方式。
从本文件更新后开始,项目默认采用:
文档锚点驱动 + 连续自动推进 + 分阶段闭环验证 + 状态自动回写
这里的“全自动”不是指跳过验证、跳过风控、跳过状态记录,而是指:
- 不等待每个子阶段的用户确认
- 不在完成一小部分后停住
- 不把本可自行继续的工作交还给用户
- 除非遇到真实外部阻塞,否则自动进入下一可执行步骤
本流程已经根据以下文档统一调整:
docs/AI_ICT_实盘交易分析决策助手下一阶段开发方案_v1.md
后续该项目默认以本流程作为自动推进协议。
2. 适用范围
本流程适用于当前仓库两条连续主线:
2.1 主线 A:AI_ICT 当前主系统收尾与稳态推进
包括但不限于:
- 当前 N4 visual-watch 相关收尾
- runtime env 恢复
- market stream / broker read / readiness 验证恢复
- 当前
Real-time Assisted Trading V1未完成收尾项
2.2 主线 B:AI_ICT + TradingAgents 融合实施
按最终版方案顺序推进:
P0影子接入,不影响现有决策P1受控进入决策包与运行时P2经验回流、评估闭环、研究竞技场P3长期优化循环闭环与状态化运行P4优化治理与 operator 可见性闭环P5confirmed swing replay 证据闭环P6governance tick 自动巡检闭环
3. 自动化推进总顺序
默认顺序不是“哪里有想法先做哪里”,而是:
先稳住当前 AI_ICT 主骨架
-> 再推进 Research Council P0
-> P0 稳定后推进 P1
-> P1 证明对 operator 真有帮助后再推进 P2
-> P2 进入长期运行态后推进 P3 优化循环闭环
-> P3 cycle 稳定后推进 P4 优化治理与可见性
-> P4 review 指出 bounded replay 缺口后推进 P5 证据闭环
-> P5 review 恢复 healthy 后推进 P6 governance tick 自动巡检
-> P6 tick 为 no_op_healthy 后冻结 P0-P6
-> 进入自动化执行层开发阶段
更具体地说:
- 先完成当前主系统可执行收尾
- 清理外部环境与 runtime 验证阻塞
- 再进入融合主线
- 融合主线必须遵守影子运行 -> 受控影响 -> 经验回流的顺序
如果当前出现主系统 bug、readiness 回退、runtime 烟雾失败,则:
优先修主系统,再继续融合
4. 文档锚点与唯一真源
每一轮自动推进,必须先读取并以如下锚点为准:
4.1 必读锚点
docs/AI_ICT_实盘交易分析决策助手下一阶段开发方案_v1.mdSESSION.mdTASKS.md
4.2 辅助锚点
当需要判断当前历史阶段、上下文或旧计划映射时,补充读取:
docs/archive/AI_ICT_下一阶段开发计划_v1.mddocs/archive/AI_ICT_下一阶段开发任务清单_v1.mddocs/archive/AI_ICT_TradingAgents_P0自动任务清单_v1.mddocs/AI_ICT_TradingAgents_P1自动任务清单_v1.mddocs/AI_ICT_TradingAgents_P2自动任务清单_v1.mddocs/AI_ICT_TradingAgents_P3自动任务清单_v1.mddocs/AI_ICT_TradingAgents_P4自动任务清单_v1.mddocs/AI_ICT_TradingAgents_P5自动任务清单_v1.mddocs/AI_ICT_TradingAgents_P6自动任务清单_v1.mddocs/archive/AI_ICT_TradingAgents_P0-P6合理性审查与优化结论_v1.mddocs/archive/AI_ICT_research_council脚手架与数据表草案_v1.md
4.3 真源原则
需要统一裁决时,优先级如下:
最新可执行状态
-> SESSION.md / TASKS.md
-> 当前正式方案文档
-> 较早的旧计划文档
也就是说:
- 不依赖聊天记忆
- 不依赖“上次大概做到哪”
- 不依赖旧文档里已经被新方案覆盖的内容
5. 默认执行原则
-
阶段顺序固定
- 不跳阶段
- 不把 P0 和 P1 混做
- 不在主骨架未稳时提前把研究层接入执行路径
-
实现优先于讨论
- 只要锚点已经足够明确,就直接实现
- 有小歧义时采用合理默认值并在状态中记录假设
-
每一轮必须闭环
- 代码 / 文档实现
- focused validation
- 相关质量门
- 必要时 API / browser / runtime smoke
- 必要时远端 deploy 与 smoke
SESSION.md / TASKS.md / docs回写
-
先小闭环,再自动进入下一小闭环
- 每次推进一个可验证切片
- 完成后立即判断下一个切片,不停顿
-
不制造第二套真相
- AI_ICT 继续做事实层、规则层、执行边界层
- Research Council 只做研究推理增强层
- 不允许平行状态机、平行 readiness、平行 trust
-
不让研究层越权
- 不允许委员会结果直接改写
risk_result - 不允许直接改写
execution_allowed - 不允许直接替代
DecisionPacketService主裁决
- 不允许委员会结果直接改写
-
文档与状态必须同步
- 新能力落地后,相关 docs 必须同步
SESSION.md和TASKS.md必须反映最新可执行现实
6. 单轮自动执行标准流程
每一轮自动推进,按以下顺序执行。
Step 0:验证自动化前置条件
必须先检查:
- 当前仓库路径正确
- 基础工具可用
GSTACK_OK规则是否满足(如当前工作依赖该规则)- 当前
.venv或等价运行环境可用
如果这些前置条件缺失且可自动修复,则先修复再继续。
Step 1:读取当前锚点
必须读取:
docs/AI_ICT_实盘交易分析决策助手下一阶段开发方案_v1.mdSESSION.mdTASKS.md
确认:
- 当前活跃主线
- 当前活跃阶段
- 当前真实阻塞项
- 当前验收口径
- 当前下一默认入口
Step 2:确定“本轮最小可执行切片”
自动从当前锚点中选出最小可闭环切片。
优先级规则:
- 先处理主系统 blocker
- 再处理当前活跃阶段的最小闭环
- 再处理增强解释层
- 最后才处理扩展和优化
切片应满足:
- 能在一轮内形成可验证结果
- 能落在现有模块边界内
- 不需要等待用户做新的产品决策
不允许把一个阶段拆成大量无验证的长链未完工改动。
Step 3:实现当前切片
实现时必须遵守:
- 优先复用现有服务、仓储、API、脚本、前端结构
- 不新增平行状态机
- 不把研究层反向写成主事实层
- Research Council 相关改动统一落到:
src/services/research_council/
- 优先接入现有主链:
decision_packetreview_packetruntimeworkbenchvisual_watch
Step 4:补足 focused tests / checks
要求:
- 先补 touched modules 的 focused tests
- 再补相关脚本 smoke
- 再补相关 API smoke
- 再决定是否需要更大范围回归
对于不同改动类型,要求不同:
A. 文档-only
- 检查文档结构、标题、路径、锚点引用
B. 纯后端逻辑
- focused unit tests
- 相关脚本 smoke
- 相关 API smoke
C. runtime / API / workbench / DB
- focused tests
- 相关脚本 smoke
- API smoke
- browser smoke
- 必要时 deploy smoke
Step 5:执行本地质量门
默认本地验证顺序为:
- touched modules focused tests
tests/unitscripts/run_offline_checks.py- 若涉及前端或静态资源,再执行:
npm run lint
npm run build
npm run visual:snapshots
- 若需要本地 API / browser 验证:
- 启动本地 API server
- 执行 API smoke
- 执行 browser smoke
原则:
- 不因为“只是小改动”跳过应有验证
- 也不因为“只是文档改动”强行做无意义部署
Step 6:决定是否需要远端部署验证
不是每轮都必须远端部署,但以下情况必须部署并做远端 smoke:
- 改动涉及 runtime
- 改动涉及 API
- 改动涉及 DB schema / migration
- 改动涉及 workbench / operator 真实可见行为
- 改动涉及 alert / broker / readiness / decision packet / review packet 主链
以下情况可不部署远端:
- 文档-only
- 纯本地测试支撑代码
- 尚未进入运行链路的孤立脚手架
如果不部署远端,必须在状态里明确说明原因。
Step 7:执行远端 deploy 与 smoke
需要远端验证时,默认流程为:
- 部署当前
HEAD - 执行 migration
- 等待容器
healthy - 验证关键 API
- 验证关键 runtime 状态
- 验证 browser / operator 关键可见结果
至少应覆盖:
/health- 当前阶段新增或影响的核心 API
- 当前阶段关键状态输出
涉及主系统时,还要特别验证:
launch-readinessruntime-statusdecision-packettrust-scorereview-packet
涉及 Research Council 时,还要验证:
research-council手动触发入口- packet / review 中的研究增强字段
- 失败降级行为
Step 8:写回状态锚点与方案文档
每轮结束必须更新:
SESSION.mdTASKS.md
必要时同步更新:
docs/archive/AI_ICT_TradingAgents融合实施方案_最终版.md- 当前阶段相关任务清单 / 技术设计文档
必须写回的内容:
- 当前完成了什么
- 当前切片是否闭环
- 当前未完成但仍可继续的下一入口
- 新出现的 blocker / warning / noisy incident
- 是否已 deploy / smoke
- 若未 deploy,为何未 deploy
原则:
状态锚点必须反映“现在真实能继续做什么”,而不是只写“做过什么”。
Step 9:自动决定下一轮入口
若本轮已经满足:
- 当前切片代码/文档完成
- 相应验证完成
- 必要时 deploy / smoke 完成
- 状态锚点已回写
则:
直接进入下一可执行切片,不等待用户确认
下一入口优先级:
- 同一阶段剩余闭环切片
- 当前阶段收尾
- 下一阶段最小切片
但当当前阶段为 Research Council P6 且 governance tick 返回 no_op_healthy 时,不进入下一阶段,也不自动创建 P7。此时应停止 Research Council 阶段扩展,并进入自动化执行层开发准备。
Step 10:阶段晋级判定
当同一阶段的切片已经基本闭环时,不能只因为“本轮跑完了”就默认跳到下一阶段,必须执行阶段晋级判定。
统一规则如下:
A. P0 晋级到 P1
只有同时满足以下条件,才允许自动进入 P1:
research_council手动 API / script 能稳定跑通- 没有委员会结果时,原系统行为不回归
- 有委员会结果时,
review packet能稳定展示委员会摘要 - council 失败时,runtime 自动降级但不中断主链
- 连续多次 focused smoke 无新增主链 blocker
否则:
继续停留在 P0
-> 自动补同阶段剩余缺口
-> 不提前切到 P1
B. P1 晋级到 P2
只有同时满足以下条件,才允许自动进入 P2:
decision_packet已稳定吸收委员会解释字段runtime已受控接入research_councilworkbench已稳定展示支持 / 反对 / 分歧 / follow-up checksvisual_watch已能消费委员会建议- 未对
execution gate/live readiness/operator confirmation protocol造成回归
否则继续停留在 P1 收尾。
C. P2 阶段出口
P2 不是一次性结束点,而是进入持续运行与评估优化模式。
当以下条件成立时,自动切换为“长期运行态”:
- lesson backfill 机制稳定
- checkpoint / resume 机制稳定
- 评估脚本能持续比较 council 与非 council 效果
- 内部研究竞技场已能服务后续迭代
进入长期运行态后,默认动作变为:
持续评估
-> 识别问题
-> 回到 P2 内部优化
-> 必要时回流修正 P1 或 P0
D. 阶段判定失败时的统一状态写法
如果阶段执行完成但晋级门未通过,状态锚点应明确写成以下之一:
P0 部分完成P0 待收尾P0 环境阻塞P1 部分完成P1 待收尾P1 环境阻塞P2 进入长期运行态
不允许写成模糊的“基本完成”后直接跳段。
E. P3-P6 状态化出口
P3-P6 不再使用传统“晋级门”语义,而使用状态化出口:
- P3 完成后进入 P4,前提是 optimization cycle 可持久化、可查询、可通过 CLI / API 消费。
- P4 完成后根据 review 结果分流:
- 若返回
add_replay_fixture_with_confirmed_swings,进入 P5。 - 若 review 已是
healthy且无 bounded action,直接进入 P6。 - 若返回其他
needs_attention,只打开最小 bounded slice,不自动扩新阶段。
- 若返回
- P5 完成后必须回到 P4/P6 review,确认原 bounded action 已关闭。
- P6 是 Research Council 当前主线的终端治理入口:
no_op_healthy:停止,不写代码,不扩 P7。cycle_required:只有策略允许时补跑 cycle。bounded_slice_required:打开最小 bounded slice,完成后回到 P6。
P6 之后如需继续扩大阶段,必须是用户明确提出的新产品阶段规划,而不是自动化默认行为。
7. 针对当前融合主线的自动化阶段策略
7.1 阶段 A:先稳住当前 AI_ICT 主骨架
默认优先处理:
- 当前 N4 visual-watch 相关收尾
- runtime env 恢复
- market stream / broker credentials / proxy 恢复
- readiness / runtime / broker smoke 回归
这一阶段不应被新的 Research Council 扩展打断。
7.2 阶段 B:Research Council P0
目标:
- 影子接入
- 不影响现有决策
- 只读消费 AI_ICT 事实
- 结果先进入 review packet,再逐步扩展
默认切片顺序:
research_council目录脚手架council_context_builderstructure_analystrisk_analystbull_researcher / bear_researcherresearch_manager- 手动 API / script 触发
- review packet 只读展示
本阶段禁止:
- 改写
action_recommendation - 改写
risk_result - 改写
execution_allowed
完成本阶段后,必须执行 Step 10 的 P0 晋级判定,判定通过才可切入 P1。
7.3 阶段 C:Research Council P1
目标:
- 受控进入
decision_packet - 受控进入
runtime - 增强 operator / workbench 的解释质量
默认切片顺序:
- runtime 任务接入
- packet 字段扩展
news_event_analystvisual_analyst- disagreement / follow-up checks
- visual watch 建议联动
- workbench 展示增强
本阶段仍禁止:
- 改写执行闸门
- 改写 live readiness
- 绕过 operator confirmation protocol
完成本阶段后,必须执行 Step 10 的 P1 晋级判定,判定通过才可切入 P2。
7.4 阶段 D:Research Council P2
目标:
- 经验回流
- checkpoint / reflection / lessons
- 内部评估闭环
默认切片顺序:
research_council_lessons- replay / journal / weekly-review lesson backfill
- council checkpoint / resume
- 评估脚本
- 内部研究竞技场
本阶段仍然不是平台化阶段。
本阶段完成后,不是直接“项目结束”,而是执行 Step 10 的 P2 阶段出口判定,进入长期运行与评估优化模式。
7.5 阶段 E:Research Council P3
目标:
- 把 P2 的长期运行态固化为可重复执行的 optimization cycle
- 持久化 lesson / replay / eval / arena summary
- 给下一轮 bounded optimization 输出明确动作
默认切片顺序:
research_council_optimization_cyclesCouncilOptimizationServicerun_research_council_optimization_loop.py- optimization cycle API
- focused unit tests / script smoke / API smoke
SESSION.md与TASKS.md状态回写
本阶段完成后,进入 Research Council P3 long-running optimization loop。该循环只产生 operator follow-up 与下一轮研究优化建议,不扩大 execution gate / live readiness / trust bucket 权限。
7.6 阶段 F:Research Council P4
目标:
- 将最近 P3 optimization cycles 转成治理判断
- 暴露 stale / needs_more_samples / needs_attention / healthy 状态
- 接入 CLI / API / review packet / workbench
默认切片顺序:
CouncilOptimizationReviewServicerun_research_council_optimization_review.py- optimization review API
- review packet 与 workbench 可见性
- focused unit tests / script smoke / API smoke
- remote deploy / smoke
SESSION.md与TASKS.md状态回写
本阶段完成后,进入 Research Council P4 Optimization Review Governance。该阶段只产生 operator follow-up 和下一轮 bounded optimization 建议,不自动改变模型、trust bucket、execution gate 或 live readiness。
7.7 阶段 G:Research Council P5
目标:
- 将 P4 的
add_replay_fixture_with_confirmed_swings建议落成可部署 replay evidence - 用 confirmed swing high / low 样本重跑 optimization loop
- 确认 latest review 不再把 replay fixture 作为待办缺口
默认切片顺序:
data/replay/research_council_confirmed_swings_v1.jsonl- replay quality gate 与 focused tests
- optimization replay summary evidence
- optimization loop rerun
- optimization review / review packet / workbench smoke
- remote deploy / remote API cycle / remote review smoke
SESSION.md与TASKS.md状态回写
本阶段完成后,进入 Research Council P5 Confirmed Swing Replay Evidence。该阶段只关闭 replay evidence 缺口,不自动改变模型、trust bucket、execution gate 或 live readiness。
7.8 阶段 H:Research Council P6
目标:
- 将 healthy optimization review 转成可调度 no-op tick
- 将 stale/missing/needs_attention 转成明确自动化状态
- 避免健康状态下重复打开无意义开发切片
默认切片顺序:
CouncilGovernanceTickServicerun_research_council_governance_tick.py- governance tick API
- focused unit tests / script smoke / API smoke
- remote deploy / remote API smoke
SESSION.md与TASKS.md状态回写
本阶段完成后,进入 Research Council P6 Governance Tick。该阶段只做周期治理判断,不自动改变模型、trust bucket、execution gate 或 live readiness。
7.9 P0-P6 审查与阶段冻结
目标:
- 审查 P0-P6 是否合理
- 修正自动化流程中可能导致无限扩阶段的地方
- 明确下一步进入自动化执行层开发
审查结论:
P0-P6 合理
P0-P6 阶段冻结
P6 为默认治理入口
no_op_healthy 时停止
不自动创建 P7
正式进入自动化执行层开发的条件:
docs/archive/AI_ICT_TradingAgents_P0-P6合理性审查与优化结论_v1.md已存在SESSION.md/TASKS.md已写明automation_flow_p0_p6_review_closed- P6 governance tick 最近一次结果为
no_op_healthy - 文档一致性测试通过
7.10 自动化执行层 P7:监控成熟度与晋级路由
用户明确要求从 P7 开始设计自动化时,P7 只代表自动化执行层的新阶段,不代表 Research Council P7。
P7 的目标是打破以下健康巡检循环:
continue_periodic_analysis_decision_monitoring
-> monitor passed
-> quality gate passed
-> continue_periodic_analysis_decision_monitoring
新的稳定窗口出口为:
analysis_decision_monitor_quality_gate=passed
stable_monitoring_window=true
latest blockers=[]
latest warnings=[]
P6 governance tick=no_op_healthy
-> automation_execution_layer_p7_monitor_maturity_rollup
P7 默认不扩大交易能力,只做:
- 监控成熟度摘要
- 本地/远端状态漂移检查
- alert 与 decision-support 输出质量审查
- 唯一下一个 bounded automation slice 选择
SESSION.md/TASKS.md/.claude状态回写
P7 必须继续遵守:
- 不修改
execution_allowed - 不修改
real_live_ready - 不绕过 risk governor
- 不升级或降级 trust bucket
- 不绕过 operator confirmation protocol
- 不把 OKX fills 为 0 当作当前 analysis/decision-only 阶段 blocker
- 不创建 Research Council P7
P7 任务清单以以下文档为准:
docs/archive/AI_ICT_自动化执行层_P7监控成熟度与晋级路由_v1.md
P14 之后的自动化执行层连续开发,以以下有限清单为准:
docs/AI_ICT_自动化执行层_P15-PXX闭环任务清单_v1.md
该清单把 P15-PXX 收敛为已知范围,不允许在 PXX closure gate 之后自动发明新阶段;新的真实交易闭环、真实外部媒体通道或新产品能力,必须由用户明确打开新的产品阶段。
8. 阻塞处理规则
只有以下情况允许停下来请求用户:
- 密钥 / 凭据缺失,且无法从现有环境推断
- 外部账号权限不足
- 需要不可逆破坏性操作
- 产品决策确实无法合理默认
- 上游网络 / 供应商 / 远端环境阻塞导致无法继续验证
除上述情况外:
- 默认自行排查
- 默认自行修复
- 默认继续推进当前阶段的非阻塞部分
如果 blocker 只影响远端验证而不影响本地实现,则:
先完成本地闭环 -> 记录阻塞 -> 转入下一本地可执行切片
9. 边界守卫规则
以下守卫是硬规则:
- 不默认开启真实自动下单
- 不让 LLM 绕过风控
- 不让 Research Council 重写主事实层
- 不让 Research Council 直接替代 trust / readiness / execution gate
- 不在远端 smoke 未完成时把 runtime / API / workbench 主链改动宣告完成
- 不把环境问题伪装成代码完成
- 不因为“自动化”省略状态回写
10. 单轮完成定义
一个自动化切片只有满足以下条件,才算真正完成:
- 锚点目标已实现
- 对应 focused validation 已完成
- 需要时本地质量门已通过
- 需要时 deploy / remote smoke 已通过
SESSION.md / TASKS.md / docs已回写
否则只能算:
部分完成 / 待收尾 / 被环境阻塞 / 仅本地完成
11. 当前默认工作模式
从本文件生效起,后续该项目默认工作模式为:
自动读取锚点
-> 自动判定当前主线与最小可执行切片
-> 自动实现
-> 自动 focused validation
-> 自动执行必要质量门
-> 自动决定是否 deploy / smoke
-> 自动写回 SESSION / TASKS / docs
-> 自动进入下一切片
换句话说:
以后该项目默认全程采用自动化流程推进,除非遇到真实外部阻塞或必须用户拍板的产品决策。