我的 AI 智慧代理程式開發終端配置
如何用 Ghostty、Yazi、Fish 和 LazyGit 平行運行多個 AI 代理 - 一套為智慧代理工作流打造的輕量終端技術堆疊。
AI 輔助程式開發的瓶頸已經不在代理本身。Claude Code、Aider、Codex CLI 這些工具已經相當出色。真正的限制在於人的能力 - 如何同時操控多個代理、監控它們的輸出、在偏離方向時及時修正、最終將工作成果合併在一起。
我採用了一套終端優先的配置來處理這個問題。四個工具,都很輕量,都可組合:終端用 Ghostty,檔案瀏覽用 Yazi,Shell 用 Fish,Git 操作用 LazyGit。以下說明每個工具的角色。
為什麼選擇終端
AI 程式開發代理天生就是 CLI 原生的。它們讀取檔案、執行指令、在終端中輸出結果。當你想同時運行三個代理 - 一個開發功能、一個修復 bug、一個撰寫測試 - 你需要三個並排顯示的 Shell 工作階段。
IDE 也做得到,但代價不小。VS Code 加上多個整合終端、擴充套件、語言伺服器和編輯器本身,輕鬆消耗 2-4GB 記憶體。這些記憶體原本可以留給 AI 代理使用。每一個上下文 token、每一次 API 呼叫、每一次檔案讀取都在爭奪同樣的系統資源。
輕量級終端配置扭轉了這個局面。我使用的這些工具加在一起,資源佔用遠低於一個 Electron 應用程式,把系統資源留給真正在做事的代理。
Ghostty - 基礎建設
Ghostty 是一款 GPU 加速終端模擬器,macOS 上使用 Metal,Linux 上使用 OpenGL。它用 Zig 撰寫,速度很快 - 基準測試顯示純文字渲染比 iTerm2 和 Kitty 快約 4 倍,即使在高負載下也能維持約 60fps。
對於代理工作流來說,關鍵特性是原生分割和標籤頁。不需要 tmux。Ghostty 在應用程式層級處理面板分割,渲染流暢、字型縮放精確、無需額外設定。開啟新分割、啟動代理,立刻開始工作。
我的典型佈局是四個面板:
- 左上:在功能分支上工作的 Claude Code
- 右上:處理另一個任務的第二個代理
- 左下:監控檔案變化的 Yazi
- 右下:審查和提交程式碼的 LazyGit
當 LLM 串流輸出長回應時,有些終端會在高速輸出下卡頓。Ghostty 的 GPU 渲染能夠無掉幀、無延遲地處理這種情況,在同時監控多個輸出串流時特別重要。
Yazi - 代理工作時的導航
當三個代理同時在程式碼庫中修改檔案時,你需要一種快速查看變化的方式。Yazi 是用 Rust 撰寫的終端檔案管理員,具有完全非同步的 I/O。所有操作都是非阻塞的,瀏覽大型目錄時不會因為背景載入檔案預覽而停頓。
我在一個面板中常駐 Yazi,主要用途包括:
- 監控變更 - 即時查看代理建立和修改的檔案
- 檔案預覽 - 無需開啟編輯器,直接在終端中查看語法高亮的程式碼、圖片甚至 PDF
- 批次重新命名 - 當代理產生的檔案命名不符合預期時進行調整
- 快速跳轉目錄 - 利用書籤和搜尋功能
外掛系統(基於 Lua)支援按需客製化。我使用了幾個 Git 狀態顯示和快速目錄跳轉的外掛,不過預設配置就已經很好用了。
Fish Shell - 降低認知負荷
在四個終端面板之間來回切換時,認知負荷會快速累積。你瞥一眼面板,需要想起它在做什麼、重新理解上下文、輸入指令,然後切到下一個。
Fish 透過開箱即用的功能減輕了這種摩擦:
- 自動建議:Fish 根據歷史記錄用灰色文字提示指令的後續部分。按右方向鍵即可接受。無需外掛。
- 語法高亮:有效指令顯示一種顏色,無效指令顯示另一種顏色。按 Enter 前就能發現拼寫錯誤。
- Tab 補全:Fish 自動解析 man 頁面產生補全清單。輸入指令按 Tab,即可獲得上下文相關的選項。
與 zsh 的關鍵區別是零設定。不需要安裝 oh-my-zsh,不需要維護 .zshrc,不需要更新外掛管理器。Fish 安裝後立即可用。當你專注於管理代理時,除錯 Shell 設定是最不想做的事情。
LazyGit - 基於工作樹的平行開發
這是這套配置在平行代理工作中真正大放異彩的地方。LazyGit 是一個 Git 終端 UI,它的工作樹(worktree)支援讓多代理開發變得切實可行。
模式很簡單:每個代理在獨立的 Git 工作樹中工作。工作樹是儲存庫的一個連結副本,在不同目錄中簽出不同分支。代理 A 在 ./feature-auth/ 目錄下的 feat/auth 分支工作,代理 B 在 ./fix-perf/ 目錄下的 fix/performance 分支工作。它們互不觸碰對方的檔案,因此平行工作時不會產生合併衝突。
LazyGit 讓管理這個工作流變得視覺化且高效:
- 建立工作樹 - 一個按鍵(
w)搞定 - 切換工作樹 - 審查每個代理的工作成果
- 互動式變基 - 合併前整理代理的提交歷史
- 視覺化 diff - 並排比較分支間的變更
- 復原/重做 - 透過 reflog 整合,代理產生意外結果時按
z回滾
沒有視覺化 Git 工具的話,管理多個工作樹意味著在不同目錄間反覆 cd 和查看 git log 輸出。LazyGit 將這一切整合到一個可導航的介面中。
全部串聯起來
一個典型的工作階段是這樣的:開啟 Ghostty,分成四個面板。用 LazyGit 建立兩個工作樹 - 一個用於功能開發,一個用於 bug 修復。在左上面板啟動指向功能工作樹的 Claude Code,在右上面板啟動指向 bug 修復工作樹的第二個代理。左下是 Yazi,可以瀏覽兩個工作樹目錄並即時預覽變更。右下是 LazyGit,用來審查 diff、暫存變更,最終合併兩個分支。
關鍵在於這些工具沒有一個會爭奪資源。Ghostty、Yazi、Fish、LazyGit 都是編譯好的原生程式。沒有 Electron 執行時期,沒有 JVM,沒有在背景消耗記憶體的 Python 直譯器。系統資源完整地留給了真正需要運算力的 AI 代理。
結語
最好的 AI 代理程式開發環境不取決於你用的是哪個 AI 模型,而取決於人的層面。同時運行多個代理、監控輸出、及時修正方向、乾淨地合併工作 - 這些能力決定了你的實際產出。
這套技術堆疊有明確的主張,但保持了精簡。渲染用 Ghostty,檔案用 Yazi,Shell 用 Fish,Git 用 LazyGit。每個工具都快速、輕量、可組合。如果你在使用 AI 程式開發代理但還沒試過平行終端工作流,不妨從其中一個工具開始,看看它會如何改變你的工作方式。
訂閱電子報
獲取關於我最新專案、文章以及 AI 和 Web 開發實驗的更新。