The Loop:自我優化工作流程
OSOP Guide執行 .osop → 記錄 .osoplog → AI 合成更好的 .osop → 用 diff 驗證 → 重複循環。每個週期速度更快、成本更低、可靠性更高。
6 個節點 · 6 條連接osop self
osopthe-loopmetaoptimize
視覺化
osop runcli
執行工作流程。agent 節點呼叫真實 LLM,API 節點發送真實 HTTP 請求,CLI 節點執行指令,human 節點等待核准。
↓sequential→ 產生 .osoplog
產生 .osoplogsystem
自動產生執行記錄,包含每個節點的時間戳記、執行時間、成本、使用的工具、AI 模型、token 數量、人工決策及錯誤資訊。
↓sequential→ osop synthesize
osop synthesizeagent
將多個 .osoplog 檔案輸入 AI,AI 讀取每個步驟、每段執行時間、每次失敗,並寫出優化後的 .osop,將慢速步驟平行化,處理失敗情境。
↓sequential→ osop diff
osop diffcli
比較舊的 .osop 與新的 .osop,查看變更內容:新增節點、移除邊、重構流程。再比較執行記錄,查看每個步驟的執行時間、成本與狀態差異。
↓sequential→ 人工審閱優化結果
人工審閱優化結果human
審閱 AI 建議的變更,決定接受、修改或拒絕。最終由人類決策,AI 提供建議。
↓sequential→ 套用優化後的 .osop
套用優化後的 .osopmcp
優化後的 .osop 成為新的基準版本,下次執行即採用此版本,循環持續進行。
↓loop→ osop run
ex-osop-the-loop.osop.yaml
osop_version: "1.0"
id: "osop-the-loop"
name:"The Loop:自我優化工作流程"
description:"執行 .osop → 記錄 .osoplog → AI 合成更好的 .osop → 用 diff 驗證 → 重複循環。每個週期速度更快、成本更低、可靠性更高。"
tags: [osop, the-loop, meta, optimize]
nodes:
- id: "execute"
type: "cli"
name: "osop run"
description: "執行工作流程。agent 節點呼叫真實 LLM,API 節點發送真實 HTTP 請求,CLI 節點執行指令,human 節點等待核准。"
runtime:
command: "osop run workflow.osop.yaml --allow-exec --log"
- id: "record"
type: "system"
name: "產生 .osoplog"
description: "自動產生執行記錄,包含每個節點的時間戳記、執行時間、成本、使用的工具、AI 模型、token 數量、人工決策及錯誤資訊。"
- id: "synthesize"
type: "agent"
subtype: "llm"
name: "osop synthesize"
description: "將多個 .osoplog 檔案輸入 AI,AI 讀取每個步驟、每段執行時間、每次失敗,並寫出優化後的 .osop,將慢速步驟平行化,處理失敗情境。"
runtime:
provider: "anthropic"
model: "claude-sonnet-4-6"
- id: "diff"
type: "cli"
name: "osop diff"
description: "比較舊的 .osop 與新的 .osop,查看變更內容:新增節點、移除邊、重構流程。再比較執行記錄,查看每個步驟的執行時間、成本與狀態差異。"
runtime:
command: "osop diff old.osop.yaml new.osop.yaml"
- id: "review"
type: "human"
subtype: "review"
name: "人工審閱優化結果"
description: "審閱 AI 建議的變更,決定接受、修改或拒絕。最終由人類決策,AI 提供建議。"
security:
approval_gate: true
- id: "apply"
type: "mcp"
name: "套用優化後的 .osop"
description: "優化後的 .osop 成為新的基準版本,下次執行即採用此版本,循環持續進行。"
edges:
- from: "execute"
to: "record"
mode: "sequential"
- from: "record"
to: "synthesize"
mode: "sequential"
- from: "synthesize"
to: "diff"
mode: "sequential"
- from: "diff"
to: "review"
mode: "sequential"
- from: "review"
to: "apply"
mode: "sequential"
- from: "apply"
to: "execute"
mode: "loop"
label: "Next cycle"