AI

Aider:在終端機中進行 AI 配對程式設計,支援 100 多種語言

Aider 是一個受歡迎的開源 AI 配對程式設計工具,可在終端機中使用,擁有 43K+ 星,支援雲端和本地 LLM,並深度整合 Git。

Aider:在終端機中進行 AI 配對程式設計,支援 100 多種語言

終端機一直是開發者最強大的介面——快速、可腳本化且無干擾。但它也是最孤獨的。Aider 改變了這種情況,將 AI 配對程式設計師直接帶入您的命令列,結合了終端機開發的速度與最新語言模型的推理能力。

由 Paul Gauthier 建立,Aider 已成長為現存最受歡迎的開源 AI 程式設計工具之一,擁有超過 43,000 個 GitHub 星和超過 410 萬次 PyPI 安裝。它已被個人開發者、新創公司和企業團隊採用,他們希望在熟悉的終端機工作流程中獲得 AI 輔助。

Aider 與 IDE 整合的程式碼助手的不同之處在於它對整個專案上下文的深入理解。Aider 使用 tree-sitter 進行語法感知的程式碼庫映射,建立專案結構的即時地圖,使其能夠在不失去連貫性的情況下,跨多個檔案進行上下文適當的更改。


Aider 的架構師模式如何運作?

Aider 最具創新性的功能之一是架構師模式,這是一個將推理與編輯分離的雙模型管線。一個強大(通常也更昂貴)的「架構師」模型思考問題、設計解決方案並概述所需的更改。然後,一個更便宜、更快的「編輯器」模型將該計劃轉化為精確的檔案編輯。

這個架構實現了令人印象深刻的成本效益比:您可以獲得頂級模型的推理品質,同時為實際的程式碼生成支付預算模型的推理成本。Aider 報告其最新版本中 88% 的新程式碼是由 Aider 本身編寫的——這是工具自給自足的一個引人注目的例子。


你可以用 Aider 使用哪些模型?

Aider 的模型支援是所有 AI 程式設計工具中最廣泛的之一,涵蓋雲端 API 和本地託管的模型。

模型供應商支援的模型存取方法
AnthropicClaude 3.7 Sonnet, Claude 3.5 HaikuAPI 金鑰
OpenAIo1, o3-mini, GPT-4o, GPT-4.1API 金鑰
DeepSeekDeepSeek R1, DeepSeek Chat V3API 金鑰
GoogleGemini 2.0 Pro, Gemini 2.0 FlashAPI 金鑰
OpenRouter透過單一 API 存取 200+ 模型OpenRouter 金鑰
本地 (LiteLLM)Llama, Mistral, Qwen 及 70+ 更多本地 GPU

LiteLLM 整合對於有資料隱私要求的組織特別有價值,因為它可以使用本地託管的模型實現完全離線操作,無需將程式碼傳送到外部 API。


Aider 中的 Git 整合如何運作?

Aider 的 Git 整合不是事後才想到的——它是一個核心設計原則。AI 所做的每項更改都會自動提交,附帶描述性的、人類可閱讀的提交訊息。這產生了幾個實際的好處:

功能好處
自動提交每項更改都記錄其上下文
乾淨的歷史易於單獨審查 AI 貢獻
復原支援使用 git revertgit reset 移除 AI 更改
Diff 感知Aider 在進行新編輯之前查看更改了什麼
按檔案提交複雜多檔案更改的邏輯邊界

其結果是一個開發者可以自由嘗試 AI 建議的工作流程,知道他們總是可以檢查 diff 並復原不需要的更改,而不會污染他們的專案歷史。


Aider 涵蓋哪些語言和功能?

Aider 透過 tree-sitter 語法定義支援超過 100 種程式語言。Tree-sitter 整合不僅僅是簡單的語法高亮——它使 Aider 能夠在 AST 層級理解程式碼的結構,產生更準確且上下文感知的編輯。

關鍵功能包括圖片和網頁支援(將螢幕截圖或文件作為視覺上下文)、每次更改後的自動 lint 和測試並具有自動修復能力,以及一個監視模式,可在您於單獨編輯器中工作時讀取程式碼註解以了解 IDE 層級的上下文。語音轉程式碼功能完善了體驗,讓您可以口述更改,實現真正的免持式程式設計工作流程。


常見問題

什麼是 Aider? Aider 是一個開源 AI 配對程式設計工具,在您的終端機中執行,由 Paul Gauthier 建立。它連接到雲端 LLM(Claude、GPT、Gemini、DeepSeek)和本地模型,幫助您編寫、重構和除錯超過 100 種程式語言的程式碼,並深度整合 Git。

Aider 支援哪些模型? Aider 支援廣泛的雲端 LLM,包括 Claude 3.7 Sonnet、DeepSeek R1 和 Chat V3、OpenAI o1/o3-mini/GPT-4o、Gemini 模型等。它還透過 LiteLLM 整合支援本地模型,總共可存取 75+ 個供應商。

Aider 如何與 Git 整合? Aider 在每次 AI 建議的修改後自動提交更改,並附帶有意義的提交訊息。這建立了乾淨的 Git 歷史記錄,可以輕鬆使用標準 Git 工作流程來 diff、審查、接受或復原 AI 生成的更改。

Aider 支援哪些程式語言? Aider 支援超過 100 種程式語言,包括 Python、JavaScript、TypeScript、Rust、Go、C++、PHP、HTML、CSS、Java、Ruby 等。語言支援由 tree-sitter 驅動,用於準確的程式碼庫映射和語法感知編輯。

Aider 支援語音轉程式碼嗎? 是的,Aider 包含語音轉程式碼功能,可讓您用說的而不是打字的來提出請求。這實現了自然的對話工作流程,您可以用口頭描述想要的更改,讓 Aider 在您的程式碼庫中實作它們。


延伸閱讀

TAG