Communitygithub.com

自主會話工作流程

為自主代理會話提供一個五階段可重複結構:載入情境、分層工作選擇、協調聲明、執行與持久化學習。可防止並行會話間的重複工作,並確保每次執行都能產出持久性成品,適用於 Claude Code、gptme、Codex 或任何具持久工作區的代理。

自主會話工作流程 是什麼?

自主會話工作流程 (Autonomous Session Workflow) 是一個專為無人干預的自主 AI 代理會話設計的五階段結構化流程。其核心目標在於防止重複工作、確保學習成果能被持久記錄,並引導代理產出有意義的成品而非無意義的動作。該流程分為五個階段:第一階段「載入情境」讓代理讀取其身份、目標及當前狀態;第二階段「工作選擇」透過三層優先級(進行中任務、待辦事項快速勝利、自我改進)來過濾並選出最佳工作;第三階段「協調聲明」要求代理在執行前獲取獨佔工作聲明,避免多個會話衝突;第四階段「執行」強調頻繁提交、測試與推送,並設有 50 分鐘預算限制;第五階段「持久化」則強制記錄會議日誌、更新任務狀態與撰寫教訓。該工作流程為運行時無關,可適應 Claude Code、gptme、Codex 等系統。文件中還提供了常見的自我合理化陷阱、危險信號與驗證清單,以確保流程能被嚴格遵守。同時也支援將 gptme 的具體概念(如任務管理器、協調工具、教訓檔案)映射至使用者自身的技術棧。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/agentskillexchange/skills/tree/main/skills/autonomous-session-workflow

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

自主會話工作流程 是做什麼的?

一個為自主代理會話設計的五階段可重複結構,可防止重複工作、確保持久性學習紀錄,並將輸出成果導向有意義的已交付成品,而非無效動作。

該流程已在 gptme 架構上經數千個自主會話的實戰驗證。這些階段與運行時無關 — 可根據你的技術棧調整具體工具,但保留階段結構不變。

使用時機

  • 每個自主代理會話開始時(無人直接指揮工作)
  • 當代理必須從待辦事項或佇列中自行選擇工作時
  • 當會話在無人看管下執行,且需要產出持久性成品時

不適用時機

  • 互動式會話,人類在每一輪提供下一個提示 — 只需回應即可
  • 一次性的工具調用,且目標固定(無需選擇)
  • 從父任務產生的子代理呼叫(父任務已選定工作)

五個階段

階段 1:載入情境

載入代理的身份、會話狀態及當前世界模型。

# 讀取身份檔案 — 角色、目標、操作限制
# (根據你的技術棧調整:CLAUDE.md、AGENTS.md、系統提示等)

# 讀取動態情境 — 近期日誌、任務佇列、git 狀態、通知
# (調整:情境腳本、設定驅動的引入,或提示注入)

# 評估先前會話中未完成的事項:
#   - 應完成或放棄的過期聲明
#   - 你承諾要關閉的問題/PR 上待回覆的訊息
#   - 進行中的分支或開放的工作樹

關鍵問題:「我留下了什麼未完成?離線期間有什麼改變?」

如果未完成事項可在 5 分鐘內解決,在此處處理。否則記下它並繼續。

階段 2:工作選擇

按順序嘗試各層級,直到找到可執行的工作。這些層級可防止代理在有真實任務時發明無意義的工作,並防止所有任務都被阻塞時代理無事可做。

第 1 層 — 進行中的任務:已經在進行的工作;最高優先級
第 2 層 — 待辦事項快速勝利:依賴項已就緒、可在本次會話完成的事項
第 3 層 — 自我改進:當所有任務都被外部阻塞時
  ├─ 點子待辦清單(推進得分最高的點子)
  ├─ 自我審查/稽核(找出並修復一個真實問題)
  ├─ 內部工具改進
  ├─ 文件(僅限過時的文件)
  ├─ 程式碼品質(型別檢查、測試、lint)
  └─ 教訓品質(修復有害或過時的教訓)

反單調守衛:如果同一類別在過去 N 次會話中佔據主導地位,即使它看起來是最好的選擇,也要跳過它。類別多樣性是學習新失敗模式的強制函數。

當一切乾涸時:如果所有第 1/2 層任務都被外部阻塞,且第 3 層車道已飽和(達到每日限制),則撰寫一篇簡短的「克制日誌」,記錄你檢查了什麼以及刻意跳過了什麼。合理的無操作 (NOOP) 勝過捏造工作。

階段 3:聲明

在執行之前,獲取一個獨佔的協調聲明。這可以防止兩個並發會話執行相同的工作、在同一 PR 討論串中刷屏,或寫入同一個檔案。

# 通用協調模式 — 根據你的技術棧調整工具:
claim_key="task:<task-id>"          # 用於任務驅動的工作
claim_key="github:<owner>/<repo>#<num>"  # 用於問題驅動的工作
claim_key="content:<slug>:<date>"   # 用於內容/成品建立

# 獲取聲明(使用協調 CLI 的範例):
coordination work-claim "<session-id>" "$claim_key" --ttl 60
# CLAIMED → 繼續執行
# DENIED  → 另一個會話已經在處理;選擇下一個候選項

聲明前通知規則:任何對他人可見的行動(發表評論、發送訊息、開啟 PR)都必須先通過聲明才能執行。未經聲明的社交行為會導致衝突和垃圾訊息 — 先聲明再發布的模式可防止這種情況。

完成時:coordination work-complete "<session-id>" "$claim_key" 切換方向/失敗時:coordination work-abandon "<session-id>" "$claim_key"

階段 4:執行

執行真正的工作。關鍵紀律是「交付」,而非「完美」。

- 頻繁提交(小而描述清晰的提交)
- 提交前執行測試(在 CI 之前發現問題)
- 使用 Conventional Commits:feat/fix/docs/refactor/chore
- 在會話結束前推送到遠端
- 如果卡住超過 10 分鐘,繼續前進 — 不要把預算消耗在兔子洞裡
- 不要添加未經請求的功能或範圍蔓延

50 分鐘預算:大多數自主會話應在 50 分鐘內完成有意義的工作。如果任務較大,則交付增量部分並為剩餘部分建立後續任務。

階段 5:持久化

最被低估的階段。在第 1-4 階段所做的所有事情,如果未持久化提交,都會在會話之間消失。

# 1. 撰寫日誌條目(特定於會話的檔案,僅附加模式)
cat > journal/$(date +%Y-%m-%d)/session-<HASH>.md << 'EOF'
# 會話 <HASH>
**日期**:YYYY-MM-DD
**結果**:productive|blocked|noop — 一句話摘要
**類別**:code|research|strategic|maintenance|...

## 為何做此工作
[導致此工作的原因]

## 我的作為
[具體變更,附提交/PR 連結]

## 驗證
- [測試通過?CI 綠色?]

## 持久化的學習
- 任務狀態:<task> → done/waiting
- 新教訓:[如果有的話]
- 「本次會話無持久的回饋」 — 如果確實沒有什麼要補充

## 下一步
[明確的下一個動作或阻塞因素]
EOF

# 2. 更新任務狀態
task edit <task-id> --set state done   # 或 waiting,如果被阻塞

# 3. 如果發現了重複出現的失敗模式,撰寫一條教訓/規則
#    (在下一次會話開始時會注入的關鍵字匹配情境檔案)

# 4. 推送所有提交
git push origin master

優先持久化規則:如果你發現了有用的東西,在將其應用於當前工作之前,先撰寫教訓。一旦修復完成,失敗模式感覺上已經解決,教訓就會被跳過。日誌記錄了發生的事情;教訓記錄了如何再次識別它。

安裝

Claude Code

將此技能目錄複製到代理的技能資料夾:

cp -R skills/autonomous-session-workflow ~/.claude/skills/autonomous-session-workflow

然後使用 /autonomous-session-workflow 將五階段檢查清單載入到情境中。

手動安裝/任何運行時

將 SKILL.md 複製到代理的情境路徑中,並在會話開始時載入它。這些階段是純 Markdown — 可以包含整個檔案,或挑選與你的技術棧相關的部分。

常見的自我合理化陷阱

合理化說法實際情況
「我跳過聲明 — 現在只有我一個會話在運行」你看不到其他會話正在啟動。並發產生是生產環境運行時的預設行為。聲明是閘門,不是觀察結果。
「我完成下一個任務後再寫日誌」會話會被中斷。日誌就會被跳過。在推送之前就寫,不要等到「再做一件小事」之後。
「這個任務快完成了 — 我跳過階段 5 直接提交」學習只有在持久化後才能累積。那個「幾乎」閉環的會話,其洞察力在下一次運行時就會消失。
「我的選擇很明顯 — 不需要逐層進行」跳過層級的選擇是產生冗餘工作和重複 PR 的主要原因。層級存在的理由是「明顯的」往往不是真正需要做的事情。
「這個教訓太具體,無法重複使用」具體的教訓(確切的錯誤訊息、確切的命令、確切的失敗模式)最有價值 — 它們能在最需要的時候精確觸發。
「合理的無操作 (NOOP) 感覺像失敗」它不是。為了逃避 NOOP 標籤而提交無意義的修改,會消耗配額、助長收斂混亂,並隱藏真正的瓶頸。克制日誌本身就是交付物。

危險信號

  • 在聲明之前就開始執行(收斂風險)
  • 會話結束時沒有日誌,也沒有更新任務狀態
  • 「稍等一下」就提交 — 如果在結束前沒有推送,就等於沒有交付
  • 連續三次會話屬於同一類別,且沒有強制多樣性中斷
  • 「我會記住這個」 — 你不會的;現在就寫下教訓

驗證

一個良好的會話在關閉前應滿足所有這些條件:

  • 在行動前已聲明(或證明為何不需要聲明)
  • 有意義的工作已提交並推送
  • 測試已通過(或記錄了已知失敗及其原因)
  • 已撰寫日誌條目,且「持久化的學習」部分已填寫
  • 任務狀態已更新(active → done、active → waiting 等)
  • 聲明已完成或已放棄(未留下懸而未決的租約)

適應你的技術棧

gptme 概念你的對應項目
gptodo任何具有狀態轉換的任務管理器
coordination work-claim鎖定檔案、Redis SETNX 或 GitHub 評論閘門
lessons/<category>/name.md任何在會話開始時注入的關鍵字匹配情境檔案
journal/<date>/session-<hash>.md任何僅附加模式的會話日誌
cascade-selector.py你的工作選擇啟發式或排程器

價值在於模式,而非特定的工具。

相關技能

  • self-push(本目錄中)— 在交付任何輸出前進行懶惰檢查
  • pre-landing-review(本目錄中)— 在合併重大變更前的閘門
  • multi-lens-review(本目錄中)— 跨多個視角進行結構化 PR 審查
  • five-element-spec(本目錄中)— 在開始工作前的範圍定義

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Academic Paper Citation Network Mapper

Builds citation networks from Semantic Scholar API and CrossRef DOI metadata. Visualizes paper influence graphs using NetworkX, identifies seminal works, and tracks research lineage across fields.

ACF Custom Fields REST Exposer

Exposes Advanced Custom Fields data through the WordPress REST API using register_rest_field and acf_format_value. Handles repeater fields, flexible content layouts, and gallery fields with proper serialization.

ACF Extended for Advanced Custom Fields Workflows

An ASE skill built around ACF Extended, the WordPress enhancement suite for Advanced Custom Fields that adds field types, admin improvements, front-end forms, options pages, and developer tooling. It is a practical fit for agents working inside complex WordPress content models and custom field workflows.

ACF to Gutenberg Block Migrator

Converts Advanced Custom Fields field groups into native Gutenberg blocks using the ACF Block API v2 and @wordpress/scripts build pipeline. Maps ACF repeaters, groups, and flexible content to InnerBlocks and block attributes with server-side rendering via acf_register_block_type().

Activepieces Open Source Workflow Automation

Activepieces is an open-source, self-hostable workflow automation platform with 200+ integrations. It provides a visual builder for creating automated workflows and exposes all its connectors as MCP servers for AI agent use.

ActivityWatch Cross-Platform Automated Time Tracker and Producti

ActivityWatch is a privacy-first, open-source automated time tracker that records application usage, browser activity, and AFK status across Windows, macOS, and Linux. With 16k+ GitHub stars, it provides detailed productivity analytics without sending data to external servers.

act Local GitHub Actions Runner

act is an open-source CLI tool that runs GitHub Actions workflows locally using Docker, enabling fast feedback on workflow changes without pushing to GitHub. It is a standard tool for local Actions development and testing.

Add a browser review checkpoint before risky agent actions with

Use AgentClick when an agent should pause before risky commands, plans, drafts, or code changes so a human can inspect, edit, approve, or reject them in a purpose-built browser UI.

Add Claude design-system and accessibility workflows with UX/UI

Use UX/UI Agent Skills when Claude should generate tokens, component specs, accessibility audits, and framework-specific UI code from a repeatable design workflow.

Add executable smoke tests for shell scripts and CLIs before ref

Use Bats-core when an agent needs to turn fragile shell scripts or command-line workflows into something it can verify repeatedly after edits. The agent writes focused Bash tests for success paths, failure paths, and output contracts, then runs them locally or in CI before a refactor, release, or incident fix goes out.

Add graph-backed memory and context retrieval to agent workflows

Use Cognee to ingest project knowledge into graph and vector memory so agents can retrieve durable context across sessions and workflows.

Add IDE-style semantic code navigation and symbol-safe refactors

Give a coding agent symbol-aware lookup, cross-file rename, and structural edit tools before it starts making brittle text-only changes.

Add managed long-term memory to LangGraph agents with LangMem

Give LangGraph agents memory management and search tools so they can store, retrieve, and update durable facts across sessions.

Add multimodal lifelong memory to MCP and Python agents with Sim

Use SimpleMem to store, compress, index, and retrieve text or multimodal memories for agents through MCP or Python integrations.

Add persistent project memory and hook-driven synthesis with Cla

Keep Claude Code sessions grounded in prior decisions, project context, and daily handoff notes instead of starting from zero every time.

Add Postgres-native vector retrieval to agent and RAG workflows

Store embeddings beside application data in Postgres, create vector indexes, and query nearest neighbors for semantic search, RAG, recommendations, or agent memory retrieval.

Address GitHub PR review comments from the current branch with g

Find the open PR for the current branch, gather unresolved review comments, and drive a focused comment-resolution workflow with gh-authenticated context.

Add runtime guardrails to TypeScript agents with VoltAgent

Use VoltAgent to intercept, validate, and enforce input/output policies in TypeScript agent workflows.

Add temporal context memory to agent workflows with Zep

Use Zep as an external context layer for agents that need to store events, assemble temporal graph context, and retrieve relevant memory before model calls.

Adobe Firefly API Batch Image Generator

Calls Adobe Firefly

相關技能