🤖HermesBlog
Hermes 功能詳解 · 第15篇2026/8/9· Easy Understand Hermes Agent

第15篇:程式碼執行——AI 寫程式碼跑程式碼

Hermes 功能詳解第15篇:程式碼執行。讓 AI 直接執行 Python 等程式碼,驗證結果再繼續。

這篇講的是 Hermes Agent 的「程式碼執行」功能——讓 AI 自己寫 Python 腳本、自己執行,把一堆零散的小任務打包成一次搞定。

hermes-feature-15-code-execution

它解決什麼問題?

平時讓 AI 幹活,是「你說一句,它做一步」。比如查資料、讀檔案、改程式碼,每一步都要來回對話。程式碼執行讓 AI 把多步操作寫成一個腳本,一次性跑完,只把最終結果告訴你。

打個比方:以前是讓助手一趟趟跑腿拿東西,現在是讓助手列好清單、一次性採購完,回來只給你看購物袋裡有什麼。

第1步:AI 怎麼寫腳本?

AI 會在腳本裡用 from hermes_tools import ... 匯入工具,就像你點外送時從選單上選菜:

from hermes_tools import web_search, web_extract

results = web_search("Python 3.13 新特性", limit=5)
for r in results["data"]["web"]:
    content = web_extract([r["url"]])
    # 篩選和處理...
print(summary)  # 只把總結印出來

腳本裡能用的工具web_search(搜尋)、web_extract(抓網頁)、read_file(讀檔案)、write_file(寫檔案)、search_files(搜尋檔案)、patch(改程式碼)、terminal(執行命令)。

第2步:什麼時候 AI 會用它?

當任務滿足以下任一條件時,AI 就會主動用程式碼執行:

  • 需要連續呼叫 3 次以上工具,中間還有處理邏輯
  • 要批次篩選資料,或者有條件的判斷分支
  • 需要對結果做迴圈處理

最大的好處:中間步驟的結果不會塞進對話裡,只有最後 print() 的內容會回傳。省 token 省到飛起——比如你讓它查 20 個設定檔,它不會把 20 個檔案內容全貼出來,只給你一份彙總。

第3步:兩個執行模式,怎麼選?

在設定檔 ~/.hermes/config.yaml 裡設定:

code_execution:
  mode: project   # 預設,推薦
模式 工作目錄 Python 直譯器
project(預設) 和你平時用 terminal() 一樣 用你目前啟用的虛擬環境
strict 隔離的暫存目錄 用 Hermes 自己的 Python

什麼時候用 project:你想讓腳本能 import pandas、能讀取專案裡的檔案、相對路徑都正常。絕大多數情況選這個就對了

什麼時候用 strict:你需要「絕對可重現」——不管使用者啟用了哪個環境,都用同一個直譯器,腳本也碰不到專案檔案。

第4步:安全措施

腳本跑在「無菌房」裡——API 金鑰、密碼、令牌統統被剝離。環境變數裡凡是名字帶 KEYTOKENSECRETPASSWORD 的都會被過濾掉。

另外還有硬性限制:

資源 上限
逾時 5 分鐘
輸出 50 KB
工具呼叫 50 次

第5步:出錯怎麼辦?

腳本掛了,AI 會收到結構化錯誤資訊——結束碼、報錯輸出、逾時提示,一目瞭然。如果使用者中途發新訊息,腳本會被立刻終止,AI 會看到「執行被中斷」的提示。

實戰例子:批次改程式碼

from hermes_tools import search_files, patch

# 找到所有用了舊 API 的檔案,批次替換
matches = search_files("old_api_call", path="src/", file_glob="*.py")
fixed = 0
for match in matches.get("matches", []):
    result = patch(path=match["path"], old_string="old_api_call(", 
                   new_string="new_api_call(", replace_all=True)
    if "error" not in str(result):
        fixed += 1

print(f"修復了 {fixed} 個檔案,共 {len(matches.get('matches', []))} 處匹配")

小結

程式碼執行 = 讓 AI 把多步操作打包成腳本,一次跑完,只給你看結果。省 token、省時間、減少來回對話。預設的 project 模式適合絕大多數場景,安全機制也很到位。

下篇預告:AI 能寫程式碼跑程式碼了,那它能自己管理檔案嗎?下一篇我們聊聊「檔案操作——AI 讀寫檔案的正確姿勢」。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/git-worktrees