auto-sync: 2026-05-20 00:14:43

This commit is contained in:
cfdaily
2026-05-20 00:14:43 +08:00
parent 2dd416d3b1
commit 0f81c00f35
5 changed files with 2 additions and 2 deletions
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,65 @@
# Product 方向备忘录
> 日期:2026-05-18
> 状态:讨论记录,非当前实施范围
> 参与者:用户、庞统
## 核心概念
### 当前三层模型(v2.7+ 实施中)
```
Project(项目/仓库)
└── Task(用户需求/意图/目标)
└── SubTaskAgent 执行的原子任务/Stage
```
### 未来方向:Product 层
Product(产品)= 跨 Project 的 Task 聚合,多个 Task 的产出物组合成一个完整产品。
```
Product(产品/交付物)
├── Task Asanguo_quant_live:动量策略开发)
├── Task Bsanguo_vnpy:回测引擎搭建)
├── Task Csanguo_quant_live:实时数据接入)
└── Task Dsanguo_vnpy:模拟交易平台)
产出物整合 → "动量交易系统 v1"(可运行的产品)
```
### 关键特征
1. **Product 和 Project 是正交的**
- Project 按仓库/组织划分(代码边界)
- Product 按业务目标/交付物划分(产品边界)
- 一个 Product 可能跨越多个 Project
2. **Task 间有依赖**
- 策略编码依赖数据准备
- 实盘依赖模拟验证
- 跨 Project 的依赖是常见场景
3. **SubTask(原子任务)天然跨 Project**
- 姜维在 sanguo_vnpy 搭回测引擎,是为了 sanguo_quant_live 的"动量策略v1"这个 Task
- SubTask 的归属:属于某个 Task(需求),但实际工作可能在另一个 Project 目录
4. **Product 研发可能颠覆项目制**
- 传统:先有项目 → 项目内建功能
- Product 视角:先有产品目标 → 跨项目组织资源
- 这对当前的 Project 为核心的组织方式有根本性挑战
### 待讨论问题
- [ ] Product 的数据模型:独立表?还是轻量标签聚合?
- [ ] 跨 Project SubTask 的归属和权限如何处理
- [ ] Product 的成果物如何整合(CI/CD?手动?AI 自动?)
- [ ] Product 和 Project 的 UI 如何呈现(双维度视图?)
- [ ] 是否需要 Product 级别的进度追踪和里程碑
### 触发条件
当用户频繁出现以下场景时,考虑启动 Product 层设计:
1. 手动跨项目协调多个 Task 完成一个产品
2. 需要查看"某个产品整体进展"而非单个 Task
3. 多个 Task 的产出物需要系统化整合
@@ -0,0 +1,96 @@
# 课题4 Skill 设计清单(草稿)
**背景**:三个课题(1/2/3)产出了27项设计决策,其中大量内容需要 Agent 在 Skill 层面"知道怎么做"。当前 TODO 只列了4项(T1-5/6/7 + T2-8),远不够。
## 一、按角色分类的 Skill 需求
### 1. 所有 Agent 通用 Skill
| # | Skill 内容 | 来源 | 说明 |
|---|-----------|------|------|
| S-01 | blackboard.py CLI 使用手册 | 课题1 §5.2 | 所有黑板操作的 CLI 命令、参数、Schema 校验说明 |
| S-02 | 读黑板 L1 消息 → 判断是否需要 L2/L3 | 课题2 §4.4 | Agent 收到 L1 后自主决定信息是否足够,不够就主动调 L2/L3 |
| S-03 | 写 Handoff Comment | 课题2 §5.1 | 结束前必须写结构化交接(强烈建议,不强制) |
| S-04 | 读 Handoff Comment | 课题2 §5.1 | 收到上一个 Agent 的 Handoff 后如何利用 |
| S-05 | 写 observation 的时机和格式 | 课题1 §4.7 | 工作中发现风险时主动写 observation + severity |
| S-06 | 写 decision 的时机和格式 | 课题1 §9.4 | 每个关键决策必须记录,哪怕是自己的决策 |
| S-07 | 写 output 的 Schema 约束 | 课题2 §3.7 | --output 必须有 summary + content_pathCLI 校验 |
| S-08 | 收到 Guardrail 打回时的处理 | 课题3 §9.3 | L1 机械失败→修改重提交;L2 语义问题→评估是否合理 |
| S-09 | @mention 的使用规范 | 课题1 §5.2 | 需要协作时 @mention + 附带上下文 |
### 2. 执行者 Agent(张飞/关羽/赵云/姜维)
| # | Skill 内容 | 来源 | 说明 |
|---|-----------|------|------|
| S-10 | claim 任务后写 scope_declaration | 课题1 §4.7 | "我计划做什么、产出什么",格式和内容要求 |
| S-11 | scope_declaration 的格式 | 课题1 T1-5 | truths 字段格式、声明方式 |
| S-12 | 收到 review needs_revision 时的处理 | 课题3 §9.5 | 读 issues → 逐条 ACCEPT/REJECT/PARTIAL,写 comment 回应 |
| S-13 | 收到 Guardrail reject 的处理 | 课题3 §9.8 | 理解 assert 失败原因,修改重提交 |
| S-14 | must_haves 三件套理解 | 课题1 §9 | truths/artifacts/constraints 的含义和自检方法 |
### 3. 审查者 Agent(司马懿 + 挑战者池)
| # | Skill 内容 | 来源 | 说明 |
|---|-----------|------|------|
| S-15 | 收到 Review Protocol 后的审查流程 | 课题3 §9.4 | 五阶段 Investigation Protocol 的执行方法 |
| S-16 | 多视角审查方法 | 课题3 §9.4 | 代码视角(安全/新人/运维)、方案视角(执行者/利益相关者/怀疑论者) |
| S-17 | 写 review 的 Schema 约束 | 课题3 §9.6 | verdict 必须是枚举,issues 必须有 evidence |
| S-18 | 信心度自评方法 | 课题3 §9.6 | confidence 打分标准,< 0.7 意味着什么 |
| S-19 | 收到反驳(REJECT)后的处理 | 课题3 §9.5 | 评估执行者的反驳是否合理,决定坚持还是让步 |
| S-20 | plan_review 协议 | 课题3 §9.4 | 假设提取+评级、pre-mortem、依赖审计、歧义扫描 |
| S-21 | output_review 协议 | 课题3 §9.4 | 需求追踪、scope 对齐、正确性验证、缺口分析 |
| S-22 | analysis_review 协议 | 课题3 §9.4 | 逻辑跳跃、无支撑结论、数据来源可靠性 |
### 4. 协调者 Agent(庞统)
| # | Skill 内容 | 来源 | 说明 |
|---|-----------|------|------|
| S-23 | 创建任务时的 truths/artifacts/constraints 定义 | 课题1 §9 | 用户视角的可观测行为、必须存在的文件、继承的约束 |
| S-24 | 风险等级自动判断 | 课题3 §9.2 | task_type→risk_level 的映射规则 |
| S-25 | 挑战者选择策略 | 课题3 §9.10 | 按任务类型选挑战者(编码→司马懿、风控→关羽、数据→赵云、部署→姜维) |
| S-26 | 对抗辩论裁决方法 | 课题3 §9.10 | 综合正方反方观点做最终判断 |
| S-27 | escalated 任务的用户沟通 | 课题3 §9.7 | 超轮次升级时如何向用户呈现争议和选项 |
| S-28 | confidence 低时的升级判断 | 课题3 T3-5 | confidence < 0.7 时升级策略 |
| S-29 | 任务拆解方法 | 课题1 §5.1 | 复杂任务如何拆成子任务,依赖如何声明 |
| S-30 | L1 消息构建逻辑 | 课题2 §4.4 | 给 Agent spawn 时的 bootstrap 消息拼装 |
## 二、按阶段分类
### Phase 1 必须有(Agent 能基本工作)
- S-01 blackboard.py CLI 使用手册
- S-03 写 Handoff Comment
- S-10 claim 后写 scope_declaration
- S-14 must_haves 理解
- S-23 创建任务(庞统)
- S-24 风险等级判断(庞统)
- S-30 L1 消息构建(庞统/Daemon
### Phase 2 必须有(审查体系生效)
- S-02 L2/L3 按需读取
- S-04 读 Handoff Comment
- S-05/06 observation/decision 写入
- S-07 output Schema 约束
- S-12 收到 review 的处理(反驳权)
- S-15~22 审查者全套 Skill
- S-25 挑战者选择(庞统)
- S-26 对抗辩论裁决(庞统)
### Phase 3 可选(高级功能)
- S-16 多视角审查深化
- S-20~22 三种审查协议细化
- S-27 escalated 用户沟通
- S-28 confidence 升级策略
- S-29 任务拆解方法深化
## 三、和现有 TODO 的对齐
课题4 的 Skill 设计需要覆盖以上 30 项。现有的 T1-5/6/7 和 T2-8 只是其中4项。
建议:课题4 的正式设计把这 30 项整理成 Skill 体系文档,明确:
1. 哪些是 Skill 文件(Agent 读的 Markdown
2. 哪些是 Protocol 文件(Daemon 注入的 YAML
3. 哪些是 CLI 帮助信息(blackboard.py --help
4. 三者的关系和优先级
@@ -0,0 +1,247 @@
# 课题7+9 设计方案:AI Native 人机交互 + Dashboard
> **日期**: 2026-05-16
> **作者**: 庞统(副军师)🐦
> **状态**: 设计完成,可结题
> **前置**: 课题1-4、课题6、课题11 已完成设计
---
## 一、课题7AI Native 人机交互
### 1. 核心问题
v1.0 的交互是"用户点按钮触发操作"——传统 Web 应用。v2.0 要实现 AI Native:**AI 主动推送、用户自然语言对话、关键决策拉人、其余自主完成**。
### 2. 四种交互模式
| 模式 | 描述 | 场景 | 人的参与密度 |
|------|------|------|------------|
| **沉浸观察** | 用户看 Dashboard 实时状态,不干预 | 任务自主执行中 | 低 |
| **轻触确认** | AI 做完关键步骤,推一个确认卡片给用户 | Checkpoint 验证、风控审批 | 中 |
| **即时对话** | 用户主动找 AI 聊(或 AI 主动找人聊) | 需求变更、异常处理、方向调整 | 高 |
| **被动通知** | AI 完成后推送结果摘要 | 任务完成、日报、异常告警 | 低 |
### 3. 推送级别分级
| 级别 | 含义 | 推送方式 |
|------|------|---------|
| 🔴 Critical | 必须立即处理 | 即时推送(webchat/Signal/Telegram |
| 🟡 Warning | 需要关注,可稍后 | Dashboard 高亮 + 可选推送 |
| 🟢 Info | 一般进展通知 | Dashboard 记录 |
| 🔵 Silent | 仅记录 | 日志/历史 |
### 4. 三层信息架构
| 层级 | 名称 | 内容 | 场景 |
|------|------|------|------|
| L1 | 一眼全局 | 活跃项目数、进行中任务数、最近告警 | 扫一眼知道系统在干什么 |
| L2 | 看板视图 | 任务卡片列表、状态、负责人、进度 | 日常浏览和操作 |
| L3 | 详情面板 | 单任务完整上下文(对话、产出、评审、经验) | 深入了解某个任务 |
### 5. 双入口对等
- **Agent 对话**webchat/Signal= 主交互入口
- **Dashboard**Web UI= 可视化入口
- 共享同一套黑板数据,操作等效
- 可以在 Dashboard 点按钮,也可以直接跟庞统说"暂停任务 xxx"
### 6. Checkpoint 交互规范
三种 Checkpoint(来自 M3 设计,课题3 挑战/评审体系):
| Checkpoint 类型 | 颜色 | 交互 | 场景 |
|----------------|------|------|------|
| 🔍 验证 Checkpoint | 蓝色 #6a9eff | 自动核验 + 人工核验 + 双按钮审批 | 产出物御览确认 |
| 🎯 决策 Checkpoint | 紫色 #818cf8 | 三方案并排对比 + 利弊展示 + 推荐标签 + 御批备注 | 方向选择 |
| 🔧 执行 Checkpoint | 橙色 #f59e0b | 分步打勾 + 命令行高亮 + 进度条 + 验证确认 | 分步执行确认 |
### 7. 异常通知触发条件
| 触发条件 | 推送级别 | 通知内容 |
|---------|---------|---------|
| Agent 执行失败 | 🔴 | 任务ID + Agent + 错误摘要 + retry 按钮 |
| 任务超时(超过 eta) | 🟡 | 任务ID + 已耗时 + 预估剩余 |
| 重试次数达到上限 | 🔴 | 任务ID + 累计失败次数 + 建议操作 |
| Daemon 健康异常 | 🔴 | 异常类型 + 影响范围 |
| 任务完成 | 🟢 | 任务ID + 产出摘要 + 产出链接 |
| 经验提取完成 | 🔵 | 经验标题 + 关联任务数 |
### 8. AI Briefing 格式
**日报**(每天 22:00 自动生成,🟢 级别推送):
```
📊 今日战报 (2026-05-16)
━━━━━━━━━━━━━━━━━━━━
📋 完成任务:3 个(动量因子策略、数据清洗、代码审查)
🔄 进行中:2 个(配对交易研究、风控规则开发)
⚠️ 需关注:1 个(task-012 超时,预计 30min
💰 今日 Token 消耗:127K(预算 200K,剩余 36.5%
🧠 新增经验:2 条(pytest 参数优化、SQLite 并发保护)
```
**周报**(每周日 22:00,🟢 级别):
- 本周完成任务数/平均耗时
- Agent 利用率(谁最忙谁最闲)
- Token 消耗趋势
- 经验沉淀汇总
- 下周建议
---
## 二、课题9Dashboard 设计
### 1. 核心原则
- **v1.0 已有的 11 个 Tab 页全部保留**
- **只有"任务看板"需要重新设计和实现**(配合 v2.0 黑板架构)
- 其他 10 个 Tab 功能基本不变,适配新的 Daemon API 即可
### 2. v1.0 已有 Tab 页(保留,不重新设计)
| Tab | 组件 | 功能 | v2.0 变更 |
|-----|------|------|----------|
| 🏛️ 军议大厅 | `CourtDiscussion` | Agent 间对话/讨论 | 适配新 API |
| 🔌 编排调度 | `MonitorPanel` | Daemon/编排状态监控 | 适配新 API |
| 🤺 将军总览 | `OfficialPanel` | Agent 列表/状态/配置 | 适配新 API |
| 🤖 模型配置 | `ModelConfig` | LLM 模型选择/参数 | 适配新 API |
| 🎯 技能配置 | `SkillsConfig` | Skill 注册/启用/禁用 | 适配新 API |
| 🔭 传令巡哨 | `SessionsPanel` | Agent session 列表/状态 | 适配新 API |
| 💰 花费总览 | `UsagePanel` | Token 消耗/预算/趋势 | 适配新 API |
| 📜 奏折阁 | `MemorialPanel` | 已完成/已取消任务归档 | 适配新 API |
| 📋 任务模板 | `TemplatePanel` | 任务模板管理 | 适配新 API |
| ⚙️ 系统设置 | `SettingsPanel` | Daemon 配置/项目管理 | 适配新 API + 课题11 项目管理 |
### 3. 需要重新设计的 Tab
#### 📜 任务看板(EdictBoard)— 重新设计 + 重新实现
**v1.0 现状**:基于 moziplus v1 DAG 架构的任务列表,状态是 v1 的状态机(pending/planning/executing/completed/failed/cancelled)。
**v2.0 重设计**
##### 3.1 任务卡片
```
┌─────────────────────────────────────────────┐
│ 📜 task-013 动量因子策略回测 │
│ 项目: quant-momentum | 状态: executing 🔄 │
│ 负责: 张飞⚔️ | 进度: ████░░ 67% │
│ ⏱️ 已耗时 12min | 📊 3/5 节点完成 │
│ ⚠️ 1个告警 │
│ ─────────────────────────────────────────── │
│ [暂停] [取消] [查看详情] │
└─────────────────────────────────────────────┘
```
##### 3.2 任务详情面板(TaskModal v2
点击任务卡片展开详情,包含:
| 区域 | 内容 |
|------|------|
| **基本信息** | 标题、需求描述、项目、创建时间 |
| **状态流转** | 状态按钮(基于课题3状态机守卫 ACTION_GUARDS |
| **执行图** | 任务拆解后的节点图(节点状态 + Agent + 产出) |
| **Checkpoint** | 三种 Checkpoint 面板(验证/决策/执行) |
| **Flow Log** | 执行日志流(时间线格式) |
| **产出物** | 产出文件预览/下载(来自 ArtifactPanel |
| **评审记录** | 评审意见 + 评审结果(来自 reviews 表) |
| **关联经验** | 该任务沉淀的经验(来自 experiences 表) |
##### 3.3 项目切换器(配合课题11)
Header 区域新增项目下拉:
```
三国量化 · 编排台 | [▼ 动量因子策略] | ✅ 同步正常 | 3 个任务
```
- 下拉列出所有 active 项目
- 切换后任务看板只显示当前项目的任务
- "全部项目"选项显示所有项目的任务(带项目标签)
##### 3.4 推送通知中心
Header 区域新增通知铃铛:
```
🔔 (3) → 点击展开通知面板
```
通知面板:
- 按推送级别分组(🔴 > 🟡 > 🟢 > 🔵)
- 每条通知:时间 + 级别图标 + 内容摘要 + 关联任务链接
- 🔴 通知可展开操作按钮(确认/忽略/查看详情)
- 支持标记已读/全部已读
##### 3.5 AI Briefing 页面(新增 Tab
新增第 12 个 Tab:**📊 战报简报**
- 日报/周报自动生成(§7.8 定义的格式)
- 趋势图表(完成任务数、Token 消耗、Agent 利用率)
- 经验沉淀摘要
- 下周建议(AI 生成)
### 4. 技术栈(不变)
- React + Vite + TypeScript + Zustand
- CSS 变量体系:`--bg`, `--fg`, `--muted`, `--acc`, `--line`, `--panel`, `--panel2`
- API 层:`api.ts`,对接 Daemon HTTP API
- 构建产物:`dashboard/dist/`uvicorn 8082 端口直接服务
- UI 参考:OpenClaw Edict UI + Control Center
### 5. 实时推送机制
**选择 SSEServer-Sent Events**
- Daemon 端新增 `/events` SSE 端点
- 前端 `EventSource` 监听,收到事件后更新 Zustand store
- 事件类型:`task.status_changed``checkpoint.created``notification.pushed``agent.state_changed`
- 降级方案:SSE 连接失败时退回轮询(当前 v1.0 已有的 5s 轮询)
理由:
- 比 WebSocket 简单(单向推送够用)
- 比 pure 轮询实时性好
- HTTP 兼容性好(代理/防火墙不拦)
### 6. 开发清单
| # | 任务 | 优先级 | 说明 |
|---|------|--------|------|
| 1 | Daemon `/events` SSE 端点 | P0 | 实时推送基础 |
| 2 | 任务看板 v2EdictBoard 重写) | P0 | 核心页面 |
| 3 | TaskModal v2(详情面板) | P0 | 含 Checkpoint/Artifact/Review 集成 |
| 4 | 项目切换器 | P1 | 课题11 前端对接 |
| 5 | 推送通知中心 | P1 | Header 铃铛 + 通知面板 |
| 6 | AI Briefing 页面 | P2 | 日报/周报自动生成 |
| 7 | 其他 10 个 Tab 适配新 API | P1 | 主要是 api.ts 对接 |
| 8 | SSE 降级轮询 | P1 | 连接失败时自动回退 |
---
## 三、与其他课题的关系
| 课题 | 关系 |
|------|------|
| 课题1-2(执行模型+事件驱动) | Dashboard 的数据来源 + SSE 事件源 |
| 课题3(挑战/评审) | Checkpoint 面板的交互 + 状态流转按钮 |
| 课题4(拆解+上下文) | TaskModal 中的执行图展示 |
| 课题6(经验沉淀) | AI Briefing 的内容来源 + TaskModal 关联经验 |
| 课题11(多项目) | 项目切换器 + 任务卡片项目标签 |
| M3Checkpoint+Artifact | Checkpoint 三种组件 + ArtifactPanel 集成 |
---
## 四、结题说明
课题7+9 的设计决策在 v2.6.6 已确定(四种交互模式、推送分级、信息架构、5页结构),本次方案文档补充了:
- ✅ Checkpoint 交互规范(三种类型 + 颜色 + 交互方式)
- ✅ 异常通知触发条件和内容模板
- ✅ AI Briefing 格式(日报/周报模板)
- ✅ v1.0 已有 11 个 Tab 页完整清单和保留策略
- ✅ 任务看板 v2 重新设计(卡片/详情/项目切换/通知中心)
- ✅ 实时推送机制选型(SSE + 降级轮询)
- ✅ 开发清单(8 项,按优先级排序)
**剩余工作属于编码范畴**,设计层面可结题。