自導向代理人迴圈
AgentLoop.run(goal, max_steps=12)
啟動後完全自主執行,每步驟透過 run_turn() 推進。支援互動模式(interactive=True)與批次模式,所有事件均以
run_id 記錄於 AutonomyStore。
每個執行回合(Turn)依固定五步驟推進,直到目標達成、被封鎖或超過步數上限
AgentLoop 是 Autonomy 的核心驅動器——一個「自導向任務迴圈」,不需要人工介入即可從目標出發,自主選擇工具、執行行動並從結果中學習。
每個 Turn 的執行流程:①從技能庫選取相關 ProcedureSkill,②由 LLM 提案 + RecipeEngine 產出候選動作路徑,③以 5 維評分排序(Beam
Width=3),④透過 ActionGateway 受管執行,⑤評估結果並觸發學習。
終止條件明確:ACHIEVED(目標完成)、BLOCKED(無法繼續)、NO_CANDIDATES、APPROVAL_DENIED、MAX_STEPS_REACHED、或
FAILED——系統永遠不會陷入無限循環。
每個特點都直接對應 Autonomy 原始碼中的具體實作
AgentLoop.run(goal, max_steps=12)
啟動後完全自主執行,每步驟透過 run_turn() 推進。支援互動模式(interactive=True)與批次模式,所有事件均以
run_id 記錄於 AutonomyStore。
所有工具呼叫必須通過 ActionGateway 的
ApprovalPolicy 授權。每個動作帶有 RiskLevel(LOW / MEDIUM /
HIGH)、expected_effect 與 verification_plan,確保執行可控、可審計。
CandidateSelector 以
evidence_strength(+0.30)、purpose(+0.10)、risk(−0.35)、side_effects(−0.20)、penalty(−1.0)五個維度計算總分,選出前
beam_width=3 名候選路徑送往執行。
DeterministicOutcomeEvaluator 優先判斷執行失敗(直接
BLOCKED),成功但結果不確定時再交由 ModelAssistedOutcomeEvaluator 呼叫 LLM 語義判斷——最小化昂貴的模型呼叫次數。
ProcedureSkillLibrary 內建 13 個 bundled
skills,涵蓋
api-debugging、browser-navigation、code-editing、codebase-documentation、plan、procedure-skill-authoring、process-management、requesting-code-review、systematic-debugging、technical-spike、TDD、website-inspection、writing-plans,每步動態選取最相關技能載入。
每次 Run 結束後,LearningLoop.review_run()
自動觸發:若結果為 ACHIEVED 且有 ≥2 個成功步驟,自動起草新 ProcedureSkillDraft(信心度 0.85),生成
LearningProposal 等待審核。
RecipeEngine 監控每個成功動作的 SHA-256
指紋——當同一動作成功次數 ≥ candidate_threshold=2,自動升格為候選
Recipe,下次直接作為行動選項(source=action_skill)提出,無需 LLM 重新推理。
每次 Run 結束後,CuratorDaemon
在後台執行緒(daemon=True)非同步啟動 SkillCurator.apply_auto_merges(),自動偵測並合併重複(信心 0.95)或子集(信心
0.90)技能,防止技能庫膨脹。
TOOLSET_CATALOG 涵蓋 4
個預設啟用工具集:file、terminal、search、skills,加上 opt-in 的 project(git / JSON / YAML / 測試探索)與 browser(Playwright
headless Chromium,11 工具)。規劃中:memory、delegate、cronjob、computer_use。
AutonomyStore 以 Event Sourcing
模式記錄整個執行生命週期:run_started → skills_selected → candidates_ranked → action_selected → approval_decision →
observation → outcome_evaluated → recipe_learned → learning_review → run_finished,完整可重播。
autonomy tui 啟動豐富終端介面,提供 session
總覽面板、回合記錄、Action trail、compact/full 切換模式與 / 指令面板。自然語言直接流入 AgentLoop,UI 永遠不直接執行工具。
支援 ollama(本地)與 8 個 OpenAI-compatible
providers:openai-api、nvidia、openrouter、deepseek、xai、zai、kimi-coding、alibaba。提供 API 金鑰管理與 provider
設定,autonomy doctor 可檢查端點走通性。
每個候選動作路徑依以下公式計算總分,選出前 3 名送往執行
每個方塊對應 Autonomy 原始碼中的實際類別或模組
每個技能以 SKILL.md 格式定義,包含名稱、描述、所需工具與平台篩選
每次執行 Turn 時,model.select_procedure_skills()
依可用工具名稱動態篩選並載入最相關技能;執行成功且達到門檻後,LearningLoop 將自動起草新技能並生成 LearningProposal(CANDIDATE
狀態)。
以下事件序列直接對應 AutonomyStore.record_event() 的實際呼叫順序