Slide 1

Slide 1 text

| © 2023 Cloud Ace, Inc Duet AI Assisted development 検証してみた

Slide 2

Slide 2 text

| © 2023 Cloud Ace, Inc 自己紹介 小林 由暁(@ykobayashi) ● 2023 年5 月からクラウドエースへ入社 ● 歴代ドラえもん映画のタイトルと 公開年数を答えられる特技があり

Slide 3

Slide 3 text

| © 2023 Cloud Ace, Inc Agenda 01 | Duet AI Assisted development とは 02 | 実際に使ってみた 03 | まとめ

Slide 4

Slide 4 text

| © 2023 Cloud Ace, Inc 01 | Duet AI Assisted development とは

Slide 5

Slide 5 text

| © 2023 Cloud Ace, Inc Duet AI でペアプログラミングする 時代が来た

Slide 6

Slide 6 text

| © 2023 Cloud Ace, Inc Duet AI Assisted development Duet AI の中でも開発支援にフォーカスした機能 今回は、Duet AI in Visual Studio Code をベースに紹介 現在想定されるユースケースは、以下の通り ● コード生成 ● コード説明 ● テスト計画の生成 ● コード可読性の向上 ● トラブルシューティング支援

Slide 7

Slide 7 text

| © 2023 Cloud Ace, Inc これまでとこれから これまで
 ● 独自にコード生成や修正を実施する場合は、スキルもしくは、追加の調査が必要 ● トラブルシューティングにスキルもしくは、追加の調査が必要 これから ● 多言語のコード生成が可能(Python, Java, C++, JavaScript, Terraform...etc...) a. コード生成は、プロンプトベース、チャットベースで可能 ● コード修正方法の調査をチャットベースで可能 ● トラブルシューティングが VScode 上で実施可能

Slide 8

Slide 8 text

| © 2023 Cloud Ace, Inc 02 | 実際に使ってみた

Slide 9

Slide 9 text

| © 2023 Cloud Ace, Inc 検証内容 1. ドラえもんの誕生日までの日数を出力 簡単な Python コード作成 2. コードの修正方法について質問 関数化、DocString の追加 3. 異なる言語内でのコード変換 Python コードから Java 、Go へ変換

Slide 10

Slide 10 text

| © 2023 Cloud Ace, Inc 🤖ドラえもんの誕生日までの日数を出力 グレー表示で Duet AI より提案 「#プロンプト」で Duet AI へ送信 生成されたコードで正常に動作

Slide 11

Slide 11 text

| © 2023 Cloud Ace, Inc 🤖コード修正方法について質問 チャット形式で会話ができる。 コードの動作に関する質問やコード修正、変 換が必要な場合は、プロンプトより質問す る。 トラブルシューティングでも利用可能

Slide 12

Slide 12 text

| © 2023 Cloud Ace, Inc 🤖コード修正方法について質問 def calculate_days_until_doraemon_s_birthday(): """Calculates and outputs the number of days until Doraemon's birthday. Doraemon's birthday is September 3, 2112. Uses the datetime module to get today's date. Uses the timedelta module to find the difference between two dates. The difference between two dates is the number of days. """ # Get today's date. current_date = datetime.now() print("Today's date is", current_date.strftime("%Y-%m-%d")) # Get Doraemon's birthday. birthday = datetime(2112, 9, 3) print("Doraemon's birthday is", birthday.strftime("%Y-%m-%d")) # Find the difference between today's date and Doraemon's birthday. difference = birthday - current_date # Print the number of days until Doraemon's birthday. print("There are", difference.days, "days until Doraemon's birthday") if __name__ == "__main__": calculate_days_until_doraemon_s_birthday() # Please generate a code that calculates and outputs the number of days until Doraemon's birthday. # Doraemon's birthday is September 3, 2112. # Use the datetime module to get today's date. # Use the timedelta module to find the difference between two dates. # The difference between two dates is the number of days. from datetime import datetime, timedelta current_date = datetime.now() print("Today's date is", current_date.strftime("%Y-%m-%d")) birthday = datetime(2112, 9, 3) print("Doraemon's birthday is", birthday.strftime("%Y-%m-%d")) difference = birthday - current_date print("There are", difference.days, "days until Doraemon's birthday") 修正前 修正後 生成されたコードで正常に動作

Slide 13

Slide 13 text

| © 2023 Cloud Ace, Inc 🤖異なる言語内でのコード変換(Python→Java) import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class Birthday { public static void main(String[] args) { // Get today's date. LocalDate currentDate = LocalDate.now(); System.out.println("Today's date is " + currentDate.toString()); // Get Doraemon's birthday. LocalDate birthday = LocalDate.of(2112, 9, 3); System.out.println("Doraemon's birthday is " + birthday.toString()); // Find the difference between today's date and Doraemon's birthday. long difference = ChronoUnit.DAYS.between(currentDate, birthday); // Print the number of days until Doraemon's birthday. System.out.println("There are " + difference + " days until Doraemon's birthday"); } } def calculate_days_until_doraemon_s_birthday(): """Calculates and outputs the number of days until Doraemon's birthday. Doraemon's birthday is September 3, 2112. Uses the datetime module to get today's date. Uses the timedelta module to find the difference between two dates. The difference between two dates is the number of days. """ # Get today's date. current_date = datetime.now() print("Today's date is", current_date.strftime("%Y-%m-%d")) # Get Doraemon's birthday. birthday = datetime(2112, 9, 3) print("Doraemon's birthday is", birthday.strftime("%Y-%m-%d")) # Find the difference between today's date and Doraemon's birthday. difference = birthday - current_date # Print the number of days until Doraemon's birthday. print("There are", difference.days, "days until Doraemon's birthday") if __name__ == "__main__": calculate_days_until_doraemon_s_birthday() Python Java 生成されたコードで正常に動作

Slide 14

Slide 14 text

| © 2023 Cloud Ace, Inc 🤖異なる言語内でのコード変換(Python→Go) package main import ( "fmt" "time" ) func calculateDaysUntilDoraemonSBirthday() { // Get today's date. currentDate := time.Now() fmt.Println("Today's date is", currentDate.Format("2006-01-02")) // Get Doraemon's birthday. birthday := time.Date(2112, 9, 3, 0, 0, 0, 0, time.UTC) fmt.Println("Doraemon's birthday is", birthday.Format("2006-01-02")) // Find the difference between today's date and Doraemon's birthday. difference := birthday.Sub(currentDate) // Print the number of days until Doraemon's birthday. fmt.Println("There are", difference.Hours()/24, "days until Doraemon's birthday") } func main() { calculateDaysUntilDoraemonSBirthday() } def calculate_days_until_doraemon_s_birthday(): """Calculates and outputs the number of days until Doraemon's birthday. Doraemon's birthday is September 3, 2112. Uses the datetime module to get today's date. Uses the timedelta module to find the difference between two dates. The difference between two dates is the number of days. """ # Get today's date. current_date = datetime.now() print("Today's date is", current_date.strftime("%Y-%m-%d")) # Get Doraemon's birthday. birthday = datetime(2112, 9, 3) print("Doraemon's birthday is", birthday.strftime("%Y-%m-%d")) # Find the difference between today's date and Doraemon's birthday. difference = birthday - current_date # Print the number of days until Doraemon's birthday. print("There are", difference.days, "days until Doraemon's birthday") if __name__ == "__main__": calculate_days_until_doraemon_s_birthday() Python Go コード変換後に動作しなかったが、チャット ベースでトラブルシューティングを実施し、 その後正常に動作 ※トラブルシューティング後のコード

Slide 15

Slide 15 text

| © 2023 Cloud Ace, Inc 03 | まとめ

Slide 16

Slide 16 text

| © 2023 Cloud Ace, Inc まとめ ● コーディング初心者からすべての方へおすすめ ● ベースとなるコードを Duet AI で生成し、気になる点を自身で 改善することで、コーディングスピードが向上が見込める ● 仮に気になる点が不明な場合やデバッグが難しい場合は、 チャットでのやり取りでトラブルシュートできる可能性もあり

Slide 17

Slide 17 text

| © 2023 Cloud Ace, Inc Duet AI でペアプログラミングする 時代が来た