Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

99 Commits

Folders and files

Repository files navigation

🎲 AI 推演台

基于蒙特卡洛方法的 AI 驱动推演引擎。输入目标 → AI 拆解步骤 → 蒙特卡洛模拟 → 审核判定 → 打回重推 → 输出可执行行动方案。

功能列表

核心功能

  • 目标输入:自然语言输入 + 行业模板选择
  • 步骤拆解:AI 自动将目标分解为 DAG 步骤链
  • LLM 驱动的业务变量识别:每步骤 3-5 个具体业务变量 + 权重 + 达标阈值
  • LLM 风险评估与优化建议:具体原因 + 可操作建议
  • LLM 步骤迭代调整:被打回步骤自动优化(基于 LLM 分析结果)
  • 加权蒙特卡洛推演:基于变量权重和达标情况计算通过率 + TOP3 风险因子
  • 三级审核机制:通过率判定 → 风险集中度 → 前置风险传导
  • 打回逻辑:当前步骤 / 前置步骤 / 目标层三层打回,含迭代上限保护
  • LLM 执行方案生成:差异化角色 + 具体资源 + 可量化的验收标准
  • MCTS 对抗式推演:LLM-A 方案生成 vs LLM-B 挑战者,多轮对抗辩论,UCB1 节点选择
  • MCTS 搜索树:四步循环(选择 → 扩展 → 模拟 → 回传),策略树自动生长
  • 实时树可视化:ReactFlow 渲染策略树,节点卡片显示策略、状态、对抗详情

技术特性

  • LLM 自定义配置:用户可配置 API Key / Base URL / Model,支持任意 OpenAI 兼容 API
  • SSE 实时流:推演过程实时推送,无需轮询
  • DAG 可视化:ReactFlow 渲染步骤依赖图
  • 动态动画:推演进度、节点状态实时更新
  • 会话恢复:推演中断后可从断点恢复

技术栈

层 技术
前端 React + TypeScript + Vite + ReactFlow + Zustand + Recharts
后端 Python 3.14 + FastAPI + SQLAlchemy + SQLite
AI MiniMax M2.5 LLM + 加权蒙特卡洛模拟
MCTS 引擎 原生 Python MCTS(UCB1 选择 + 对抗辩论 + 策略树回传)
模拟 原生 Python 蒙特卡洛(支持 normal/uniform/beta/triangular 分布)

快速开始

1. 后端

cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r <(cat <<'EOF'
fastapi==0.115.0
uvicorn[standard]==0.30.0
sqlalchemy==2.0.35
pydantic==2.9.0
pydantic-settings==2.5.0
httpx==0.27.0
pytest==8.3.0
python-multipart==0.0.9
EOF
)

# 配置 GLM API Key
# 编辑 .env,填入 GLM_API_KEY

# 启动
uvicorn app.main:app --reload --port 8001

2. 前端

cd frontend
npm install
npm run dev

3. 打开浏览器

访问 http://localhost:5173

项目结构

ai-deduction/
├── PRD.md              # 产品需求文档
├── SPEC.md             # 技术规格
├── plan.md             # 执行计划
├── backend/
│   ├── app/
│   │   ├── engine/    # 核心引擎
│   │   │   ├── monte_carlo.py       # 蒙特卡洛模拟器
│   │   │   ├── mcts_node.py         # MCTS 数据结构
│   │   │   ├── adversarial_debate.py  # 对抗推演
│   │   │   ├── mcts_engine.py       # MCTS 四步循环
│   │   │   ├── mcts_orchestrator.py # MCTS 步骤编排
│   │   │   ├── review_engine.py     # 审核引擎
│   │   │   ├── iteration_controller.py  # 迭代控制器
│   │   │   ├── execution_plan_builder.py  # 执行方案生成器
│   │   │   ├── dag.py               # DAG 工具
│   │   │   └── variable.py          # 变量采样
│   │   ├── llm/         # LLM 调用封装
│   │   ├── models/      # SQLAlchemy 模型
│   │   ├── routers/     # FastAPI 路由
│   │   └── schemas/      # Pydantic Schema
│   └── pyproject.toml
└── frontend/
    └── src/
        ├── components/
        │   ├── GoalInput.tsx        # 目标输入 + 模板选择
        │   ├── StepEditor/DagView.tsx  # DAG 可视化
        │   ├── Simulation/
        │   │   ├── SimProgress.tsx  # 推演进度
        │   │   └── MCTSTree/       # MCTS 树可视化
        │   └── ResultView/
        │       ├── ActionChecklist.tsx  # TODO 清单
        │       └── RiskList.tsx     # 风险清单
        ├── api/client.ts    # API 客户端
        ├── hooks/useSSE.ts  # SSE Hook
        └── store/goalStore.ts  # Zustand 状态

API 端点

Method Path 描述
POST /api/v1/goals 创建目标
GET /api/v1/goals 列出所有目标
POST /api/v1/goals/{id}/decompose AI 拆解步骤
POST /api/v1/goals/{id}/simulate 启动推演(SSE 流)
POST /api/v1/goals/{id}/simulate-mcts 启动 MCTS 对抗推演(SSE 流)
GET /api/v1/goals/{id}/plan 获取执行方案
GET /api/v1/goals/{id}/rejections 获取打回日志

当前版本

v5.3.0 — URL 配置持久化 + 历史推演记录 ✅

  • LLM 配置 URL 持久化:Base URL + Model 存入 URL 参数,收藏/分享链接即可复用
  • 历史推演面板:查看过往推演记录,点击回顾完整结果
  • 删除功能:一键删除不需要的推演记录(级联清理关联数据)
  • 后端 GoalDetailResponse:详情端点返回 steps + 最新 simulation

v5.2.0 — 用户自定义 LLM 配置 ✅

  • 前端 LLM 配置面板(API Key / Base URL / Model)
  • 配置存储在浏览器 localStorage,不上传服务器
  • 后端动态接收用户 LLM 配置,支持任意 OpenAI 兼容 API
  • 隐私声明:Key 仅存本地,后端不落库不落日志
  • 未配置时自动使用默认模型

v5.1.0 — SOP 可执行流程生成 ✅

  • 推演结束后自动生成详尽可执行 SOP
  • 分阶段执行计划(含 action/method/owner/tools/output/acceptance)
  • 资源清单、关键里程碑、风险预案
  • 前端 SOP 面板(可折叠阶段卡片 + 一键 Markdown 复制)

v5.0.0 — MCTS V2 决策线引擎 ✅

  • 决策线推演引擎:单条线上搜索+回溯
  • 按节奏推演(天/周/月)
  • 前端决策线时间轴可视化(ReactFlow)

v3.0.0 — MCTS 对抗推演引擎 ✅

  • MCTS 对抗推演(LLM-A 方案生成 vs LLM-B 挑战者)
  • UCB1 节点选择 + 策略树可视化(ReactFlow)
  • 普通/MCTS 双模式切换
  • E2E 验证 8/8 通过(3 步骤 × 101 SSE 事件)

下一步

  • 人工审核 UI
  • 调整历史面板
  • PDF 导出
  • 多语言支持

⚠️ 开发规范

.gitignore 配置(强制)

所有开发文档(SPEC/PRD/PLAN/CHANGELOG/task-contract 等 .md 文件)禁止上传 GitHub。项目 .gitignore 已配置:

# 开发文档(仅本地,不上传)
*.md
!README.md
reports/

临时测试文件也需要过滤:

e2e-*.cjs
e2e-*.mjs
playwright-report/

规则:.gitignore 在项目初始化时创建,后续绝不 commit .md 文档文件。本地保留即可。

代码风格

  • Hook 函数稳定性:handleSSEEvent、handleSimulate 等函数必须用 useCallback 包裹,避免 Hooks 顺序违规
  • 状态管理:全局状态用 Zustand store,组件本地状态用 useState
  • API 层:统一走 src/api/client.ts,禁止在组件内直接 fetch

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages