AI 程序員使用指南 - 通義靈碼協(xié)同編程全攻略

2025-04-18 18:28 更新

通義靈碼 AI 程序員,具備多文件代碼修改(Multi-file Edit)和工具使用(Tool-use)的能力,可以與開發(fā)者協(xié)同完成編碼任務(wù),如需求實(shí)現(xiàn)、問題解決、單元測試用例生成、批量代碼修改等。

說明

使用通義靈碼 AI 程序員,需要將通義靈碼 IDE 插件升級到最新版本(2.0.0及以上版本)。

AI 程序員可以幫助開發(fā)者快速完成一個研發(fā)任務(wù)的代碼編寫工作,在與 AI 程序員對話過程中,可以遵循以下幾點(diǎn)建議:

  • 清晰的需求描述:首先需要澄清我們需要 AI 程序員幫我們做什么,建議包含一個明確的目標(biāo),并通過步驟式的結(jié)構(gòu)化描述,詳細(xì)地描述你期望完成的開發(fā)任務(wù)要求;

  • 指定需要的上下文:選擇代碼文件、圖片、codebase、codeChanges 等上下文,可以幫助 AI 程序員獲取需求相關(guān)的語境。同時,結(jié)合詳細(xì)執(zhí)行步驟和要求,AI 程序員更精準(zhǔn)地了解你的意圖,生成最佳的方案和建議代碼;

  • 明確生成要求:告訴 AI 程序員在生成代碼修改建議時,你期望它遵循的要求,比如語言、規(guī)范、格式、變更目標(biāo)等,如“生成變更時,同時為每個方法生成英文注釋”;

  • 善用快照功能:當(dāng) AI 生成內(nèi)容不符合預(yù)期,或你的需求有變化時,可以通過快照功能回退到之前的對話輪次和代碼變更,繼續(xù)重新提問;

  • 審查和修改變更:AI 程序員完成多個文件的代碼變更后,開發(fā)者可以通過變更對比查看視圖(Diff View)進(jìn)行審查,以及對局部代碼片段進(jìn)行接受、拒絕、修改,保證最后得到符合預(yù)期的代碼變更。

image 通義靈碼,每天進(jìn)步不止一點(diǎn)點(diǎn),可以和開發(fā)者協(xié)同完成編碼任務(wù)。

喚起 AI 程序員(Summon your AI Developer

當(dāng)開發(fā)者期望和 AI 程序員一起完成一個研發(fā)任務(wù)時,可以通過 IDE 擴(kuò)展導(dǎo)航打開通義靈碼插件的窗口,并切換到 AI 程序員模塊,或使用快捷鍵 ? ? I 喚起 AI 程序員,即可開始使用。

操作

macOS

Windows

打開/關(guān)閉 AI 程序員

? ? I

Ctl Shift I

與 AI 程序員一起編程(Coding with AI Developer)

AI 程序員與開發(fā)者一起圍繞開發(fā)任務(wù)進(jìn)行編碼工作時,開發(fā)者需要輸入清晰的需求描述和要求,AI 程序員可以為開發(fā)者在工程內(nèi)進(jìn)行多個文件的修改,開發(fā)者審查并接受相關(guān)代碼變更即可。

image

同時,通義靈碼提供了相關(guān)的交互界面幫助開發(fā)者與 AI 程序員進(jìn)行對話和交互,整體交互界面區(qū)域如下:

image

  • 新建會話:如果和 AI 程序員正在對話并有文件變更,單擊后將出現(xiàn)二次確認(rèn),確認(rèn)后會終止或取消當(dāng)前文件變更,同時創(chuàng)建一個新的會話;

  • AI 程序員對話區(qū)域:展示開發(fā)者(問題)和 AI 程序員(回答)對話的過程,如果涉及到文件變更、計劃確認(rèn)等,也將在會話流的回答卡片中進(jìn)行狀態(tài)展示或操作;

  • 工作區(qū):承載代碼變更文件的展示,以及針對當(dāng)前會話流中的多次對話產(chǎn)生的多次變更文件進(jìn)行快照管理,同時提供查看、拒絕、接受代碼變更的相關(guān)操作入口;

  • 需求描述輸入?yún)^(qū)域:開發(fā)者進(jìn)行需求描述輸入的區(qū)域,提供了選擇上下文、自然語言輸入、自然語言和上下文組裝的能力;

  • 變更對比查看和操作區(qū)域:當(dāng)前快照下文件與其對應(yīng)本地文件的變更差異查看視圖,并提供針對代碼變更片段進(jìn)行修改、拒絕或接受的操作,以及文件級別的變更接受或拒絕操作。

需求描述輸入(User Input)

打開 AI 程序員后,即可看到需求輸入?yún)^(qū)域,在輸入框內(nèi)單擊 ? 或者輸入#即可選擇需要的相關(guān)上下文。輸入完成后發(fā)送即可,AI 程序員將根據(jù)需求描述自動進(jìn)行需求理解、相關(guān)信息檢索、任務(wù)拆解、編碼實(shí)現(xiàn)等。

image

image

多文件代碼修改(Multi-file Edit)

變更文件生成過程

當(dāng) AI 程序員對工程內(nèi)多個代碼文件進(jìn)行修改時,每一個文件的修改將至少經(jīng)歷生成、應(yīng)用的過程,生成代碼變更的過程中,可在 AI 程序員的回答卡片中和工作區(qū)中看到相關(guān)的變更文件,以及相應(yīng)的狀態(tài):

  • 生成中(Generating):根據(jù)任務(wù)拆解的修改計劃生成對各個文件的代碼片段修改建議的過程;

  • 應(yīng)用中(Applying):某文件的代碼片段修改建議生成完成后,將自動結(jié)合原文件內(nèi)容和代碼片段修改建議,生成相關(guān)代碼變更文件(非原文件);

  • 應(yīng)用完成(Applied): 代碼變更文件生成完成。

回答卡片中的文件或工作區(qū)的文件在生成中、應(yīng)用中的狀態(tài)時,單擊對應(yīng)文件,即可看到對應(yīng)文件的代碼修改建議生成過程、代碼變更文件與原文件變更對比(Diff)生成過程。

AI 程序員完成的代碼變更文件將聚合在工作區(qū),方便開發(fā)者進(jìn)行查看和操作。

image

審查、接受、拒絕代碼變更

單擊工作區(qū)的查看變更按鈕或單擊文件列表中的某文件,即可看到對應(yīng)文件的變更對比查看視圖(Diff View),開發(fā)者在此視圖中可以進(jìn)行如下操作:

  • 單擊上下鍵進(jìn)行切換查看當(dāng)前文件的多個變更點(diǎn);

  • 單擊某變更點(diǎn)上的拒絕、采納按鈕進(jìn)行決策操作;

  • 單擊文件級操作區(qū)的前后鍵進(jìn)行多個變更文件的查看;

  • 單擊文件級操作區(qū)的拒絕、采納按鈕進(jìn)行決策操作;

  • 局部修改當(dāng)前變更文件。

JetBrains IDEs 的視圖和操作位置,示意如下::

image

VS Code 的視圖和操作位置,示意如下:

image

說明
  1. 開發(fā)者基于當(dāng)前快照的代碼變更文件產(chǎn)生的修改,將統(tǒng)一進(jìn)入當(dāng)前快照的最新內(nèi)容中,進(jìn)行拒絕或接受操作時,將統(tǒng)一被拒絕或接受;
  2. 當(dāng)單擊接受某片段、某文件的代碼變更時,變更內(nèi)容將被合并到原文件代碼內(nèi)容中。

當(dāng)所有代碼變更文件均被操作過拒絕或接受變更后,當(dāng)前快照會變?yōu)橐呀邮?、部分接受、已拒絕狀態(tài),各個狀態(tài)的相關(guān)釋義如下:

  • 已接受:某文件有代碼變更接受,視為該文件為已接受狀態(tài);所有文件為已接受狀態(tài),當(dāng)前快照為已接受狀態(tài);

  • 部分接受:某文件有代碼變更接受,視為該文件為已接受狀態(tài);有部分文件為已接受狀態(tài),當(dāng)前快照為部分接受狀態(tài);

  • 已拒絕:某文件在無代碼變更被接受,視為該文件為已拒絕狀態(tài);所有文件為已拒絕狀態(tài),當(dāng)前快照為已拒絕狀態(tài)。

多輪對話及變更快照(Multi-turns & Snapshot)

進(jìn)行多輪次需求對話

當(dāng)進(jìn)行了一輪對話并生成代碼變更文件后,如需繼續(xù)補(bǔ)充需求或者修改需求,可在當(dāng)前任務(wù)的會話流中繼續(xù)提問,AI 程序員將結(jié)合前序輪次生成的代碼變更分析補(bǔ)充的需求,并生成新的代碼修改建議,產(chǎn)生一個或多個新的代碼變更文件。

image

快照查看和變更回退

當(dāng)需要查看或回退到前序輪次的修改時,可單擊下拉箭頭查看當(dāng)前會話任務(wù)中產(chǎn)生的多次代碼變更快照,選擇后,可以看到相關(guān)信息變化或進(jìn)行切換操作:

  • 會話流中自動定位到產(chǎn)生該快照代碼變更文件的回答卡片;

  • 快照下方文件列表自動切換到所選快照下的代碼變更文件,單擊后可查看代碼變更內(nèi)容;

  • 單擊“切換”按鈕,將當(dāng)前代碼變更回退到所選快照的代碼變更狀態(tài)。

image

單元測試生成(UnitTest Agent)

單元測試智能體是 AI 程序員所具備的一種專項能力,可以針對代碼變更(#codeChanges)、單個或多個代碼文件批量生成單元測試文件。開發(fā)者輸入被測內(nèi)容、生成要求,AI 程序員即可自動生成測試計劃、測試用例、編譯、運(yùn)行以及根據(jù)錯誤信息進(jìn)行自動修復(fù),大幅提升測試用例覆蓋度和用例的生成質(zhì)量,降低開發(fā)者編寫單元測試用例的成本。

說明
目前在 IntelliJ IDEA 的通義靈碼插件已上線單元測試智能體(自動編譯、運(yùn)行和修復(fù)),更多端的支持敬請期待。其他端可使用 AI 程序員直接生成對應(yīng)的單元測試用例文件。

選擇被測代碼并輸入測試要求

打開 AI 程序員后,在輸入框內(nèi)單擊 ? 或者輸入#即可選擇需要的相關(guān)上下文,并輸入相關(guān)的指令要求(建議輸入和生成單元測試相關(guān)要求的內(nèi)容),輸入完成后發(fā)送即可,AI 程序員會自動感知意圖,開始進(jìn)入生成單元測試的流程。

image

選擇和確認(rèn)環(huán)境信息

收到測試要求后,AI 程序員會自動檢測本地環(huán)境 Java 版本、構(gòu)建工具、測試框架、Mock 框架等信息,如果檢測到多個版本,開發(fā)者可主動選擇需要的版本;如果無法識別,將看到提示錯誤,單擊“如何修復(fù)”按鈕,開發(fā)者可以進(jìn)一步了解如何配置相關(guān)組件。

image

確定被測方法

環(huán)境信息檢查通過后,AI 程序員將自動分析被測文件,并生成測試計劃,開發(fā)者可以主動選擇需要覆蓋的方法,選擇并確認(rèn)完成后,單擊確定按鈕,即可開始為每個方法生成單元測試用例。

說明
  • 每次至少選擇 1 個方法為其生成測試用例,最多選擇 20 個方法;
  • 選擇方法后,會提示整體生成過程預(yù)計需要的時間,以供參考。

image

查看生成進(jìn)展

在確定被測方法后,AI 程序員將自動根據(jù)開發(fā)者選擇的被測方法進(jìn)行單測用例生成工作,并自動對生成的結(jié)果進(jìn)行編譯、運(yùn)行和自動修復(fù)。最終的結(jié)果會展示在界面中,狀態(tài)及釋義如下:

狀態(tài)

圖標(biāo)含義

image.png

代表運(yùn)行通過的用例

image.png

代表編譯通過但運(yùn)行失敗的用例

image.png

代表編譯失敗的用例

image

當(dāng)所有方法的用例生成完成后,AI 程序員自動將編譯通過和運(yùn)行通過的用例合并成最終測試用例文件,并根據(jù)被測文件自動進(jìn)行命名。對于編譯失敗的測試用例代碼,開發(fā)者可自行選擇是否需要,所有用例代碼確認(rèn)后,可單擊完成按鈕,測試用例文件將自動與原測試用例文件進(jìn)行差異對比。

image

審查、接受測試用例文件代碼

確認(rèn)完成后,測試用例文件會出現(xiàn)在工作區(qū)中,開發(fā)者可單擊工作區(qū)的查看變更按鈕或單擊文件列表中的某文件,即可看到對應(yīng)文件的變更對比查看視圖(Diff View),開發(fā)者可進(jìn)行審查、局部修改、接受或拒絕部分代碼等。確認(rèn)所有代碼變更后,單擊接受按鈕,測試用例文件變更代碼將正式進(jìn)入到當(dāng)前代碼工程。

image

查看會話歷史

如果需要回顧歷史的會話任務(wù),可單擊會話歷史按鈕。你與 AI 程序員的會話均有 @AI Developer 標(biāo)簽,單擊后即可查看相關(guān)對話過程。

image



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號