為什麼你該學「本地 AI 程式碼代理」?

你有沒有遇過這種情況:寫程式卡關,打開 ChatGPT 或 Claude,貼上一大段程式碼,等了十幾秒得到答案,但心裡總覺得毛毛的——公司的程式碼就這樣傳到雲端,真的沒問題嗎?或者,你只是想要一個快速補全變數名稱、自動產生函式註解的小幫手,卻要開瀏覽器、複製貼上、等回覆,工作效率反而更低了?

今天我要教你一個更聰明的方法:在你的 MacBook 上直接跑一個 AI 程式碼代理(coding agent)。這個代理就像一個隨時在線的資深工程師,你打字它就看,你寫程式它就幫你補全、改錯、甚至重構,而且完全離線、完全免費、你的程式碼永遠留在你的電腦裡

這不是科幻。2026 年的今天,開源 AI 模型已經進步到可以在一般筆電上跑出驚人的效果。這篇教學會帶你從零開始,一步步設定好屬於你的本地 AI 小幫手。

第一步:先搞定模型引擎——安裝 Ollama

要讓 AI 在本地運作,我們需要一個「模型執行環境」。最簡單的方式就是用 Ollama,它就像 AI 模型的 App Store——你下載它,然後用一行指令就能下載和執行各種開源模型。

下載與安裝 Ollama

  1. 前往 ollama.com 點擊 Download。
  2. 選擇 macOS 版本,下載後打開 .dmg 檔,把 Ollama 拖進 Applications 資料夾。
  3. 第一次打開時,macOS 會問你是否允許從網路下載的應用程式,按「打開」即可。
  4. 你會看到一個可愛的駱駝圖示出現在選單列上,這就代表 Ollama 正在背景運作。

下載你的第一個模型

打開終端機(Terminal.app),輸入:

ollama pull qwen2.5-coder:7b

這個指令會下載 Qwen2.5-Coder 7B 模型——阿里巴巴推出的開源程式碼模型,在 7B 參數規模中表現頂尖,而且對繁體中文支援極好。下載大小約 4.5GB,視網路速度可能需要 5-15 分鐘。

下載完成後,你可以先測試一下:

ollama run qwen2.5-coder:7b "用 Python 寫一個快速排序函式"

你會看到模型直接在終端機裡回覆你,而且完全不需要網路。如果覺得 7B 模型不夠強,也可以試試更大的版本:

ollama pull qwen2.5-coder:14b  # 約 9GB,效果更好但需要更多 RAM

小提醒:如果你的 Mac 是 M 系列晶片(M1/M2/M3/M4),建議至少 16GB RAM 才能順暢跑 7B 模型。8GB RAM 也可以跑,但回應速度會慢一些。

第二步:安裝程式碼編輯器插件——Continue

有了模型引擎,我們需要一個「介面」讓 AI 可以跟你的程式碼編輯器互動。Continue 是一個開源的 VS Code / JetBrains 插件,它會在你的編輯器側邊欄加入一個 AI 聊天視窗,而且可以設定使用 Ollama 作為後端。

安裝 VS Code(如果你還沒有)

如果你已經在用 VS Code,跳過這一步。如果沒有,前往 code.visualstudio.com 下載並安裝。

安裝 Continue 插件

  1. 打開 VS Code,點擊左側的 Extensions 圖示(或按 Cmd+Shift+X)。
  2. 搜尋「Continue」,找到由 Continue 團隊開發的插件(有 100 萬以上下載量)。
  3. 點擊 Install。

設定 Continue 使用 Ollama

安裝完成後,你會看到 VS Code 左側多了一個機器人圖示。點進去,第一次使用時會請你設定模型來源。

  1. 點擊 Continue 面板右上角的齒輪圖示(設定)。
  2. 在設定畫面中,找到「Models」區塊。
  3. 點擊「Add Model」,選擇「Ollama」。
  4. 在 Model 欄位輸入 qwen2.5-coder:7b
  5. 其他設定保持預設,關閉設定視窗。

現在,你的 Continue 已經連結到本地的 Ollama 了!你可以試著選取一段程式碼,按下 Cmd+L 打開 Continue 聊天,輸入「幫我解釋這段程式在做什麼」,它就會用你下載的模型在本地回覆你。

第三步:讓 AI 成為你的即時程式碼夥伴

Continue 不只是一個聊天視窗,它還有很多實用功能可以大幅提升你的開發效率。

程式碼補全(Tab Autocomplete)

這是最驚人的功能之一。當你打字時,Continue 會自動預測你想要寫什麼,並以灰色文字顯示建議。按 Tab 就接受,按 Esc 就忽略。

要啟用這個功能:

  1. 打開 Continue 設定。
  2. 找到「Tab Autocomplete」區塊。
  3. 啟用「Enable Tab Autocomplete」。
  4. 在「Autocomplete Model」選擇 qwen2.5-coder:7b

現在試試看:打開一個 Python 檔案,開始輸入 def calculate_,你會看到 AI 自動補齊函式名稱和參數。這感覺就像有一個夥伴在旁邊幫你接話。

選取程式碼後的操作

在編輯器裡選取一段程式碼,然後按 Cmd+Shift+L,你會看到 Continue 彈出一個快速指令選單,可以:

  • Edit(編輯):告訴 AI 你想怎麼修改這段程式碼,例如「改成使用列表推導式」。
  • Explain(解釋):讓 AI 用白話解釋這段程式在幹嘛,超適合閱讀別人的 legacy code。
  • Fix Bug(修 bug):貼上錯誤訊息,AI 會分析並建議修正。
  • Add Tests(加測試):自動為你選取的函式產生單元測試。

實際案例:幫你寫一個爬蟲

假設你想寫一個爬取 PTT 熱門文章的 Python 指令碼。你可以直接在 Continue 聊天視窗輸入:

幫我寫一個 Python 指令碼,用 requests 和 BeautifulSoup 爬取 PTT Gossiping 版的熱門文章標題和推文數,輸出成 CSV 檔。

AI 會產生完整的程式碼,你只需要按「Insert at Cursor」就能直接貼到編輯器裡。然後你可以選取程式碼,按 Cmd+Shift+L 選擇「Edit」,告訴它「加上 User-Agent 標頭避免被擋」,AI 會自動修改對應的部分。

進階技巧:使用更強的模型組合

如果你覺得 7B 模型不夠聰明,可以試試「雙層架構」:用一個小模型負責快速補全(autocomplete),用一個大模型負責複雜的對話和重構。

設定建議

  1. 在 Ollama 下載兩個模型:

    ollama pull qwen2.5-coder:1.5b  # 輕量版,適合快速補全
    ollama pull qwen2.5-coder:14b   # 重量版,適合複雜任務
  2. 在 Continue 設定中:

    • Tab Autocomplete Model:選 qwen2.5-coder:1.5b(補全要快)
    • Chat Model:選 qwen2.5-coder:14b(對話要準)

這樣你打字的時候會有即時補全,需要深入分析時再呼叫大模型,兼顧速度和品質。

注意事項與常見陷阱

記憶體管理

本地跑 AI 模型很吃 RAM。如果你同時開了很多瀏覽器分頁和 Docker 容器,建議先關掉一些。你可以用 macOS 的「活動監視器」檢查記憶體使用量,如果壓力圖顯示紅色,表示記憶體不足,回應速度會明顯變慢。

模型下載失敗

如果你在 pull 模型時遇到網路問題,可以檢查:

  • 是否需要開啟 VPN(某些地區可能連線不穩)
  • 磁碟空間是否足夠(模型檔很大)
  • 防火牆是否阻擋了 Ollama 的連線

與雲端服務的取捨

本地 AI 的優點是隱私、離線、免費,但缺點是模型能力不如 GPT-4 或 Claude 3.5。對於簡單的補全和常見程式碼產生,本地模型已經夠用;但對於複雜的系統設計或最新技術問題,你可能還是需要搭配雲端服務。我的建議是:日常開發用本地,難題再問雲端


總結

今天你學會了如何在 macOS 上打造一個完全本地、離線、免費的 AI 程式碼代理:

  1. 安裝 Ollama 作為模型引擎,下載 Qwen2.5-Coder 系列模型。
  2. 安裝 Continue 插件,讓 AI 直接融入 VS Code。
  3. 啟用 Tab Autocomplete,享受即時程式碼補全的流暢體驗。
  4. 利用選取操作快速解釋、修改、測試程式碼。

這個設定不僅保護你的程式碼隱私,還能讓你在沒有網路的環境下(例如飛機上、咖啡廳訊號差的地方)繼續高效開發。最重要的是,它完全免費——你不用付給 OpenAI 或 Anthropic 任何一毛錢。

現在就打開你的 MacBook 試試看吧!安裝完成後,你會發現自己寫程式的速度不知不覺就快了好幾倍。


延伸閱讀

常見問題

Q: 我的 Mac 只有 8GB RAM,可以跑嗎? A: 可以,但建議使用 7B 以下的模型(如 qwen2.5-coder:7b 或更小的 1.5B)。跑 14B 模型時記憶體會非常吃緊,可能導致系統變慢。你可以先用 7B 模型試試,如果覺得卡頓就換更小的版本。

Q: Continue 支援其他編輯器嗎?比如 JetBrains? A: 支援!Continue 有 JetBrains 系列(IntelliJ IDEA、PyCharm、WebStorm 等)的插件,安裝方式類似。也有 Vim/Neovim 的社群版本,但功能較少。

Q: 為什麼我的 Tab Autocomplete 反應很慢? A: 可能是模型太大或記憶體不足。試著改用較小的模型(如 qwen2.5-coder:1.5b)專門負責補全,把大模型留給對話用。另外確認 Ollama 在背景正常運作。

Q: 本地模型寫出來的中文註解會有亂碼嗎? A: Qwen2.5-Coder 對繁體中文支援很好,通常不會有亂碼。如果你用其他模型(如 Code Llama),中文支援可能較差。建議優先選用 Qwen 系列或 DeepSeek Coder 系列。

Q: 我可以同時用本地模型和 ChatGPT 嗎? A: 可以!Continue 支援同時設定多個模型來源。你可以把 Ollama 設為預設模型,再新增一個 OpenAI 或 Anthropic 的 API 當作備用。在對話時可以手動切換要用哪個模型回覆。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "我的 Mac 只有 8GB RAM,可以跑嗎?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "可以,但建議使用 7B 以下的模型(如 qwen2.5-coder:7b 或更小的 1.5B)。跑 14B 模型時記憶體會非常吃緊,可能導致系統變慢。你可以先用 7B 模型試試,如果覺得卡頓就換更小的版本。"
      }
    },
    {
      "@type": "Question",
      "name": "Continue 支援其他編輯器嗎?比如 JetBrains?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "支援!Continue 有 JetBrains 系列(IntelliJ IDEA、PyCharm、WebStorm 等)的插件,安裝方式類似。也有 Vim/Neovim 的社群版本,但功能較少。"
      }
    },
    {
      "@type": "Question",
      "name": "為什麼我的 Tab Autocomplete 反應很慢?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "可能是模型太大或記憶體不足。試著改用較小的模型(如 qwen2.5-coder:1.5b)專門負責補全,把大模型留給對話用。另外確認 Ollama 在背景正常運作。"
      }
    },
    {
      "@type": "Question",
      "name": "本地模型寫出來的中文註解會有亂碼嗎?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Qwen2.5-Coder 對繁體中文支援很好,通常不會有亂碼。如果你用其他模型(如 Code Llama),中文支援可能較差。建議優先選用 Qwen 系列或 DeepSeek Coder 系列。"
      }
    },
    {
      "@type": "Question",
      "name": "我可以同時用本地模型和 ChatGPT 嗎?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "可以!Continue 支援同時設定多個模型來源。你可以把 Ollama 設為預設模型,再新增一個 OpenAI 或 Anthropic 的 API 當作備用。在對話時可以手動切換要用哪個模型回覆。"
      }
    }
  ]
}
</script>