目前一些常見的的 AI 工具
- GitHub Copilot:GitHub 與 OpenAI 合作開發的一個人工智慧助手。
- Codeium:是一個免費的人工智慧驅動的程式碼生成工具
- Tabnine:一個自動程式碼生成工具,免費版本非常有限,只提供簡短的程式碼完成
- Codex: OpenAI 開發的一種語言模型,可根據自然語言提示(例如問題描述)生成程式碼。
- Intellicode:是用於 Visual Studio 的免費 AI 程式碼生成工具(支援的程式語言數量非常有限,並且只能在單個 IDE 中執行)
- AskCodi: 提供了一個全面的工具來幫助開發者快速生成程式碼。(可根據不同的應用程式生成不同型別的程式碼)
- CodeWhisperer:我們今天要了解的外掛,是亞馬遜建立的程式碼生成工具,與 Copilot 和 Codeium 一樣,它可以根據上下文和評論生成程式碼建議,主要區別在於 CodeWhisperer 側重於支援亞馬遜雲科技服務的程式碼等。
亞馬遜雲科技開發者社群為開發者們提供全球的開發技術資源。這裡有技術文件、開發案例、技術專欄、培訓影片、活動與競賽等。幫助中國開發者對接世界最前沿技術,觀點,和專案,並將中國優秀開發者或技術推薦給全球雲社群。如果你還沒有關注/收藏,看到這裡請一定不要匆匆劃過,點這裡讓它成為你的技術寶庫!
CodeWhisperer 主要特點
- 支援多種程式語言: 包括 JavaScript、Java、Python、C++、Rust、Go、PHP 等等
- 支援多種ide(程式碼開發編輯器): vs code 、 JetBrains IDE、Visual Studio Code(VS Code)、Visual StudioIntelliJ、PyCharm、CLion、GoLand、WebStorm、Rider、PhpStorm、RubyMine 和 DataGrip 等
- 檢測程式碼安全問題。
- 經過數十億行程式碼的訓練
- 即用即開,不用時也可以隨時關閉
- 可以免費使用(預計後期可能會收費)
CodeWhisperer 練習過程
使用者透過中文或者英文註釋,CodeWhisperer 給出輸出建議(註釋的描述性和準確性越高輸出建議正確率越高),每次回車載入建議,Tab 接受建議
- demo1
例子1:
# 第一步
# 求和
# 第二步
def sum(a,b):
return a+b
例子2:
# 第一步
# 求減iecheng
# 第二步
def jian(a,b):
return a-b
例子3:
# 第一步
#排序
# 第二步
def sort(a,b):
return a-b
- demo2
// 陣列合並
// 第一步
public static void main(String[] args) {
// 第二步
public static void main(String[] args) {
int[] arr1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] arr2 = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
int[] arr3 = new int[20];
for (int i = 0; i < arr1.length; i++) {
arr3[i] = arr1[i];
}
for (int i = 0; i < arr2.length; i++) {
arr3[i + 10] = arr2[i];
}
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i] + " ");
}
}
- demo3
例子1:
// 第一步
// 刪除重複的字元
// 第二步
function removeDuplicate(arr) {
return [...new Set(arr)].join('');
}
例子2:
// 第一步
// 刪除相鄰相同的字串
// 第二步
function removeAdjacentDuplicate(arr) {
let newArr = [];
arr.forEach(item => {
if (newArr[newArr.length - 1] !== item) {
newArr.push(item);
}
});
return newArr;
}
例子3:
// 第一步
// 輸出1-100間能被7整除的數
// 第二步
function printNumber() {
for (let i = 1; i <= 100; i++) {
if (i % 7 === 0) {
console.log(i);
}
}
}
總結
CodeWhisperer 是人工智慧編碼助手(外掛),類似 ChatGPT 的自然語言查詢但有不同,個人版免費給與技術先行者便利,透過不斷的測試提出最佳化,更新迭代,一步一步走向成熟;支援中英文這一優點,使基礎差的同學也可以迅速上手;雖然 CodeWhisperer 在減少編寫的程式碼量方面非常有幫助,不應該完全依賴來編寫整個應用程式,生成的程式碼會有一點瑕疵,因此使用 CodeWhisperer 生成的程式碼,上線前必須嚴格測試;希望我們的 AI 智慧突飛猛進,加油!
文章來源:https://dev.amazoncloud.cn/column/article/64f90dfed75d3d261ac...