如果你的 AI Agent 能觀察自己的工作,然後做得更好呢? 這就是 osop synthesize 背後的理念。你給它一疊 .osoplog 執行記錄 — AI Agent 在多次對話中實際做了什麼的詳細軌跡 — 它會產出一個優化過的 .osop 工作流程,擷取最佳模式、消除浪費。
我們用 5 份真實的 Claude Code 對話日誌來測試:總計 85 個節點、1,666 分鐘的執行時間。合成器將它們提煉成一個 13 節點的工作流程,涵蓋了 Agent 在這些對話中學到的一切。
指令
CLI 很直觀。指向你的日誌,可選擇提供一個基礎工作流程來改進,並設定目標:
$ osop synthesize \
session-01.osoplog.yaml \
session-02.osoplog.yaml \
session-03.osoplog.yaml \
session-04.osoplog.yaml \
session-05.osoplog.yaml \
--base original-workflow.osop \
--goal "optimize for speed" \
-o optimized-workflow.osop合成器讀取每一個節點記錄、每一條邊、每一個時間、每一次失敗和重試。它建構出一個統計模型,比較 Agent 實際做了什麼與工作流程說它應該做什麼 — 然後寫出一個符合現實的新工作流程。
我們輸入了什麼
我們收集了 5 份來自真實開發工作的對話日誌 — 功能實作、錯誤修復和重構任務。原始數據:
- 85 個節點 涵蓋所有對話 — 每次工具呼叫、每個決策、每次重試的完整執行圖。
- 1,666 分鐘 的總記錄執行時間,跨越多天的開發工作。
- 23 種獨特節點類型 從檔案讀寫、測試執行到 Git 操作和人類審核閘門。
產出結果
合成器產出了一個 13 節點的工作流程。不是有損壓縮 — 而是提煉。它識別了所有 5 次對話中的重複模式,並將它們編碼為可重用的工作流程,附帶適當的邊類型(循序、平行、備援)。
Read requirements, check existing patterns, draft approach.
Search for related files and dependencies in parallel.
Find test patterns and fixtures to reuse.
Write code following discovered patterns.
Run tsc --noEmit immediately after edits.
Add tests matching existing conventions.
Execute full test suite.
Check for security issues, breaking changes, edge cases.
Auto-fix lint and formatting issues.
Commit with descriptive message.
Ensure all checks pass before requesting review.
Open PR with summary and test plan.
Developer reviews the PR.
AI 發現的模式
最有趣的是合成器從觀察自身學到了什麼。四個模式持續浮現:
- 先規劃。 每次成功的對話都以規劃步驟開始 — 先閱讀需求、檢查現有模式,再寫任何程式碼。跳過規劃的對話產生了 3 倍多的備援迴圈。
- 平行探索。 最佳對話同時進行程式碼探索和測試探索。合成後的工作流程將此編碼為從規劃節點出發的平行邊。
- 立即驗證。 在實作後立即做型別檢查 — 而非最後才做 — 在上下文還新鮮時就捕捉到錯誤。合成後的工作流程從型別檢查到實作新增了備援邊。
- 發布前評估風險。 在提交前設專門的風險審查步驟,捕捉了單靠測試會漏掉的安全問題和破壞性變更。合成器將它放在測試通過之後、任何 Git 操作之前。
自我優化迴路
這就是真正強大的地方。合成後的 .osop 工作流程不是一次性產物。它成為未來對話的基礎工作流程。那些對話產出新的 .osoplog 記錄。再次餵給 synthesize,工作流程就會再次改善。
執行、記錄、合成、重複。每個週期都基於真實執行數據收緊工作流程。Agent 真的透過觀察自己來變得更好。
底層運作原理
合成器對輸入日誌進行三次遍歷:
- 頻率分析 — 哪些節點在每次對話都出現?哪些是一次性異常?高頻節點成為必要步驟;罕見的被剪除。
- 依賴圖抽取 — 哪些排序約束是真實的?如果步驟 B 在所有對話中都跟在步驟 A 之後,那就是循序邊。如果 B 有時與 C 同時執行,那就是平行邊。
- 時間和失敗分析 — 哪些步驟是瓶頸?哪些有備援模式(失敗後重試)?合成器將重試迴圈編碼為備援邊,並標記慢速步驟以供潛在的平行化。
自己試試看
如果你一直在使用 OSOP 日誌記錄(透過 Claude Code 指令、MCP 伺服器或 Python CLI),你已經有了所需的 .osoplog 檔案。只需將 synthesize 指向它們。
此功能在 osop CLI v0.9.0 中發布。用 pip install osop 安裝,然後執行 osop synthesize --help 開始使用。
原始碼: 合成器的實作位於 osop 儲存庫的 osop/commands/synthesize.py。歡迎貢獻。