程式碼執行
這是什麼
讓模型以 execute_code 執行短程式,並只把程式印出的結果帶回對話;本機模式以子程序形成控制邊界,而不是作業系統層級的隔離保證。
白話解釋
與其讓 Hermes 一行一行用文字推導多步驟問題,不如把整題交給後方的小型計算器,實際執行迴圈、數學運算與檔案解析,最後只回報算出的數字或清單,不把中間草稿全部塞進對話。
為什麼重要
執行程式片段來計算數值、測試正規表示式或解析檔案,比只靠文字推理更容易找出細微邏輯錯誤。它以獨立的單工具工具集 execute_code 註冊,因此不必同時開放較廣泛的終端機存取權。本機子程序是控制邊界,不是作業系統沙盒;程式內若再呼叫終端機,仍會沿用已設定的後端與一般核准政策。
運作方式
execute_code 讓模型撰寫一段短 Python 程式,透過程式化工具呼叫來使用其他 Hermes 工具,而不是逐一發出工具要求(tools/code_execution_tool.py)。在本機,程式會於子程序執行,並經由 Unix domain socket 與父程序通訊;若使用 Docker、Singularity、Modal、Daytona 或 SSH 遠端後端,則由輪詢執行緒透過檔案完成相同往返。無論使用哪種後端,只有程式印出的輸出會進入模型上下文,中間工具結果不會進入。程式內只能使用七項工具:web_search、web_extract、read_file、write_file、search_files、patch、terminal。所有後端都受相同硬性限制:5 分鐘逾時、最多 50 次工具呼叫,以及 50KB 標準輸出上限;啟動前也會移除環境變數中看似機密的值。
具體範例
讀者想知道 15 個商品頁面的平均價格,又不想逐頁閱讀:
- Hermes 寫一段程式,依序走訪 15 個網址,並對每頁呼叫
web_extract。 - 程式以一般 Python 解析價格,直接計算平均值。
- 程式只印出平均價格與離群值。 最終輸出是一小段數字,而不是把 15 頁擷取文字全部灌進對話。
如何連結
「程式碼執行」屬於「工具」系列。最直接相關的概念包括:「電腦使用」、「網路搜尋」、「代理執行環境」與「個人作業系統」。
來源證據
toolsets.py#<file>—toolset:code_execution對應的結構性Source Map備援;此檔案屬於「工具、工具集與 MCP」中的工具註冊表及工具集結構。
工作流程
- 目前尚無第一輪工作流程對應;此概念仍透過文章與來源證據出現在知識庫圖譜中。
相關文章
- 目前沒有文章以足夠頻率直接提及此概念名稱或別名,尚未達到提及探勘門檻。
