自導向代理人迴圈
`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() 的實際呼叫順序