Community生產力與協作github.com

mohamedzhioua/agentpace

根據實際代理運行記錄,以 P50/P80/P90 範圍估算軟體開發時程,並顯示關鍵路徑與人工部分。

agentpace 是什麼?

agentpace 是一個專為 AI 代理工作流程設計的時程估算工具。當開發者或團隊詢問「這項工作要花多久時間?」時,它會根據真實代理運行數據,輸出 P50、P80 和 P90 的機率範圍,並清楚標示出關鍵路徑與需要人類參與的部分。該工具支援多種代理平台(如 Claude Code、Gemini CLI、OpenCode、Cline),並可透過 `agentpace ingest` 合併使用者自己的運行記錄,提升估算準確度。使用時,使用者需將工作分解為任務(feature、bugfix、refactor 等),設定風險等級與相依關係,並指定同時運行的代理數量。估算結果會避開單一數字的陷阱,只提供區間建議,並在遇到引用的人類時程(如「3 個月」)時,將其標註為未驗證的日曆時間,從不與代理時間混算。這項技能對於規劃路線圖、功能開發、錯誤修復等軟體工作特別有用,能幫助團隊在代理驅動的開發環境中做出更可靠的時程預測。

相容平台✓Claude Code~Codex CLI~Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/mohamedzhioua/agentpace/tree/HEAD/skills/agentpace

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

agentpace 是做什麼的?

使用時機:當有人問軟體工作需要多久時間,或提到以天、週或月為單位的時程時(針對代理將執行的工作)。

產出:一個經過測量的 P50/P80/P90 範圍,包含其關鍵路徑、獨立一行的人工部分,以及任何引用的時程(標示為未驗證)。

回答「這要花多久?」時,請根據真實代理運行提供測量範圍,並將人工部分獨立標示。不要引用人類團隊的時程,也絕對不要給出單一數字。

此技能會對自然語言問題觸發。/pace-estimate 是針對給定計畫的明確指令。

檢查工具

運行 agentpace --version。如果失敗,告訴使用者安裝指令並停止。未經要求請勿安裝任何東西:

uv tool install agentpace

如果他們不想安裝任何東西,請改用 assets/portable-prompt.md。

估算

  1. 除非使用者另有說明,否則假設代理會負責實現。如果不清楚且答案會因此改變,請詢問一次。
  2. 將工作分解為代理會以獨立回合運行的任務。
  3. 為每個任務指定一個 id、一個 kind 和一個 risk,如果必須等待其他任務,則加上 depends_on。將 agent_cap 設為同時運行的代理數量。
  4. 將計畫寫入檔案並執行估算器。
{
  "agent_cap": 3,
  "model": "claude-opus-5-5",
  "tasks": [
    { "id": "schema", "kind": "feature", "risk": "normal" },
    { "id": "api", "kind": "feature", "risk": "normal", "depends_on": ["schema"] },
    { "id": "review", "kind": "review", "risk": "low", "depends_on": ["api"] }
  ]
}
agentpace estimate plan.json

種類:feature、bugfix、refactor、migration、tests、docs、review、other。風險:low、normal、high。對於遷移工作和難以撤銷的工作,請使用 risk: high。model 為選填。

重新回應引用的時間

當對話中已經包含使用者、文件或先前回答提供的天、週或月為單位的時程時,仍然估算計畫,並按原樣傳遞該時間引用,保持其原始用語:

agentpace estimate plan.json --quoted "3 months"

輸出接著會在總計下方顯示一行 Quoted:,將該引用標示為日曆時間、已引用且未驗證。照原樣轉述該行,放在測量範圍旁邊。永遠不要將引用時間轉換為代理時間,不要對其進行除法或乘法,也不要與範圍進行比較或給出兩者之間的比例:唯一的代理時間就是測量範圍,而人工部分保持獨立一行。永遠不要說引用和範圍之間的差異是什麼,也永遠不要稱之為人工部分:那會從代理時間推導出人工部分。永遠不要說引用計算了什麼:沒有任何事情驗證過它。

如果使用者想要之後查看哪個數字成立,請提供加上 --record 的相同指令。工作完成後,agentpace score <id> --session <ref> 會將兩者與代理實際花費的時間進行比較。

報告結果

  • 以會話時鐘上的範圍 P50、P80 和 P90 開頭,作為計畫總計。建議使用 P80 進行規劃。
  • 照 CLI 列印的方式傳遞會話時鐘行和人工部分行。第一行表示回合間的空檔會計入總計,直至閒置上限,因此短暫等待使用者會包含在其中。如果未經測量,人工部分行會說明沒有為審查、測試、決策和等待代理回合新增任何容許時間。如果由 agentpace turns 測量,則會從使用者本地歷史引用每個人類回合的等待時間。無論哪種情況,都不要從代理時間推導出一個數字,也不要將每回合等待時間乘以猜測的回合數。如果使用者給出自己的數字,請重複並標示為他們的數字。如果他們說明自己的審查容量,例如「每天 4 個 PR」,請逐字傳遞 --review-capacity "<figure>",照原樣轉述 Review capacity: 行,永遠不要將其轉換為時間表。
  • 命名關鍵路徑和有效平行度。
  • 傳遞所有警告。警告表示某個單元格運行次數太少,因此該範圍依賴於更廣泛的數據。
  • 即使被追問,也不要說出單一數字。如果有人需要一個數字來規劃,請給出 P80 並稱之為 P80。

適時說明的限制

  • 種子數據來自一個人的工作流程,因此可能與使用者的工作流程不同。agentpace ingest 將使用者自己的運行與之合併;--data ~/.agentpace/runs.jsonl 則僅使用使用者自己的數據。Gemini CLI、OpenCode 和 Cline 適配器是實驗性的,尚未在真實會話上驗證,因此當估算依賴於這些工具產生的行時,請說明這一點。
  • 在不讀取提示的情況下,元數據無法區分功能與錯誤修復或重構,因此這些種類可能共享數據。
  • 除非傳遞了 --use-size,否則 size 會被忽略,因為儲存的大小是在運行後測量的。除非使用者要求,否則不要傳遞它。

請參閱 references/method.md 了解估算的運作方式。

相關技能