首頁  >  文章  >  科技週邊  >  天啊,ChatGPT真的要代替我們工作了嗎?

天啊,ChatGPT真的要代替我們工作了嗎?

PHPz
PHPz轉載
2023-04-13 08:19:021237瀏覽

前言

最近這段ChatGPT真的非常火,和ChatGPT相關的AI 服務也是各種如火如荼的研究中。今天我們來看看下ChatGPT在編碼方面的應用,最近發現一個叫做「AI Coding Assistant」 的IntelliJ IDEA插件,它就是集合了ChatGPT的技術,我們來看看有多麼的智能,是否以後真的有可能會代替我們程式設計師的工作。

外掛程式安裝

為了開始使用插件,必須要有一個 OpenAI 的令牌。如果你不知道在哪裡可以找到它,可以在https://platform.openai.com/account/api-keys這裡獲取,關於如何註冊。百度谷歌教學一大堆。

此外,下載並安裝IntelliJ IDEA的AI Coding Assistant」外掛程式:

天啊,ChatGPT真的要代替我們工作了嗎?

圖一-IntelliJ IDEA 設定中的 「AI Coding Assistant」插件

試試看

  1. 產生列印hello world的程式碼

第一個任務先來個簡單的,就是讓它自動產生列印hello world的程式碼。

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 產生一個pojo

現在你給我產生一個Person類別。

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 現在給我創建一個函數來返回生成的人員列表

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 有了person資料以後,我們可以實作一些簡單的演算法,例如找到列表中最年長的人,列表中人的最小/最大/平均年齡

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 其中有趣的部分是我們可以要求更新現有程式碼。因為我知道使用Java Stream API 編寫相同演算法的更好方法,所以讓我們嘗試讓它進行重構

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 我們可以建立一個函數並要求它根據函數名稱的意思產生程式碼。

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 然後你在給我把javadoc也補充了把

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 那你還能給我的程式碼加上註解嗎,解釋下這段程式碼是乾嘛的嗎?

天啊,ChatGPT真的要代替我們工作了嗎?

  1. 最後我們來看看透過這個AI插件產生的最終的程式碼長啥樣?
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.NoSuchElementException;

public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
final List<Person> people = generatePeople();
// find oldest person in the list
Person oldestPerson = people.stream()
.max(Comparator.comparing(Person::getAge))
.orElseThrow(NoSuchElementException::new);
System.out.println("Oldest person is: " + oldestPerson.getName());
// find max,min,avg age of the people
IntSummaryStatistics stats = people.stream()
.mapToInt(Person::getAge)
.summaryStatistics();
System.out.println("Max Age: " + stats.getMax());
System.out.println("Min Age: " + stats.getMin());
System.out.println("Avg Age: " + stats.getAverage());
}

public static List<Person> generatePeople() {
return Arrays.asList(
new Person("John", 25),
new Person("Jane", 30),
new Person("Jack", 20),
new Person("Jill", 35)
);
}

/**
* Capitalizes the first letter of a given string and lowercases the rest.
*
* @param s The string to capitalize
* @return The capitalized string
*/
public static String capitalize(String s) {
/*
This code checks if the length of the string "s" is 0. If it is, it returns the string.
If not, it returns the first character of the string in uppercase and the rest of the characters in lowercase.
*/
if (s.length() == 0)
return s;
return s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
}
}

// class Person with name and age
class Person {
private String name;
private int age;

public Person(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}
}

結論

利用ChatGPT這樣的AI可以產生一些程式碼,如上面的例子所示,但是面對一些複雜的業務還是做不到的。我們可以藉助這樣的工具,幫助我們提高工作上的效率,但是也不用擔心他們會取代我們。

以上是天啊,ChatGPT真的要代替我們工作了嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除