docs: v4.1 協作協定重構、新增工具配置指南
- 新增 spec_v4_collaboration_protocol.md:Message Envelope、Intent 類型、 Pipeline 改由策略師主導、Lobster DSL 取代 Standing Orders、輸出 Schema 定義 - 新增 guide_tools_skills.md:每個角色的 MCP Tools + Skills 配置對照表 - 改寫 guide_sessions_tools.md:修正 maxSpawnDepth 行為,sessions_send 不授權給子 agent - 更新 agent_roster.md:新增 MCP Tools / Skills 欄位 - 更新排程記憶文件:移除舊協作章節,指向新協作協定 - 更新 INDEX.md:v4.1 索引與變更紀錄 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# KingClawArmy 文件索引
|
||||
|
||||
> 版本:v4.0 | 更新日期:2026-04-09
|
||||
> 版本:v4.1 | 更新日期:2026-04-10
|
||||
|
||||
---
|
||||
|
||||
@@ -12,7 +12,8 @@
|
||||
|---|---|
|
||||
| [spec_v4_system_overview.md](spec/spec_v4_system_overview.md) | 系統目標、設計原則、整體架構、為什麼只用 OpenClaw |
|
||||
| [spec_v4_org_and_roles.md](spec/spec_v4_org_and_roles.md) | 組織架構、Agent 清單(15~17 agents)、各角色定義 |
|
||||
| [spec_v4_collaboration_scheduling_memory.md](spec/spec_v4_collaboration_scheduling_memory.md) | 協作模式、排程觸發、記憶架構、Discord Server 結構 |
|
||||
| [spec_v4_collaboration_protocol.md](spec/spec_v4_collaboration_protocol.md) | **協作協定**:Message Envelope、Intent 類型、Pipeline 架構(策略師主導)、spawn/send 規則、輸出 Schema、Review Gate、HITL、錯誤處理 |
|
||||
| [spec_v4_collaboration_scheduling_memory.md](spec/spec_v4_collaboration_scheduling_memory.md) | 排程觸發、記憶架構、Discord Server 結構 |
|
||||
| [spec_v4_rollout_and_risks.md](spec/spec_v4_rollout_and_risks.md) | 上線計畫(Phase 0~5)、風險限制、成本控制、停損信號 |
|
||||
|
||||
---
|
||||
@@ -25,8 +26,9 @@
|
||||
|---|---|
|
||||
| [guide_openclaw_config.md](guides/guide_openclaw_config.md) | openclaw.json 結構、Discord 接入、Gateway 管理、常用指令 |
|
||||
| [guide_workspace_files.md](guides/guide_workspace_files.md) | 8 個 Workspace 設定檔的正確用途與應放內容 |
|
||||
| [guide_sessions_tools.md](guides/guide_sessions_tools.md) | sessions_spawn / sessions_send 參數、使用場景、Agents vs Sub-agent run 的區別 |
|
||||
| [agent_roster.md](agent_roster.md) | 全體 Agent 花名冊:職稱、代號、模型、狀態、輸出格式 |
|
||||
| [guide_sessions_tools.md](guides/guide_sessions_tools.md) | **sessions_spawn / sessions_send 行為**:maxSpawnDepth 工具權限、判斷規則、常見錯誤 |
|
||||
| [guide_tools_skills.md](guides/guide_tools_skills.md) | **MCP Tools & Skills 配置**:每個角色的外部工具/技能、安裝方式、安全注意事項 |
|
||||
| [agent_roster.md](agent_roster.md) | 全體 Agent 花名冊:職稱、代號、模型、狀態、輸出格式、工具/技能配置 |
|
||||
|
||||
---
|
||||
|
||||
@@ -40,3 +42,16 @@
|
||||
| Phase 3 | 行銷閉環(3 agents) | 待開始 |
|
||||
| Phase 4 | 內容閉環(2 agents) | 待開始 |
|
||||
| Phase 5 | 工程團隊(依需求) | 待開始 |
|
||||
|
||||
---
|
||||
|
||||
## v4.0 → v4.1 主要變更
|
||||
|
||||
| 變更 | 說明 |
|
||||
|---|---|
|
||||
| 新增協作協定 | Message Envelope + Intent 取代自由文字溝通 |
|
||||
| Pipeline 改由策略師主導 | CEO 只管啟動和例外,策略師 own 量化 pipeline |
|
||||
| 修正 spawn/send 行為 | 釐清 maxSpawnDepth、sessions_send 不授權給子 agent |
|
||||
| 新增輸出 Schema | 每個 agent 的 JSON 輸出格式定義 |
|
||||
| 新增工具/技能配置 | 每個角色的 MCP Tools + Skills 對照表 |
|
||||
| Standing Orders → Lobster DSL | Pipeline 流程改用結構化定義 |
|
||||
|
||||
@@ -1,28 +1,44 @@
|
||||
# KingClawArmy Agent 花名冊
|
||||
|
||||
> 更新日期:2026-04-09
|
||||
> 更新日期:2026-04-10
|
||||
> 版本:v4.1(新增工具/技能配置、修正 pipeline 流程)
|
||||
|
||||
---
|
||||
|
||||
## 管理團隊(Phase 1)
|
||||
|
||||
| 職稱 | Emoji | Agent ID | 模型 | 狀態 | 輸出格式 |
|
||||
|---|---|---|---|---|---|
|
||||
| 執行長 | 🎯 | `ceo_coo` | gpt-5.4 | 常駐 | `Task_Spec.json`, `Final_Decision_Packet.json` |
|
||||
| 秘書 | 📋 | `secretary` | gpt-5.4-mini | 常駐 | `Meeting_Summary.json`, `State_Diff.json`, `Todo_List.json` |
|
||||
| 審查員 | 🔍 | `reviewer` | gpt-5.4 | Warm | `Review_Report.json` |
|
||||
| 職稱 | Emoji | Agent ID | 模型 | 狀態 | 輸出格式 | MCP Tools | Skills |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 執行長 | 🎯 | `ceo_coo` | gpt-5.4 | 常駐 | `Task_Spec.json`, `Final_Decision_Packet.json` | — | — |
|
||||
| 秘書 | 📋 | `secretary` | gpt-5.4-mini | 常駐 | `Meeting_Summary.json`, `State_Diff.json`, `Todo_List.json` | — | GOG(選配) |
|
||||
| 審查員 | 🔍 | `reviewer` | gpt-5.4 | Warm | `Review_Report.json` | — | — |
|
||||
|
||||
## 量化研究團隊(Phase 2)
|
||||
|
||||
| 職稱 | Emoji | Agent ID | 模型 | 狀態 | 輸出格式 |
|
||||
|---|---|---|---|---|---|
|
||||
| 財經情報研究員 | 💹 | `finance_researcher` | gpt-5.4-mini | 喚醒 | `Finance_Research_Brief.json` |
|
||||
| 市場結構研究員 | 📈 | `market_structure_researcher` | gpt-5.4-mini | 喚醒 | `Market_Structure_Report.json` |
|
||||
| 多方研究員 | 🚀 | `bullish_researcher` | gpt-5.4-mini | 喚醒 | `Bullish_Brief.json` |
|
||||
| 空方研究員 | 🛡️ | `bearish_researcher` | gpt-5.4-mini | 喚醒 | `Bearish_Brief.json` |
|
||||
| 量化策略師 | 🧭 | `quant_strategist` | gpt-5.4 | 喚醒 | `Strategy_Thesis.json` |
|
||||
| 量化工程師 | ⚙️ | `quant_engineer` | gpt-5.4 | 喚醒 | `Backtest_Report.json` |
|
||||
| 資料分析師 | 🧪 | `data_analyst` | gpt-5.4-mini | 喚醒 | `Data_Analysis_Report.json` |
|
||||
| 職稱 | Emoji | Agent ID | 模型 | 狀態 | 輸出格式 | MCP Tools | Skills |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 財經情報研究員 | 💹 | `finance_researcher` | gpt-5.4-mini | 喚醒 | `Finance_Research_Brief.json` | Tavily, Firecrawl, Financial Datasets | Deep Research |
|
||||
| 市場結構研究員 | 📈 | `market_structure_researcher` | gpt-5.4-mini | 喚醒 | `Market_Structure_Report.json` | TradingView, Alpha Vantage | Deep Research |
|
||||
| 多方研究員 | 🚀 | `bullish_researcher` | gpt-5.4-mini | 喚醒 | `Bullish_Brief.json` | — | — |
|
||||
| 空方研究員 | 🛡️ | `bearish_researcher` | gpt-5.4-mini | 喚醒 | `Bearish_Brief.json` | — | — |
|
||||
| 量化策略師 | 🧭 | `quant_strategist` | gpt-5.4 | 喚醒 | `Strategy_Thesis.json` | — | — |
|
||||
| 回測工程師 | ⚙️ | `quant_engineer` | gpt-5.4 | 喚醒 | `Backtest_Report.json` | E2B / FinClaw | Code Reviewer |
|
||||
| 資料分析師 | 🧪 | `data_analyst` | gpt-5.4-mini | 喚醒 | `Data_Analysis_Report.json` | E2B, Plotly | Deep Research |
|
||||
|
||||
## 行銷策略團隊(Phase 3 — 預規劃)
|
||||
|
||||
| 職稱 | Emoji | Agent ID | 模型 | 狀態 | 輸出格式 | MCP Tools | Skills |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 市場研究員 | 🔎 | `market_researcher` | gpt-5.4-mini | 喚醒 | `Market_Research_Brief.json` | Tavily, Exa, Firecrawl | Deep Research |
|
||||
| 策略總監 | 🎯 | `strategy_director` | gpt-5.4 | 喚醒 | `Brand_Strategy_Plan.json` | — | — |
|
||||
| 投放分析師 | 📊 | `ads_analyst` | gpt-5.4-mini | 喚醒 | `Ads_Performance_Report.json` | 廣告平台 API, Plotly | — |
|
||||
|
||||
## 內容創意團隊(Phase 4 — 預規劃)
|
||||
|
||||
| 職稱 | Emoji | Agent ID | 模型 | 狀態 | 輸出格式 | MCP Tools | Skills |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| 文案撰寫員 | ✏️ | `copywriter` | gpt-5.4 | 喚醒 | `Copywriting_Pack.json` | — | SEO Blog Writer |
|
||||
| 創意總監 | 🎨 | `creative_director` | gpt-5.4 | 喚醒 | `Creative_Brief.json` | DALL-E / Flux, Firecrawl | — |
|
||||
|
||||
## 閒聊
|
||||
|
||||
@@ -32,60 +48,98 @@
|
||||
|
||||
---
|
||||
|
||||
## 內建工具分配
|
||||
|
||||
每個 agent 除了外部 MCP/Skills 外,還有 OpenClaw 內建工具:
|
||||
|
||||
| Agent | 內建工具 |
|
||||
|---|---|
|
||||
| 🎯 CEO | `sessions_spawn`, `sessions_send`, `cron`, `memory_search`, Discord 工具 |
|
||||
| 📋 秘書 | `memory_search`, `memory_write`, Discord 工具 |
|
||||
| 🔍 審查員 | `memory_search` |
|
||||
| 💹 情報員 | `memory_write`, `memory_search` |
|
||||
| 📈 市場結構 | `memory_search` |
|
||||
| 🚀 多方 | `memory_search` |
|
||||
| 🛡️ 空方 | `memory_search` |
|
||||
| 🧭 策略師 | `memory_search`, `sessions_spawn`, `subagents`, `sessions_list`, `sessions_history` |
|
||||
| ⚙️ 回測 | `exec`, `code_execution`, `file_ops`, `memory_write` |
|
||||
| 🧪 資料分析 | `code_execution`, `memory_search`, `memory_write` |
|
||||
|
||||
> **注意:** 策略師的 session 工具需要 `maxSpawnDepth ≥ 2` 才會生效(他是 depth-1 編排者)。
|
||||
|
||||
---
|
||||
|
||||
## Pipeline 流程
|
||||
|
||||
```
|
||||
總司令 → 🎯執行長 sessions_send → 🧭策略師(pipeline 主人)
|
||||
│
|
||||
sessions_send ┌───┬───┼───┐
|
||||
↓ ↓ ↓ ↓
|
||||
💹 📈 🚀 🛡️
|
||||
情報 結構 多方 空方
|
||||
↓ ↓ ↓ ↓
|
||||
└───┴───┴───┘
|
||||
↓ 回覆策略師
|
||||
🧭策略師收斂
|
||||
↓
|
||||
sessions_send → 🔍審查員
|
||||
↕ revise 直接來回(退回原研究員修改)
|
||||
pass ↓
|
||||
🧭策略師發 #策略結果
|
||||
↓
|
||||
sessions_send → 🎯執行長「完成了」
|
||||
↓
|
||||
🎯執行長回報總司令
|
||||
董事長 → 🎯執行長 spawn → 🧭策略師(pipeline owner, depth 1)
|
||||
│
|
||||
sessions_spawn ┌─┴──────────┐
|
||||
↓ ↓
|
||||
💹情報員 (等待)
|
||||
(depth 2)
|
||||
↓ announce
|
||||
📈市場結構
|
||||
(depth 2)
|
||||
↓ announce
|
||||
sessions_spawn ┌─┴─┐
|
||||
↓ ↓
|
||||
🚀 🛡️ ← 並行
|
||||
多方 空方
|
||||
(depth 2, depth 2)
|
||||
↓ ↓
|
||||
announce
|
||||
↓
|
||||
🧭策略師收斂
|
||||
Strategy_Thesis.json
|
||||
↓
|
||||
sessions_spawn → 🔍審查員 (depth 2)
|
||||
↕ revise → 重新 spawn 被退回角色(最多 3 輪)
|
||||
pass ↓
|
||||
sessions_spawn → 🧪資料分析 (depth 2)
|
||||
↓ announce
|
||||
🧭策略師 announce 給 🎯執行長
|
||||
↓
|
||||
🎯執行長 → Discord #審批 @董事長
|
||||
|
||||
例外:block → 策略師通知執行長 → 執行長發 #異常
|
||||
例外:HITL → 策略師通知執行長 → 執行長發 #審批 @總司令
|
||||
例外:每日情報 → 執行長直接 send 財經情報研究員 → 研究員自己發 #每日情報
|
||||
例外:block → 策略師 escalate 執行長 → 執行長發 #異常
|
||||
例外:revise > 3 輪 → 策略師 escalate 執行長 → 執行長發 #審批 @董事長
|
||||
例外:每日情報 → 執行長 spawn 情報員 → 情報員 announce → 執行長發 #每日情報
|
||||
例外:每日摘要 → 秘書自己發 #每日摘要 / #決策紀錄
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 通訊方式
|
||||
|
||||
| 方式 | 用途 | 誰用 |
|
||||
|---|---|---|
|
||||
| `sessions_send` | Agent 之間直接對話(最多 5 輪) | 所有 agent |
|
||||
| `sessions_spawn` | 背景獨立任務(非阻塞) | 需要並行處理時 |
|
||||
| `message` 工具 | 發到 Discord 頻道 | 只有通過審查的內容 |
|
||||
| 方式 | 用途 | 誰能用 | 限制 |
|
||||
|---|---|---|---|
|
||||
| `sessions_spawn` | 非阻塞派工 | CEO(depth 0)、策略師(depth 1, 需 maxSpawnDepth ≥ 2) | 最多 5 並行 |
|
||||
| `sessions_send` | 同步即時對話 | **僅 depth-0 agent**(CEO、秘書) | Sender 阻塞等回覆 |
|
||||
| `announce` | 子 agent 回傳結果 | 所有被 spawn 的 agent | 單向往上 |
|
||||
| `message` 工具 | 發到 Discord 頻道 | 通過審查的內容 | — |
|
||||
|
||||
---
|
||||
|
||||
## Discord 頻道
|
||||
|
||||
| 頻道 | 誰發 | 內容 |
|
||||
|---|---|---|
|
||||
| #執行長 | 🎯 執行長 | 回覆總司令、進度回報 |
|
||||
| #執行長 | 🎯 執行長 | 回覆董事長、進度回報 |
|
||||
| #審批 | 🎯 執行長 | HITL 審批請求 |
|
||||
| #異常 | 🎯 執行長 | block、錯誤、異常 |
|
||||
| #每日情報 | 💹 財經情報研究員 | 每日情報摘要 |
|
||||
| #研究討論 | 🧭 策略師 | 研究過程摘要(pass 後) |
|
||||
| #策略結果 | 🧭 策略師 | 最終策略定稿(pass 後) |
|
||||
| #每日情報 | 🎯 執行長(轉發) | 情報員的每日情報摘要 |
|
||||
| #研究討論 | 🎯 執行長(轉發) | 研究過程摘要(pass 後) |
|
||||
| #策略結果 | 🎯 執行長(轉發) | 最終策略定稿(pass 後) |
|
||||
| #每日摘要 | 📋 秘書 | 每日工作摘要 |
|
||||
| #決策紀錄 | 📋 秘書 | 重大決策存檔 |
|
||||
| #閒聊 | 🌿 小安 | 閒聊放鬆 |
|
||||
|
||||
---
|
||||
|
||||
## 模型分級
|
||||
|
||||
| 等級 | 模型 | 適用角色 |
|
||||
|---|---|---|
|
||||
| reasoning-heavy | gpt-5.4 | 執行長、審查員、量化策略師、量化工程師 |
|
||||
| reasoning-heavy | gpt-5.4 | 執行長、審查員、量化策略師、回測工程師 |
|
||||
| general / research | gpt-5.4-mini | 秘書、財經情報、市場結構、多空研究、資料分析、小安 |
|
||||
|
||||
@@ -1,25 +1,28 @@
|
||||
# sessions_spawn / sessions_send 使用指南
|
||||
|
||||
> 適用版本:OpenClaw v2026.4.x
|
||||
> 更新日期:2026-04-09
|
||||
> 更新日期:2026-04-10
|
||||
> 狀態:v4.1 修正版(修正 spawn/send 工具權限行為)
|
||||
|
||||
---
|
||||
|
||||
## Agents vs Sub-agent Runs
|
||||
## 核心概念
|
||||
|
||||
### Agent vs Sub-agent Run
|
||||
|
||||
**Agent** = 有自己 workspace、設定檔、記憶的持久實體。在 `openclaw.json` 的 `agents.list` 裡定義。
|
||||
|
||||
**Sub-agent run** = 當一個 Agent 被 `sessions_spawn` 呼叫時,那次在隔離 session 裡的執行。Session key 格式:`agent:<agentId>:subagent:<uuid>`。
|
||||
**Sub-agent run** = 當一個 Agent 被 `sessions_spawn` 呼叫時,在隔離 session 裡的那次執行。Session key 格式:`agent:<agentId>:subagent:<uuid>`。
|
||||
|
||||
兩者不是不同等級,只是存在方式不同:同一個 Agent 可以被 spawn 成 sub-agent run 來執行任務,完成後 announce 結果回去。
|
||||
同一個 Agent 可以被 spawn 成 sub-agent run 來執行任務,完成後 announce 結果回 parent。
|
||||
|
||||
---
|
||||
|
||||
## sessions_spawn — 派工(非阻塞)
|
||||
## sessions_spawn — 非阻塞派工
|
||||
|
||||
**行為:** 立即返回 `runId` 和 `childSessionKey`,不等待結果。對方 Agent 在獨立 session 執行,完成後 announce 結果。
|
||||
|
||||
**使用場景:** 獨立任務,不需要即時來回溝通。
|
||||
**使用場景:** Pipeline 步驟交接、獨立任務、並行研究。
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -41,23 +44,18 @@
|
||||
| `sandbox: "require"` | 強制沙箱隔離 |
|
||||
| `model` | 覆蓋模型設定 |
|
||||
|
||||
**限制:**
|
||||
- 最多 5 層深(spawn 的 spawn 的 spawn...)
|
||||
- 最多 5 個並行
|
||||
- 預設葉層 sub-agent 不具備 sessions 工具(無法再 spawn)
|
||||
|
||||
---
|
||||
|
||||
## sessions_send — 同步溝通(可等待回覆)
|
||||
## sessions_send — 同步對話(阻塞)
|
||||
|
||||
**行為:** 向另一個 session 傳訊,可設定是否等待回覆。支援最多 5 輪來回。
|
||||
**行為:** 向另一個 session 傳訊,sender 等待回覆。支援最多 5 輪來回。
|
||||
|
||||
**使用場景:** 追問細節、審查來回、交叉確認。
|
||||
**使用場景:** CEO 問秘書即時問題、depth-0 agent 之間的直接對話。
|
||||
|
||||
```json
|
||||
{
|
||||
"sessionKey": "agent:reviewer:subagent:xxxx",
|
||||
"message": "請審查以下量化策略內容:[...]",
|
||||
"sessionKey": "agent:secretary:subagent:xxxx",
|
||||
"message": "給我今日工作摘要",
|
||||
"timeoutSeconds": 60
|
||||
}
|
||||
```
|
||||
@@ -74,14 +72,82 @@
|
||||
|
||||
---
|
||||
|
||||
## maxSpawnDepth — 子 agent 工具權限控制
|
||||
|
||||
這是控制嵌套 spawn 能力的核心參數。
|
||||
|
||||
### 設定方式
|
||||
|
||||
在 `openclaw.json` 中設定:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"tools": {
|
||||
"subagents": {
|
||||
"maxSpawnDepth": 2, // 允許 depth-1 子 agent 再 spawn
|
||||
"maxChildrenPerAgent": 5, // 每個 session 最多 5 個子 agent(可調至 20)
|
||||
"maxConcurrent": 8 // 全局最大併發
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 各深度的工具權限
|
||||
|
||||
| 深度 | 角色 | 可用的 Session 工具 |
|
||||
|---|---|---|
|
||||
| **Depth 0**(主 agent) | 完整權限 | `sessions_spawn`, `sessions_send`, `subagents`, `sessions_list`, `sessions_history` |
|
||||
| **Depth 1**(maxSpawnDepth=1) | 葉層 | ❌ 無任何 session 工具 |
|
||||
| **Depth 1**(maxSpawnDepth≥2) | 編排者 | ✅ `sessions_spawn`, `subagents`, `sessions_list`, `sessions_history` |
|
||||
| **Depth 2+** | 永遠葉層 | ❌ 無任何 session 工具(`sessions_spawn` 永遠被拒絕) |
|
||||
|
||||
### 關鍵限制
|
||||
|
||||
| 限制 | 說明 |
|
||||
|---|---|
|
||||
| **`sessions_send` 不授權給任何子 agent** | 無論 maxSpawnDepth 設多少,被 spawn 的 agent 都不能用 `sessions_send` |
|
||||
| **通訊方向為單向往上** | 子 agent 只能 announce 結果回 parent,不能橫向溝通 |
|
||||
| **同層不能對話** | 兩個 depth-2 的子 agent 之間無法直接通訊 |
|
||||
| **Depth 2 永遠是葉層** | 即使 maxSpawnDepth > 2,depth-2 的 agent 也不能再 spawn |
|
||||
|
||||
### KingClawArmy 建議設定
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"tools": {
|
||||
"subagents": {
|
||||
"maxSpawnDepth": 2, // 策略師(depth 1)可以 spawn 研究員(depth 2)
|
||||
"maxChildrenPerAgent": 7, // 策略師最多需要 spawn 7 個研究員
|
||||
"maxConcurrent": 8,
|
||||
"allowAgents": ["*"] // 允許 spawn 任何 agent
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 使用情境對照
|
||||
|
||||
| 情境 | 工具 | 原因 |
|
||||
|---|---|---|
|
||||
| 蒐集資料 | spawn | 獨立任務,不需互動 |
|
||||
| 寫回測程式 | spawn | 獨立任務 |
|
||||
| 多空平行研究 | spawn(兩個) | 並行執行 |
|
||||
| 追問研究員細節 | send | 兩個 agent 直接對話 |
|
||||
| 審查員來回審查 | send | 需要 ping-pong |
|
||||
| 請秘書做摘要 | spawn 或 send | 依是否需要等待 |
|
||||
| Coordinator 討論 | send(逐一收集) | 整合多方觀點 |
|
||||
| CEO 啟動量化 pipeline | **spawn** 策略師 | CEO 不能阻塞 |
|
||||
| 策略師派工給情報員 | **spawn** | 獨立任務(策略師是 depth-1 編排者) |
|
||||
| 策略師並行派工多方/空方 | **spawn**(兩個) | 並行執行 |
|
||||
| 策略師發現報告缺漏 | **重新 spawn** | 帶上前次結果 + 修改意見 |
|
||||
| 策略師提交審查 | **spawn** 審查員 | 審查是獨立任務 |
|
||||
| 審查退回修改 | 策略師**重新 spawn** | 帶上 Review_Report.json 的 issues |
|
||||
| CEO 問秘書今日摘要 | **send** | CEO 是 depth-0,需要即時回覆 |
|
||||
| 你在 Discord 問 CEO | **Discord message** | 不經 session 工具 |
|
||||
|
||||
---
|
||||
|
||||
## 常見錯誤
|
||||
|
||||
| 錯誤 | 為什麼不行 | 正確做法 |
|
||||
|---|---|---|
|
||||
| 策略師 send 研究員追問 | 被 spawn 的 agent 沒有 `sessions_send` | 重新 spawn,帶上問題 |
|
||||
| CEO 用 send 啟動 pipeline | CEO 會阻塞等整條 pipeline 跑完 | 用 spawn |
|
||||
| 研究員之間互相 send | 同層子 agent 不能橫向通訊 | 各自 announce 回策略師,由策略師整合 |
|
||||
| 用 Standing Orders 定義 pipeline | 自然語言無強制力 | 用 Lobster DSL 定義 flow |
|
||||
| Agent 用自由文字溝通 | 接收方要猜意圖 | 用 Message Envelope + intent |
|
||||
|
||||
256
docs/guides/guide_tools_skills.md
Normal file
256
docs/guides/guide_tools_skills.md
Normal file
@@ -0,0 +1,256 @@
|
||||
# MCP Tools & Skills 配置指南
|
||||
|
||||
> 適用版本:OpenClaw v2026.4.x
|
||||
> 更新日期:2026-04-10
|
||||
|
||||
---
|
||||
|
||||
## MCP Tools vs Skills 的差異
|
||||
|
||||
| | MCP Tools | Skills |
|
||||
|---|---|---|
|
||||
| **是什麼** | 獨立程序,透過 Model Context Protocol 提供能力 | `SKILL.md` 資料夾,教 agent 做事的方法論 |
|
||||
| **類比** | 一把工具(鋸子、螺絲起子) | SOP 手冊(怎麼組裝傢俱) |
|
||||
| **範例** | Tavily = 搜尋能力 | Deep Research = 結構化研究流程 |
|
||||
| **可移植性** | 跨平台(Claude Desktop、Cursor 等都能用) | OpenClaw 專用 |
|
||||
| **關係** | 獨立運作 | 65% 的 skill 底層會呼叫 MCP tool |
|
||||
| **安裝** | `openclaw.json` 設定 | `clawhub install <slug>` |
|
||||
|
||||
**簡單說:MCP 是手,Skill 是腦裡的方法論。按角色搭配。**
|
||||
|
||||
---
|
||||
|
||||
## 配置原則
|
||||
|
||||
| 原則 | 說明 |
|
||||
|---|---|
|
||||
| **按角色配,不要全裝** | 工具定義會佔 context token,太多工具 agent 會選錯 |
|
||||
| **蒐集者裝工具,判斷者不裝** | 情報員需要搜尋;策略師只需要讀報告收斂 |
|
||||
| **一個 MCP 可以多人共用** | MCP server 啟動一次,多個 agent 共用同一個 |
|
||||
| **先跑再加** | 先用最少工具跑通 pipeline,有需求再加 |
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 — 量化研究團隊配置
|
||||
|
||||
### 💹 財經情報研究員 `finance_researcher`
|
||||
|
||||
**角色定位:** 資料蒐集者,需要大量外部資料
|
||||
|
||||
| 類型 | 工具 | 用途 | 安裝方式 |
|
||||
|---|---|---|---|
|
||||
| MCP | **Tavily** | AI 優化搜尋,自動帶引用來源 | API key(有免費額度) |
|
||||
| MCP | **Firecrawl** | 爬網頁全文,7 秒抓完一頁 | API key |
|
||||
| MCP | **Financial Datasets** | 財報、SEC 文件、股價、加密貨幣新聞 | API key |
|
||||
| Skill | **Deep Research** | 結構化深度研究流程:搜尋→多源交叉驗證→綜合 | `clawhub install deep-research` |
|
||||
| 內建 | `memory_write` | 寫入每日筆記 | 內建 |
|
||||
| 內建 | `memory_search` | 搜尋歷史記憶 | 內建 |
|
||||
|
||||
### 📈 市場結構研究員 `market_structure_researcher`
|
||||
|
||||
**角色定位:** 技術分析專家,需要行情數據
|
||||
|
||||
| 類型 | 工具 | 用途 | 安裝方式 |
|
||||
|---|---|---|---|
|
||||
| MCP | **TradingView MCP** | 30+ 技術指標、K 線圖、情緒指標 | 自架 Python |
|
||||
| MCP | **Alpha Vantage** | 即時/歷史行情、外匯、加密、總經數據 | API key(免費) |
|
||||
| Skill | **Deep Research** | 配合行情數據做結構化分析 | `clawhub install deep-research` |
|
||||
| 內建 | `memory_search` | 搜尋歷史記憶 | 內建 |
|
||||
|
||||
### 🚀 多方研究員 `bullish_researcher`
|
||||
|
||||
**角色定位:** 觀點整理者,不做資料蒐集
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| 內建 | `memory_search` | 讀取情報員、市場結構的報告(via QMD) |
|
||||
|
||||
> 不需要外部 MCP 或 Skill。他的 input 是其他 agent 的報告,不是原始數據。
|
||||
> 給他搜尋工具會讓他跑去自己找資料,偏離角色分工。
|
||||
|
||||
### 🛡️ 空方研究員 `bearish_researcher`
|
||||
|
||||
同多方研究員,只有 `memory_search`。
|
||||
|
||||
### 🧭 量化策略師 `quant_strategist`
|
||||
|
||||
**角色定位:** 收斂者 + Pipeline Owner
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| 內建 | `memory_search` | 讀取所有研究報告 |
|
||||
| 內建 | `sessions_spawn` | 派工給研究員(需要 maxSpawnDepth ≥ 2) |
|
||||
| 內建 | `subagents` | 管理子 agent |
|
||||
| 內建 | `sessions_list` | 查看 session 狀態 |
|
||||
|
||||
> 不需要外部工具。策略師的價值在判斷和收斂,不在蒐集。
|
||||
|
||||
### ⚙️ 回測工程師 `quant_engineer`
|
||||
|
||||
**角色定位:** 程式碼執行者
|
||||
|
||||
| 類型 | 工具 | 用途 | 安裝方式 |
|
||||
|---|---|---|---|
|
||||
| MCP | **E2B** | 沙箱 Python 環境,裝 pandas/numpy/backtrader | API key |
|
||||
| MCP | **FinClaw** | AI 量化引擎:回測、策略進化 | 自架 Python |
|
||||
| Skill | **Code Reviewer** | 回測程式碼自我檢查 | `clawhub install code-reviewer` |
|
||||
| 內建 | `exec` | 執行命令 | 內建 |
|
||||
| 內建 | `file_ops` | 讀寫檔案 | 內建 |
|
||||
| 內建 | `memory_write` | 記錄回測結果 | 內建 |
|
||||
|
||||
### 🧪 資料分析員 `data_analyst`
|
||||
|
||||
**角色定位:** 數據分析 + 視覺化
|
||||
|
||||
| 類型 | 工具 | 用途 | 安裝方式 |
|
||||
|---|---|---|---|
|
||||
| MCP | **E2B** | 跟回測工程師共用沙箱環境 | 同上 |
|
||||
| MCP | **Plotly MCP** | 49+ 圖表類型,自然語言生圖 | 自架 Python |
|
||||
| Skill | **Deep Research** | 拉外部 benchmark 比對分析 | `clawhub install deep-research` |
|
||||
| 內建 | `code_execution` | 跑分析腳本 | 內建 |
|
||||
| 內建 | `memory_search` | 搜尋歷史數據 | 內建 |
|
||||
| 內建 | `memory_write` | 記錄分析結果 | 內建 |
|
||||
|
||||
---
|
||||
|
||||
## Phase 1 — 管理團隊配置
|
||||
|
||||
### 🎯 CEO `ceo_coo`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| 內建 | `sessions_spawn` | 啟動 pipeline、派工 |
|
||||
| 內建 | `sessions_send` | 問秘書即時問題(depth-0 才能用) |
|
||||
| 內建 | `cron` | 排程管理 |
|
||||
| 內建 | `memory_search` | 搜尋歷史 |
|
||||
| 內建 | Discord 工具 | 跟董事長溝通、推送通知 |
|
||||
|
||||
> CEO 不需要外部工具,他的工作是管理和協調。
|
||||
|
||||
### 📋 秘書 `secretary`
|
||||
|
||||
| 類型 | 工具 | 用途 | 安裝方式 |
|
||||
|---|---|---|---|
|
||||
| Skill | **GOG (Google Workspace)** | Gmail + Calendar + Drive + Sheets | `clawhub install gog`(如果用 Google 生態) |
|
||||
| 內建 | `memory_search` | 搜尋所有 agent 記憶(via QMD) |
|
||||
| 內建 | `memory_write` | 寫入摘要、壓縮記憶 |
|
||||
| 內建 | Discord 工具 | 推送每日摘要 |
|
||||
|
||||
### 🔍 審查員 `reviewer`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| 內建 | `memory_search` | 讀取被審查的產出 |
|
||||
|
||||
> 審查員只需要讀,不需要搜尋或執行。純粹的判斷角色。
|
||||
|
||||
---
|
||||
|
||||
## Phase 3 — 行銷策略團隊(預規劃)
|
||||
|
||||
### 市場研究員 `market_researcher`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| MCP | **Tavily** | 共用搜尋(同情報員) |
|
||||
| MCP | **Exa** | 語意搜尋,按「意思」找內容 |
|
||||
| MCP | **Firecrawl** | 爬競品網站 |
|
||||
| Skill | **Deep Research** | 結構化市場研究 |
|
||||
| 內建 | `memory_write` | 記錄研究 |
|
||||
|
||||
### 策略總監 `strategy_director`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| 內建 | `memory_search` | 讀取市場研究報告 |
|
||||
|
||||
> 同策略師邏輯:收斂者不需要外部工具。
|
||||
|
||||
### 投放分析師 `ads_analyst`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| MCP | **廣告平台 API** | Google Ads / Meta Ads 數據(需自行包 MCP) |
|
||||
| MCP | **Plotly MCP** | 投放報表視覺化 |
|
||||
| 內建 | `memory_write` | 記錄 KPI |
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — 內容創意團隊(預規劃)
|
||||
|
||||
### 文案撰寫員 `copywriter`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| Skill | **SEO Blog Writer** | 搜尋優化文章結構 |
|
||||
| 內建 | `memory_search` | 讀取品牌語氣庫 |
|
||||
|
||||
### 創意總監 `creative_director`
|
||||
|
||||
| 類型 | 工具 | 用途 |
|
||||
|---|---|---|
|
||||
| MCP | **DALL-E / Flux MCP** | 生成參考圖、素材 mock |
|
||||
| MCP | **Firecrawl** | 抓競品視覺參考 |
|
||||
| 內建 | `memory_search` | 讀取品牌規範 |
|
||||
|
||||
---
|
||||
|
||||
## MCP Server 安裝總覽
|
||||
|
||||
Phase 2 只需要安裝 5 個外部 MCP server:
|
||||
|
||||
| # | MCP Server | 誰用 | 類型 | 優先級 |
|
||||
|---|---|---|---|---|
|
||||
| 1 | **Tavily** | 情報員 (+Phase 3 市場研究員) | API key | 必裝 |
|
||||
| 2 | **Firecrawl** | 情報員 (+Phase 3/4) | API key | 必裝 |
|
||||
| 3 | **Financial Datasets** 或 **Alpha Vantage** | 情報員 + 市場結構 | API key | 必裝 |
|
||||
| 4 | **TradingView MCP** | 市場結構 | 自架 Python | 必裝 |
|
||||
| 5 | **E2B** 或 **FinClaw** | 回測 + 資料分析 | API key / 自架 | 必裝 |
|
||||
|
||||
Phase 3 新增:
|
||||
|
||||
| # | MCP Server | 誰用 | 類型 |
|
||||
|---|---|---|---|
|
||||
| 6 | **Exa** | 市場研究員 | API key |
|
||||
| 7 | **廣告平台 API** | 投放分析師 | 自行包裝 |
|
||||
| 8 | **Plotly MCP** | 資料分析 + 投放分析 | 自架 Python |
|
||||
|
||||
Phase 4 新增:
|
||||
|
||||
| # | MCP Server | 誰用 | 類型 |
|
||||
|---|---|---|---|
|
||||
| 9 | **DALL-E / Flux** | 創意總監 | API key |
|
||||
|
||||
---
|
||||
|
||||
## Skill 安裝總覽
|
||||
|
||||
| Skill | 誰用 | 安裝指令 | Phase |
|
||||
|---|---|---|---|
|
||||
| **Deep Research** | 情報員、市場結構、資料分析 | `clawhub install deep-research` | 2 |
|
||||
| **Code Reviewer** | 回測工程師 | `clawhub install code-reviewer` | 2 |
|
||||
| **GOG** | 秘書(如果用 Google) | `clawhub install gog` | 1 |
|
||||
| **SEO Blog Writer** | 文案撰寫員 | `clawhub install seo-blog-writer` | 4 |
|
||||
|
||||
---
|
||||
|
||||
## 安全注意事項
|
||||
|
||||
### ClawHub 安全
|
||||
|
||||
ClawHub 曾發生 **ClawHavoc** 惡意 skill 攻擊事件,偽造熱門 skill 名稱植入後門。
|
||||
|
||||
| 檢查項目 | 說明 |
|
||||
|---|---|
|
||||
| 看原始碼 | 安裝前檢查 `SKILL.md` 和 install 腳本 |
|
||||
| 看安裝數 | 優先選高安裝數 + verified 標記的 |
|
||||
| 看名稱 | 不要裝 typo 版本(如 `deep-reserach`) |
|
||||
| 沙箱隔離 | 不信任的 skill 用 `sandbox: "require"` |
|
||||
|
||||
### MCP Server 安全
|
||||
|
||||
| 檢查項目 | 說明 |
|
||||
|---|---|
|
||||
| API key 管理 | 用環境變數,不要硬寫在設定檔 |
|
||||
| 網路隔離 | 自架的 MCP 只綁 localhost |
|
||||
| 權限最小化 | API key 只給必要的 scope |
|
||||
404
docs/spec/spec_v4_collaboration_protocol.md
Normal file
404
docs/spec/spec_v4_collaboration_protocol.md
Normal file
@@ -0,0 +1,404 @@
|
||||
# KingClawArmy - 第四部分:Agent 協作協定
|
||||
|
||||
> 版本:v4.1
|
||||
> 日期:2026-04-10
|
||||
> 狀態:取代 v4.0 協作章節
|
||||
> 變更:重新定義協作模式、新增 Message Envelope、修正 spawn/send 行為、Pipeline 改由策略師主導
|
||||
|
||||
---
|
||||
|
||||
## 4.1 設計原則
|
||||
|
||||
| 原則 | 說明 |
|
||||
|---|---|
|
||||
| **Spawn 優先** | Pipeline 步驟一律用 `sessions_spawn`,不阻塞任何 agent |
|
||||
| **Send 只用於即時對話** | 只有 depth-0 的獨立 agent 之間才能 `sessions_send` |
|
||||
| **策略師主導 Pipeline** | 量化 pipeline 由策略師 own,CEO 只管啟動和例外 |
|
||||
| **Schema 消除追問** | 嚴格定義輸出格式,讓 agent 一次交齊,不需要來回追問 |
|
||||
| **向上回報** | 子 agent 透過 announce 回傳結果,不能橫向對話 |
|
||||
|
||||
---
|
||||
|
||||
## 4.2 通訊工具行為(已驗證)
|
||||
|
||||
### sessions_spawn — 非阻塞派工
|
||||
|
||||
- 立即返回 `runId`,不等待結果
|
||||
- 對方在隔離 session 中執行,完成後 announce 結果回 parent
|
||||
- Parent 可繼續處理其他事
|
||||
|
||||
### sessions_send — 同步對話(阻塞)
|
||||
|
||||
- Sender 等待對方回覆(可設 `timeoutSeconds`)
|
||||
- 最多 5 輪來回
|
||||
- **只有 depth-0 的獨立 agent 能使用**
|
||||
|
||||
### maxSpawnDepth 與工具權限
|
||||
|
||||
| `maxSpawnDepth` | Depth-1 子 agent | Depth-2 子 agent |
|
||||
|---|---|---|
|
||||
| **1(預設)** | ❌ 無 session 工具(葉層) | — |
|
||||
| **≥ 2** | ✅ `sessions_spawn`, `subagents`, `sessions_list`, `sessions_history` | ❌ 永遠是葉層 |
|
||||
|
||||
**關鍵限制:**
|
||||
|
||||
- `sessions_send` **不在任何子 agent 的授權清單中**,無論 maxSpawnDepth 設多少
|
||||
- 通訊方向為**單向往上**:子 agent 只能 announce 回 parent
|
||||
- 同層子 agent 之間**不能互相通訊**
|
||||
- 最大嵌套深度:5 層
|
||||
- 最大並行子 agent:5 個(`maxChildrenPerAgent`,可調至 20)
|
||||
- 最大併發:8 個(`maxConcurrent`)
|
||||
|
||||
### 判斷規則
|
||||
|
||||
> **你需要對方「現在立刻回答你」才能繼續嗎?**
|
||||
> - Yes → `sessions_send`(僅限 depth-0 agent)
|
||||
> - No → `sessions_spawn`
|
||||
|
||||
| 情境 | 工具 | 原因 |
|
||||
|---|---|---|
|
||||
| Pipeline 步驟交接 | **spawn** | 獨立任務,不需等待 |
|
||||
| 並行研究 | **spawn**(多個) | 各做各的 |
|
||||
| CEO 啟動 pipeline | **spawn** | CEO 不能被阻塞 |
|
||||
| CEO 問秘書「今日摘要」 | **send** | CEO 是 depth-0,需要即時回覆 |
|
||||
| 審查員退回修改 | **重新 spawn** | 帶上修改意見再跑一次 |
|
||||
| 需要追問細節 | **重新 spawn** | 帶上前次結果 + 具體問題 |
|
||||
|
||||
---
|
||||
|
||||
## 4.3 Message Envelope(Agent 間訊息格式)
|
||||
|
||||
所有 agent 間的溝通統一使用結構化信封,不使用自由文字:
|
||||
|
||||
```json
|
||||
{
|
||||
"from": "bullish_researcher",
|
||||
"to": "quant_strategist",
|
||||
"intent": "deliver_report",
|
||||
"ref_task": "quant-pipeline-2026-04-10",
|
||||
"payload": { "$ref": "Bullish_Brief.json" },
|
||||
"expect_response": false
|
||||
}
|
||||
```
|
||||
|
||||
### Intent 類型
|
||||
|
||||
| intent | 方向 | 說明 |
|
||||
|---|---|---|
|
||||
| `assign_task` | parent → child | 派工指令 |
|
||||
| `deliver_report` | child → parent | 任務完成,結果在 payload |
|
||||
| `request_clarification` | parent → child | 追問(透過重新 spawn) |
|
||||
| `review_request` | → reviewer | 請求審查 |
|
||||
| `review_verdict` | reviewer → parent | 審查結果:`pass` / `revise` / `block` |
|
||||
| `collect_opinion` | coordinator → agent | 收集觀點 |
|
||||
| `escalate` | any → CEO | 上報異常 |
|
||||
| `notify` | any → Discord | 通知(非對話) |
|
||||
|
||||
### Payload 規範
|
||||
|
||||
- 所有 payload 必須是定義好的 JSON schema(見各 agent 的 AGENTS.md)
|
||||
- 不在 JSON 之外附加自由文字說明
|
||||
- 缺少必填欄位時,回傳 `missing_fields` 清單而非空值
|
||||
|
||||
---
|
||||
|
||||
## 4.4 Pipeline 架構
|
||||
|
||||
### 角色分工
|
||||
|
||||
```
|
||||
CEO 的職責:
|
||||
✅ 接收董事長指令
|
||||
✅ spawn 啟動 pipeline(策略師)
|
||||
✅ 處理 escalation 和 HITL
|
||||
✅ 多 pipeline 並行管理
|
||||
❌ 不逐步 spawn 每個研究員(那是策略師的事)
|
||||
|
||||
策略師的職責:
|
||||
✅ 擁有量化 pipeline 的執行權
|
||||
✅ spawn 研究員、收斂結果
|
||||
✅ spawn 審查員、處理 revise
|
||||
✅ 管理研究員的輸出品質
|
||||
❌ 不做資料蒐集(那是研究員的事)
|
||||
```
|
||||
|
||||
### 量化 Pipeline 流程
|
||||
|
||||
```
|
||||
你 → CEO(Discord)→ 「啟動量化 pipeline」
|
||||
│
|
||||
└─ spawn 策略師(depth 1, maxSpawnDepth ≥ 2)
|
||||
│
|
||||
├─ spawn 情報員(depth 2)
|
||||
│ └─ announce Finance_Research_Brief.json
|
||||
│
|
||||
├─ spawn 市場結構研究員(depth 2,等情報完成)
|
||||
│ └─ announce Market_Structure_Report.json
|
||||
│
|
||||
├─ spawn 多方研究員(depth 2)──┐ 並行
|
||||
├─ spawn 空方研究員(depth 2)──┘ 並行
|
||||
│ └─ 都 announce 完成
|
||||
│
|
||||
├─ 策略師自己收斂 → Strategy_Thesis.json
|
||||
│
|
||||
├─ spawn 審查員(depth 2)
|
||||
│ └─ announce Review_Report.json
|
||||
│ ├─ pass → 繼續
|
||||
│ ├─ revise → 策略師重新 spawn 被退回的角色(帶修改意見)
|
||||
│ │ 最多 3 輪,超過 → escalate CEO
|
||||
│ └─ block → escalate CEO
|
||||
│
|
||||
└─ announce 給 CEO「pipeline 完成」
|
||||
│
|
||||
└─ CEO → Discord @董事長 請求批准
|
||||
```
|
||||
|
||||
### Lobster DSL 定義(取代 Standing Orders)
|
||||
|
||||
```yaml
|
||||
name: daily_quant_pipeline
|
||||
trigger: cron "30 7 * * 1-5"
|
||||
owner: quant_strategist
|
||||
|
||||
steps:
|
||||
- id: intel
|
||||
agent: finance_researcher
|
||||
action: spawn
|
||||
output: Finance_Research_Brief.json
|
||||
|
||||
- id: structure
|
||||
agent: market_structure_researcher
|
||||
action: spawn
|
||||
depends_on: [intel]
|
||||
output: Market_Structure_Report.json
|
||||
|
||||
- id: bull
|
||||
agent: bullish_researcher
|
||||
action: spawn
|
||||
depends_on: [structure]
|
||||
output: Bullish_Brief.json
|
||||
|
||||
- id: bear
|
||||
agent: bearish_researcher
|
||||
action: spawn
|
||||
depends_on: [structure]
|
||||
output: Bearish_Brief.json
|
||||
|
||||
- id: converge
|
||||
agent: quant_strategist
|
||||
action: self
|
||||
depends_on: [bull, bear]
|
||||
output: Strategy_Thesis.json
|
||||
|
||||
- id: review
|
||||
agent: reviewer
|
||||
action: spawn
|
||||
depends_on: [converge]
|
||||
output: Review_Report.json
|
||||
on_revise: retry(converge, max=3)
|
||||
on_block: escalate(ceo_coo)
|
||||
|
||||
- id: data_analysis
|
||||
agent: data_analyst
|
||||
action: spawn
|
||||
depends_on: [review]
|
||||
condition: review.verdict == "pass"
|
||||
output: Data_Analysis_Report.json
|
||||
|
||||
- id: approve
|
||||
type: hitl
|
||||
channel: "#approvals"
|
||||
depends_on: [data_analysis]
|
||||
```
|
||||
|
||||
### 追問處理(重新 Spawn 模式)
|
||||
|
||||
當策略師發現研究員報告有缺漏,不用 send,用重新 spawn:
|
||||
|
||||
```json
|
||||
{
|
||||
"from": "quant_strategist",
|
||||
"to": "bullish_researcher",
|
||||
"intent": "request_clarification",
|
||||
"ref_task": "quant-pipeline-2026-04-10",
|
||||
"payload": {
|
||||
"previous_report": { "$ref": "Bullish_Brief.json" },
|
||||
"missing_fields": ["key_levels[].evidence", "invalidation"],
|
||||
"question": "你提到 OB 支撐,請補充具體價位與時間框架"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**但設計目標是讓追問不需要發生** — 靠嚴格的輸出 schema 讓 agent 一次交齊。
|
||||
|
||||
---
|
||||
|
||||
## 4.5 輸出 Schema(核心)
|
||||
|
||||
每個 agent 的產出必須遵循定義好的 JSON schema,寫在各 agent 的 AGENTS.md 中。
|
||||
|
||||
### Finance_Research_Brief.json
|
||||
|
||||
```json
|
||||
{
|
||||
"date": "2026-04-10",
|
||||
"market": "BTC/USDT",
|
||||
"macro_summary": "...",
|
||||
"key_events": [
|
||||
{ "event": "...", "impact": "bullish|bearish|neutral", "source": "..." }
|
||||
],
|
||||
"sentiment": { "overall": "bullish|bearish|neutral", "score": 0.0 },
|
||||
"data_sources": ["..."]
|
||||
}
|
||||
```
|
||||
|
||||
### Market_Structure_Report.json
|
||||
|
||||
```json
|
||||
{
|
||||
"date": "2026-04-10",
|
||||
"market": "BTC/USDT",
|
||||
"timeframes_analyzed": ["H4", "H1"],
|
||||
"structure": {
|
||||
"trend": "bullish|bearish|ranging",
|
||||
"mss_detected": true,
|
||||
"key_levels": [
|
||||
{ "type": "OB|FVG|POI|support|resistance", "price": 0, "timeframe": "H4", "tested": false }
|
||||
]
|
||||
},
|
||||
"liquidity_zones": [
|
||||
{ "type": "buy_side|sell_side", "range": [0, 0], "significance": "high|medium|low" }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Bullish_Brief.json / Bearish_Brief.json
|
||||
|
||||
```json
|
||||
{
|
||||
"date": "2026-04-10",
|
||||
"market": "BTC/USDT",
|
||||
"thesis": "核心論點(一句話)",
|
||||
"arguments": [
|
||||
{ "point": "...", "evidence": "...", "confidence": 0.0 }
|
||||
],
|
||||
"key_levels": [
|
||||
{ "type": "support|resistance", "price": 0, "timeframe": "H4", "evidence": "..." }
|
||||
],
|
||||
"catalysts": ["..."],
|
||||
"invalidation": "什麼條件下論點失效",
|
||||
"confidence": 0.0,
|
||||
"data_sources": ["..."]
|
||||
}
|
||||
```
|
||||
|
||||
### Strategy_Thesis.json
|
||||
|
||||
```json
|
||||
{
|
||||
"date": "2026-04-10",
|
||||
"market": "BTC/USDT",
|
||||
"direction": "long|short|neutral",
|
||||
"thesis": "收斂後的策略論點",
|
||||
"entry_zone": [0, 0],
|
||||
"stop_loss": 0,
|
||||
"take_profit": [0, 0],
|
||||
"risk_reward": 0.0,
|
||||
"position_size_pct": 0.0,
|
||||
"risk_assessment": {
|
||||
"max_drawdown_pct": 0.0,
|
||||
"bias_check": "confirmed|conflicting",
|
||||
"bull_confidence": 0.0,
|
||||
"bear_confidence": 0.0
|
||||
},
|
||||
"invalidation": "...",
|
||||
"requires_backtest": true
|
||||
}
|
||||
```
|
||||
|
||||
### Review_Report.json
|
||||
|
||||
```json
|
||||
{
|
||||
"date": "2026-04-10",
|
||||
"reviewed_artifact": "Strategy_Thesis.json",
|
||||
"verdict": "pass|revise|block",
|
||||
"score": 0.0,
|
||||
"issues": [
|
||||
{ "severity": "critical|major|minor", "field": "...", "description": "...", "suggestion": "..." }
|
||||
],
|
||||
"revise_target": "quant_strategist|bullish_researcher|...",
|
||||
"summary": "..."
|
||||
}
|
||||
```
|
||||
|
||||
### Data_Analysis_Report.json
|
||||
|
||||
```json
|
||||
{
|
||||
"date": "2026-04-10",
|
||||
"analyzed_artifact": "Backtest_Delivery.json",
|
||||
"metrics": {
|
||||
"total_trades": 0,
|
||||
"win_rate": 0.0,
|
||||
"profit_factor": 0.0,
|
||||
"max_drawdown_pct": 0.0,
|
||||
"sharpe_ratio": 0.0,
|
||||
"avg_rr": 0.0
|
||||
},
|
||||
"insights": ["..."],
|
||||
"recommendation": "proceed|adjust|reject",
|
||||
"summary": "..."
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4.6 Review Gate
|
||||
|
||||
| 必審節點 | 觸發方式 | 審查標準 |
|
||||
|---|---|---|
|
||||
| 量化策略提交 | 策略師 spawn 審查員 | schema 完整性 + 風控邏輯 |
|
||||
| 回測結果提交 | 策略師 spawn 審查員 | 績效指標合理性 |
|
||||
| 工程交付 | CEO spawn 審查員 | 程式碼品質 + 測試覆蓋 |
|
||||
| 文案對外 | CEO spawn 審查員 | 品牌一致性 + 法規合規 |
|
||||
|
||||
### Revise 流程
|
||||
|
||||
```
|
||||
審查員 announce: { verdict: "revise", revise_target: "bullish_researcher", issues: [...] }
|
||||
↓
|
||||
策略師收到 → 重新 spawn 多方研究員,帶上 issues
|
||||
↓
|
||||
多方研究員修改 → announce 新版本
|
||||
↓
|
||||
策略師再 spawn 審查員 review
|
||||
↓
|
||||
最多 3 輪。超過 → escalate CEO → CEO Discord @董事長
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4.7 HITL 節點
|
||||
|
||||
| 需要董事長批准的事 | 通知方式 |
|
||||
|---|---|
|
||||
| 量化策略正式執行 | Discord #approvals @董事長 |
|
||||
| 正式部署 | Discord #approvals @董事長 |
|
||||
| DB schema 變更 | Discord #approvals @董事長 |
|
||||
| 廣告正式發布 | Discord #approvals @董事長 |
|
||||
| 對外訊息發送 | Discord #approvals @董事長 |
|
||||
| 金流操作 | Discord #approvals @董事長 |
|
||||
|
||||
---
|
||||
|
||||
## 4.8 錯誤處理
|
||||
|
||||
| 錯誤類型 | 處理方式 |
|
||||
|---|---|
|
||||
| Agent 執行超時 | 策略師重新 spawn,帶上 timeout 通知 |
|
||||
| Agent 回傳 missing_fields | 策略師重新 spawn,明確要求補齊 |
|
||||
| 審查 block | escalate CEO → Discord @董事長 |
|
||||
| 審查 revise 超過 3 輪 | escalate CEO → Discord @董事長 |
|
||||
| Pipeline 異常中斷 | CEO 通知 Discord #errors |
|
||||
| 模型 API 錯誤 | 自動重試 1 次,失敗 → Discord #errors |
|
||||
@@ -1,91 +1,14 @@
|
||||
# KingClawArmy - 第四部分:協作模式 & 第五部分:排程與觸發 & 第六部分:記憶 & 第七部分:Discord
|
||||
# KingClawArmy - 第五部分:排程與觸發 & 第六部分:記憶 & 第七部分:Discord
|
||||
|
||||
> 版本:v4.1
|
||||
> 日期:2026-04-10
|
||||
> 狀態:協作模式已獨立至 [spec_v4_collaboration_protocol.md](spec_v4_collaboration_protocol.md)
|
||||
|
||||
---
|
||||
|
||||
## 第四部分:協作模式
|
||||
|
||||
### 4.1 三種模式(全部在 OpenClaw 內完成)
|
||||
|
||||
| 模式 | OpenClaw 實現 | 場景 |
|
||||
|---|---|---|
|
||||
| **Orchestrator** | CEO 用 `sessions_spawn` 派工給 sub-agent | 日常任務分派 |
|
||||
| **Peer-to-Peer** | Agent 之間用 `sessions_send` 來回溝通(最多 5 輪) | 追問、澄清、交叉驗證 |
|
||||
| **Coordinator 討論** | CEO 用 `sessions_send` 逐一收集觀點再收斂 | 多方意見整合、辯論替代 |
|
||||
|
||||
### 4.2 協作模式詳細流程
|
||||
|
||||
#### Orchestrator(派工)
|
||||
|
||||
```
|
||||
CEO 收到任務
|
||||
↓
|
||||
sessions_spawn("finance_researcher", task="蒐集今日盤前資訊")
|
||||
↓
|
||||
財經情報研究員在獨立 session 中執行
|
||||
↓
|
||||
完成後 push 結果回 CEO
|
||||
↓
|
||||
CEO 收到結果,spawn 下一個 agent
|
||||
```
|
||||
|
||||
#### Peer-to-Peer(直接溝通)
|
||||
|
||||
```
|
||||
量化策略研究員讀完多方報告後有疑問
|
||||
↓
|
||||
sessions_send("bullish_researcher", "你提到 OB 支撐,具體是哪個價位?")
|
||||
↓
|
||||
多方研究員回覆(ping-pong 最多 5 輪)
|
||||
↓
|
||||
量化策略研究員獲得澄清,繼續工作
|
||||
```
|
||||
|
||||
#### Coordinator 討論(辯論替代方案)
|
||||
|
||||
```
|
||||
CEO 需要整合多空觀點
|
||||
↓
|
||||
step 1: sessions_send("bullish_researcher", "總結你的核心做多論點")
|
||||
step 2: sessions_send("bearish_researcher", "總結你的核心做空論點")
|
||||
step 3: sessions_send("bearish_researcher", "針對多方的論點 [X],你的反駁是?")
|
||||
step 4: sessions_send("bullish_researcher", "針對空方的反駁 [Y],你的回應是?")
|
||||
step 5: sessions_send("quant_strategist", "以下是雙方觀點 [全文],請收斂成策略")
|
||||
↓
|
||||
CEO 收到策略規格
|
||||
```
|
||||
|
||||
### 4.3 什麼場景用什麼模式
|
||||
|
||||
| 場景 | 模式 | 理由 |
|
||||
|---|---|---|
|
||||
| 蒐集資料 | Orchestrator spawn | 獨立任務,不需互動 |
|
||||
| 寫回測程式 | Orchestrator spawn | 獨立任務 |
|
||||
| 多空辯論 | Coordinator 討論 | 需要多方觀點交叉 |
|
||||
| 追問細節 | Peer-to-Peer send | 兩個 agent 直接對話 |
|
||||
| 審查來回 | Peer-to-Peer send | 審查員與被審者 ping-pong |
|
||||
| 跨團隊對齊 | Coordinator 討論 | CEO 逐一收集再收斂 |
|
||||
| 你下達指令 | Discord → CEO | 你對 CEO 說話 |
|
||||
| 需要你批准 | CEO → Discord @你 | HITL |
|
||||
|
||||
### 4.4 Review Gate
|
||||
|
||||
| 必審節點 | 觸發方式 |
|
||||
|---|---|
|
||||
| 量化策略提交 | CEO spawn 審查員 review |
|
||||
| 回測結果提交 | CEO spawn 審查員 review |
|
||||
| 工程交付 | CEO spawn 審查員 review |
|
||||
| 文案對外 | CEO spawn 審查員 review |
|
||||
|
||||
### 4.5 HITL 節點
|
||||
|
||||
| 需要你批准的事 | 通知方式 |
|
||||
|---|---|
|
||||
| 正式部署 | Discord #approvals @你 |
|
||||
| DB schema 變更 | Discord #approvals @你 |
|
||||
| 廣告正式發布 | Discord #approvals @你 |
|
||||
| 對外訊息發送 | Discord #approvals @你 |
|
||||
| 金流操作 | Discord #approvals @你 |
|
||||
| 量化策略正式執行 | Discord #approvals @你 |
|
||||
> **注意:** 原第四部分「協作模式」已重寫並移至獨立文件:
|
||||
> **[spec_v4_collaboration_protocol.md](spec_v4_collaboration_protocol.md)**
|
||||
> 包含:Message Envelope、Intent 類型、Pipeline 架構、spawn/send 規則、輸出 Schema、Review Gate、HITL 節點
|
||||
|
||||
---
|
||||
|
||||
@@ -94,9 +17,12 @@ CEO 收到策略規格
|
||||
### 5.1 Cron 排程
|
||||
|
||||
```bash
|
||||
# 財經情報 — 每日盤前盤後
|
||||
openclaw cron add --agent finance_researcher --cron "30 7 * * 1-5" --task "盤前資訊蒐集"
|
||||
openclaw cron add --agent finance_researcher --cron "30 18 * * 1-5" --task "盤後資訊整理"
|
||||
# 量化 pipeline — 每日盤前自動啟動
|
||||
# 由 CEO spawn 策略師,策略師接管後續流程
|
||||
openclaw cron add --agent ceo_coo --cron "30 7 * * 1-5" --task "啟動每日量化 pipeline"
|
||||
|
||||
# 財經情報(獨立)— 盤後整理
|
||||
openclaw cron add --agent ceo_coo --cron "30 18 * * 1-5" --task "spawn 財經情報研究員做盤後整理"
|
||||
|
||||
# 市場研究 — 每日 + 每週
|
||||
openclaw cron add --agent market_researcher --cron "0 10 * * *" --task "每日市場情報"
|
||||
@@ -113,42 +39,11 @@ openclaw cron add --agent data_analyst --cron "0 10 * * 1" --task "每週數據
|
||||
openclaw cron add --agent secretary --cron "0 23 * * *" --task "每日記憶壓縮與 State Diff"
|
||||
```
|
||||
|
||||
### 5.2 事件觸發鏈(量化 pipeline)
|
||||
### 5.2 事件觸發鏈
|
||||
|
||||
透過 CEO 的 Standing Orders 定義:
|
||||
Pipeline 流程改由 **Lobster DSL** 定義(見 [spec_v4_collaboration_protocol.md](spec_v4_collaboration_protocol.md) 4.4 節),不再使用 Standing Orders。
|
||||
|
||||
```
|
||||
CEO Standing Order: 量化研究流程
|
||||
|
||||
當收到財經情報完成通知:
|
||||
→ spawn market_structure_researcher
|
||||
|
||||
當收到市場結構報告完成通知:
|
||||
→ spawn bullish_researcher(平行)
|
||||
→ spawn bearish_researcher(平行)
|
||||
|
||||
當收到多方 + 空方報告都完成:
|
||||
→ 執行 coordinator 討論(收集雙方觀點)
|
||||
→ spawn quant_strategist(帶入討論結果)
|
||||
|
||||
當收到量化策略完成通知:
|
||||
→ spawn quant_engineer
|
||||
|
||||
當收到回測完成通知:
|
||||
→ spawn data_analyst
|
||||
|
||||
當收到資料分析完成通知:
|
||||
→ send secretary(做摘要)
|
||||
→ spawn reviewer(審查整條 pipeline)
|
||||
|
||||
當收到審查 pass:
|
||||
→ 組裝 Final_Decision_Packet
|
||||
→ Discord @董事長 請求批准
|
||||
|
||||
當收到審查 revise:
|
||||
→ 退回被點名角色
|
||||
→ 如超過 3 輪 → Discord @董事長 介入
|
||||
```
|
||||
Cron 觸發 CEO → CEO spawn 策略師 → 策略師按 Lobster DSL 自動執行。
|
||||
|
||||
---
|
||||
|
||||
@@ -183,6 +78,10 @@ CEO Standing Order: 量化研究流程
|
||||
| 每日筆記 | 自動載入今天+昨天;更舊的靠 memory_search |
|
||||
| 秘書壓縮 | 每日 23:00 將當日重點寫入 MEMORY.md,清理冗餘 |
|
||||
|
||||
### 6.4 未來考量
|
||||
|
||||
當 Phase 3 行銷團隊加入後,跨團隊記憶需求增大時,可考慮導入 **MemOS**(100% 本地、SQLite 後端、混合搜尋、支援多 agent 協作),作為 QMD 的補強或替代。目前 OpenClaw 內建記憶系統足夠 Phase 1-2 使用。
|
||||
|
||||
---
|
||||
|
||||
## 第七部分:Discord Server 結構
|
||||
@@ -193,14 +92,14 @@ CEO Standing Order: 量化研究流程
|
||||
KingClawArmy Discord Server
|
||||
│
|
||||
├── 📋 管理
|
||||
│ ├── #dashboard — 每日摘要、系統狀態
|
||||
│ ├── #approvals — HITL 審批(你在這裡批准)
|
||||
│ └── #errors — 錯誤與異常
|
||||
│ ├── #執行長 — 執行長回覆董事長、進度回報
|
||||
│ ├── #審批 — HITL 審批(董事長在這裡批准)
|
||||
│ └── #異常 — 錯誤與異常
|
||||
│
|
||||
├── 📊 量化
|
||||
│ ├── #quant-briefing — 盤前盤後情報
|
||||
│ ├── #quant-discussion — 討論區(coordinator 討論結果貼這)
|
||||
│ └── #quant-results — 策略定稿、回測結果
|
||||
│ ├── #每日情報 — 盤前盤後情報
|
||||
│ ├── #研究討論 — 研究過程摘要(pass 後)
|
||||
│ └── #策略結果 — 策略定稿、回測結果
|
||||
│
|
||||
├── 📈 行銷
|
||||
│ ├── #marketing-intel — 市場情報
|
||||
@@ -209,20 +108,23 @@ KingClawArmy Discord Server
|
||||
├── ✏️ 內容
|
||||
│ └── #content-briefs — 文案 / 創意 brief
|
||||
│
|
||||
└── 📝 記錄
|
||||
├── #meeting-logs — 所有 coordinator 討論記錄
|
||||
└── #decision-log — 重大決策
|
||||
├── 📝 記錄
|
||||
│ ├── #每日摘要 — 秘書每日工作摘要
|
||||
│ └── #決策紀錄 — 重大決策存檔
|
||||
│
|
||||
└── 💬 閒聊
|
||||
└── #閒聊 — 小安陪聊
|
||||
```
|
||||
|
||||
### 7.2 Discord 互動方式
|
||||
|
||||
| 你想做的事 | 怎麼做 |
|
||||
|---|---|
|
||||
| 下達新指令 | 在 #dashboard 或 DM 跟 CEO agent 說 |
|
||||
| 下達新指令 | 在 #執行長 跟 CEO agent 說 |
|
||||
| 查看進度 | 問 CEO 或秘書 |
|
||||
| 批准高風險動作 | 在 #approvals 回覆 approve / reject |
|
||||
| 看今日摘要 | #dashboard 自動推送(秘書每日產出) |
|
||||
| 看回測結果 | #quant-results |
|
||||
| 批准高風險動作 | 在 #審批 回覆 approve / reject |
|
||||
| 看今日摘要 | #每日摘要 自動推送(秘書每日產出) |
|
||||
| 看回測結果 | #策略結果 |
|
||||
| 手動發起討論 | @CEO 說「召集量化團隊討論 [主題]」 |
|
||||
| 緊急停止 | `openclaw tasks flow cancel <id>` 或 Discord @CEO「停止 [任務]」 |
|
||||
|
||||
@@ -230,9 +132,10 @@ KingClawArmy Discord Server
|
||||
|
||||
| 事件 | 推送到 | 由誰推送 |
|
||||
|---|---|---|
|
||||
| 任務完成 | 對應區域頻道 | CEO |
|
||||
| 審查 pass(HITL) | #approvals | CEO |
|
||||
| 審查 block | #errors + #approvals | CEO |
|
||||
| 每日摘要 | #dashboard | 秘書 |
|
||||
| 討論結論 | #meeting-logs | 秘書 |
|
||||
| 錯誤/異常 | #errors | 相關 agent |
|
||||
| Pipeline 完成 | #策略結果 + #審批 | CEO |
|
||||
| 審查 pass(需 HITL) | #審批 | CEO |
|
||||
| 審查 block | #異常 + #審批 | CEO |
|
||||
| 每日情報 | #每日情報 | CEO(轉發情報員結果) |
|
||||
| 每日摘要 | #每日摘要 | 秘書 |
|
||||
| 決策紀錄 | #決策紀錄 | 秘書 |
|
||||
| 錯誤/異常 | #異常 | CEO |
|
||||
|
||||
Reference in New Issue
Block a user