對話輪次循環
這是什麼
一項使用者請求從上下文建構、模型呼叫、工具執行到完成回覆的完整處理路徑。
白話解釋
每輛從生產線下線的汽車,都會經過相同的焊接檢查站、烤漆區與最終檢驗區,不論是基本款或全配版。訊息抵達 Hermes 後,也會在答案回傳前經過相同固定站點,無論它來自聊天視窗、bot 或定時器。
為什麼重要
Hermes 的每項使用者請求都走固定路徑:組裝上下文、呼叫模型、執行模型要求的工具,再把結果寫回工作階段狀態。Cron 工作、gateway 訊息與桌面聊天都匯入同一迴圈,因此排程工作和即時對話使用相同機制,而不是各自維護平行程式碼。偵錯遺漏的工具呼叫或不完整回覆時,通常要先確認問題發生在這條路徑的哪一站。
運作方式
這條路徑位於 agent/conversation_loop.py 的 run_conversation。它先呼叫 agent/turn_context.py 的 build_turn_context,完成每輪只需執行一次的工作,包括清理輸入訊息、還原快取系統提示,以及在歷史過長時進行壓縮;這些都發生在第一個模型呼叫之前。接著進入受 agent.max_iterations 與迭代預算限制的迴圈:每次呼叫模型後,若回覆要求工具,就交給 agent._execute_tool_calls 與 agent/tool_executor.py 執行,再把結果加入訊息並重新呼叫模型。模型回覆不再包含工具要求時,內容便作為完成答案返回。
具體範例
使用者輸入「查看今日行事曆並寄出摘要」,要求 Hermes 讀取 calendar://today。迴圈先組裝上下文,確認行事曆與電子郵件工具已啟用;第一次模型呼叫要求讀取行事曆,迴圈執行工具並附加結果。第二次呼叫要求寄送電子郵件,迴圈再次執行工具。第三次模型回覆只有確認文字,不再要求工具,因此迴圈在此停止,該文字成為使用者看到的回覆。
如何連結
「對話輪次循環」屬於「執行期」系列。最直接相關的概念包括:「代理執行環境」、「對話輪次上下文」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。
來源證據
agent/conversation_loop.py#agent.conversation_loop.run_conversation— 已驗證的精確符號對應;此錨點已對照釘選 commit。
工作流程
- 目前尚無第一輪工作流程對應;此概念仍透過文章與來源證據出現在知識庫圖譜中。
相關文章
- 深入 Hermes:代理迴圈、上下文、記憶、閘道與 Cron 任務如何協同運作
- 從零到個人 AI 助理:在 VPS 上建置 Hermes 而不造成混亂
- 七個節省成本的 Hermes 工作流程,超越單純對話
- 如何比大多數人更善用 Hermes:架構、專案隔離與可擴展工作流程
