在本系列的第二篇文章中,我們將介紹 vibe 編碼所帶來的問題,以及實現更好的替代方案的步驟。 本文將討論適用於 Linux 系統的基於人工智慧的程式設計工具。
我們在這些文章中一直論證的是,與課程供應商的說法相反,人工智慧工具並不會取代學習程式設計的必要性。恰恰相反,它們讓程式設計變得更加重要。 由於這些工具功能更強大,因此需要對操作原理有更深入的了解。
如果您想建立一個沒有圖形介面的簡單應用程序,例如一個讓孩子在 Linux 終端機練習乘法的程序,您可以使用您首選模型的 Web 版本。但是,如果您要添加圖形介面、與外部服務互動以及用戶註冊功能,事情就會變得複雜得多。幸運的是,我們有一些工具可以提供幫助。
基於人工智慧的程式設計工具
人工智慧輔助編程涉及特定知識和工具的結合,這些知識和工具需要與開發人員互動。這樣一來,個人就能專注於重要的事情,並將日常瑣事委託他人處理。所謂重要的事情,指的是找出問題並確定最佳解決方案。
我們所說的工具可以是本機安裝程式的一部分、輔助執行特定功能的獨立工具,也可以是提供完整解決方案的雲端服務平台。 從編寫程式碼到託管應用程序,雖然它們都使用大規模語言模型(LLM),但實作方式各不相同。
模型、能動性、技能和 MCP
在開始介紹工具清單之前,讓我們先澄清一些術語,這將有助於理解每個工具的功能。
- 大規模語言模式: 它們是基於人工智慧的系統,透過大量資料訓練,能夠理解人類語言並做出回應。
- 代理: 在人工智慧領域,智能體是指任何能夠在環境中自主行動的實體。它能夠根據從環境中接收到的信息做出決策,並採取行動來改變環境。
- 技能: 它是一組專門的、可重複使用的指令,告訴代理人如何執行特定任務。
- MCP: 模型上下文協定(Model Context Protocol)是模型與外部資料資源之間通訊的標準。
在第一篇文章中,我們討論了一位Vibe程式設計師開發的應用程序,該應用程式透過顯示圖片來展示餐廳菜餚的組成。讓我們用這個例子來解釋我們提到的每個項目的功能。
假設我們在菜單上看到了俄式牛肉絲(Boeuf Stroganoff)。應用程式應該
- 請閱讀菜單。
- 找出所需材料。
- 生成圖像。
該模型可以
- 理解問題。
- 找出答案。
但他不能:
- 請閱讀菜單。
- 尋找並顯示圖像
代理人確定他需要
- 執行光學字元辨識。
- 找到這道菜的圖片。
- 拿出來。
這定義了必要的技能
- 光學字符識別。
- 連接到食品資料庫。
- 顯示圖片
針對每項任務庫和/或應用程式介面必須使用通用語言。在代理中。這就是 MCP 介入的地方。
使用代理程式而不是直接與模型互動的優勢在於,我們可以避免歧義,並節省針對特定活動的具體指令的時間。
人工智慧輔助編程的工具類型
整合開發環境
整合開發環境 (IDE) 直接或透過擴充功能包含一個嚮導,可為程式碼的編寫、偵錯和審查提供即時幫助。其功能包括:
- 請建議接下來應該要寫哪一行程式碼。
- 回答問題。
- 糾正錯誤
- 舉例說明。
在整合開發編輯器中,無論是否配備人工智慧,最受歡迎的是 Visual Studio Code。
它是微軟首款擁有 Linux 版本的產品,可以透過 Snap 應用程式商店使用以下命令進行安裝。
sudo snap install code --classic
或者,如果您想在其他人之前嘗試最新產品。
sudo snap install code-insiders --classic
雖然這是一個開發版本,可能包含錯誤。
Visual Studio Code 的人工智慧助手是 GitHub Copilot。 它有點像手機的自動補全功能,但功能更強大。它不僅能建議如何完成你正在寫的程式碼行,還能根據上下文完成你開始寫的函數,甚至直接為你寫。如果你輸入它應該做什麼(例如,「OCR識別選單」),它也可以直接產生函數。
雖然GitHub Copilot不像LLM那樣允許使用人類語言進行對話,但它有一個優點: 它會適應你的程式風格。 例如,如果您決定以藍色小精靈角色的名字來命名變量,它將遵循該模式。
GitHub Copilot 有一個功能有限的免費版本,還有一個每月 10 美元的付費版本,該版本允許您使用 OpenAI 的 (ChatGPT) 和 Claude 編碼代理。
此外,Visual Studio Code 還提供了一些擴充程序,可讓您與其他人工智慧助理進行互動。您可以從以下位置安裝它們:
檔案 ➡️ 偏好設定 ➡️ 副檔名,然後在搜尋視窗中按名稱搜尋。
繼續.dev
它是一款開源擴展程序,與 GitHub Copilot 相比有兩個優勢。
- 我們可以選擇我們想要使用的模型,無論是本地模型還是雲端模型。
- 我們可以像使用任何型號的網頁介面一樣,用自然語言聊天。
例如,「將變數名稱更改為《摩登原始人》中的角色。」如果我們不喜歡 ChatGPT 選擇的名稱,我們可以嘗試使用 Claude.ai。
此擴充功能會分析專案文件,並根據我們的指示提出具體的更改建議或產生適合上下文的程式碼。
下一篇文章我們將繼續列出可用於在 Linux 上進行 AI 輔助編程的工具。


