Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
株式会社ネットワールド SI技術本部 丸投げ! ChatGPT で Azure の環境を IaC する ソリューションアーキテクト課 海野 航
Slide 2
Slide 2 text
2 Copyright © 2023 Networld Corporation All Rights Reserved. もくじ • はじめに • HashiCorp Terraform が実現する Infrastructure as Code • Networld X というイベントで… • 同じプロンプトと同じ素材での再現性はどうか • 同じプロンプトと別の素材での再現性はどうか • まとめ
Slide 3
Slide 3 text
Copyright © 2023 Networld Corporation All Rights Reserved. はじめに
Slide 4
Slide 4 text
4 Copyright © 2023 Networld Corporation All Rights Reserved. 自己紹介 ネットワールドのソリューションアーキテクト NVIDIA NGCA, VMware vExpert 趣味とか… : 海野 航 (うんの わたる)
Slide 5
Slide 5 text
Copyright © 2023 Networld Corporation All Rights Reserved. Terraform が実現する Infrastructure as Code
Slide 6
Slide 6 text
10 Copyright © 2023 Networld Corporation All Rights Reserved. 詳しい Terraform の概要は過去の HCCJP をご覧ください!! https://www.youtube.com/watch?v=WXFTPh7EnHY
Slide 7
Slide 7 text
11 Copyright © 2023 Networld Corporation All Rights Reserved. そもそも Infrastructure as Code (IaC) とは? インフラ CPUやメモリ、ディスクといったリソース、 あるいは仮想マシンやアプライアンスそのもの コードで 表現すること を
Slide 8
Slide 8 text
12 Copyright © 2023 Networld Corporation All Rights Reserved. Terraform による IaC で インフラセルフサービスを実現 導 入 前 導 入 後 ソフトウェア開 発者 ソフトウェア開 発者 インフラ要件 (作業指示書) Terraform の コード (HCL) インフラ SE が 作業を実施 Terraform が プロビジョニング 開発者が 要求した リソース 開発者が 要求した リソース
Slide 9
Slide 9 text
13 Copyright © 2023 Networld Corporation All Rights Reserved. ネットワールドが推している IaC ツールは Terraform
Slide 10
Slide 10 text
14 Copyright © 2023 Networld Corporation All Rights Reserved. Terraform が Infrastructure as Code を実現する 再利用可能な ソースコードとして インフラの構成を 定義する 多様なインフラを ワークフローを 変えることなく 導入する 出典 : Terraformで超サクッとループで リソースを用意する方法 https://dev.classmethod.jp/cloud/ aws/terraform-network-variable/ 出典 : Azure 上の HashiCorp Terraform https://azure.microsoft.com/ja- jp/solutions/devops/terraform/
Slide 11
Slide 11 text
15 Copyright © 2023 Networld Corporation All Rights Reserved. Terraform を提供する HashiCorp とネットワールドの関係 ネットワールド、米HashiCorp社と 世界初のディストリビューター契約を締結 出典 : https://headlines.yahoo.co.jp/hl?a=20200417-00173793-bcn-prod
Slide 12
Slide 12 text
Copyright © 2023 Networld Corporation All Rights Reserved. Networld X というイベントで…
Slide 13
Slide 13 text
17 Copyright © 2023 Networld Corporation All Rights Reserved.
Slide 14
Slide 14 text
18 Copyright © 2023 Networld Corporation All Rights Reserved.
Slide 15
Slide 15 text
19 Copyright © 2023 Networld Corporation All Rights Reserved.
Slide 16
Slide 16 text
20 Copyright © 2023 Networld Corporation All Rights Reserved. アーカイブで配信中
Slide 17
Slide 17 text
21 Copyright © 2023 Networld Corporation All Rights Reserved.
Slide 18
Slide 18 text
22 Copyright © 2023 Networld Corporation All Rights Reserved. ChatGPT芸を打つ 入力したプロンプト 「この構成図とヒアリング項目に基づいて Terraformのコードを生成してください。 セキュリティの観点からクレデンシャル情報の 項目は別ファイルにします。」
Slide 19
Slide 19 text
23 Copyright © 2023 Networld Corporation All Rights Reserved. ChatGPT芸を打つ
Slide 20
Slide 20 text
24 Copyright © 2023 Networld Corporation All Rights Reserved. 実際に使った画像と項目がこちら
Slide 21
Slide 21 text
25 Copyright © 2023 Networld Corporation All Rights Reserved. 実際のリポジトリ : 手作業の修正なし、ガチでコミットした https://github.com/unnowataru/networld-x-2023/
Slide 22
Slide 22 text
26 Copyright © 2023 Networld Corporation All Rights Reserved. Terraform Cloud で Azure にプロビジョニングする流れ • 生成したコードを GitHub に格納する
Slide 23
Slide 23 text
27 Copyright © 2023 Networld Corporation All Rights Reserved. Terraform Cloud で Azure にプロビジョニングする流れ • Terraform Cloud の初期設定 と リポジトリの紐付けをする
Slide 24
Slide 24 text
28 Copyright © 2023 Networld Corporation All Rights Reserved. このときはちゃんと動いてくれた
Slide 25
Slide 25 text
Copyright © 2023 Networld Corporation All Rights Reserved. 同じプロンプトと同じ素材 での再現性はどうか
Slide 26
Slide 26 text
30 Copyright © 2023 Networld Corporation All Rights Reserved. 1回目 • 「... additional resources for NIC, public IP, VM, etc.」が発生 • main.tf の1ファイル構成
Slide 27
Slide 27 text
31 Copyright © 2023 Networld Corporation All Rights Reserved. 2回目 • またしても1ファイル構成かつ “terraform init” ができない
Slide 28
Slide 28 text
32 Copyright © 2023 Networld Corporation All Rights Reserved. 3回目 • ちゃんとしてそう • main.tf, secrets.tfvars, variables.tf の3ファイル構成
Slide 29
Slide 29 text
33 Copyright © 2023 Networld Corporation All Rights Reserved. 4回目 • なんかあやしい • ファイル名の定義なし と secrets.tfvars の2ファイル構成
Slide 30
Slide 30 text
34 Copyright © 2023 Networld Corporation All Rights Reserved. みたいな感じで5回目~10回目まで繰り返した結果 応答言語 実行可否 ファイルNo.1 ファイルNo.2 ファイルNo.3 コメント 評価 1st 英語 × main.tf × 2nd 英語 × ファイル名なし × 3rd 英語 ○ secrets.tfvars main.tf variables.tf 美しい ○ 4th 英語 ○ ファイル名なし secrets.tfvars 手作業でファイル名を変更 △ 5th 英語 × main.tf × 6th 英語 × main.tf × 7th 英語 ○ variables.tf main.tf secrets.tfvars 美しい ○ 8th 英語 × ファイル名なし × 9th 英語 ○ ファイル名なし secrets.tfvars variables.tf 手作業でファイル名を変更 △ 10th 英語 × ファイル名なし ×
Slide 31
Slide 31 text
Copyright © 2023 Networld Corporation All Rights Reserved. 同じプロンプトと別の素材 での再現性はどうか
Slide 32
Slide 32 text
36 Copyright © 2023 Networld Corporation All Rights Reserved. 次に試す画像がこちら (項目は同じ)
Slide 33
Slide 33 text
37 Copyright © 2023 Networld Corporation All Rights Reserved. いけますね • 普通に ”terraform apply” まで実行できた
Slide 34
Slide 34 text
38 Copyright © 2023 Networld Corporation All Rights Reserved. 2回目~10回目まで • また繰り返す… (2回目はイマイチだった)
Slide 35
Slide 35 text
39 Copyright © 2023 Networld Corporation All Rights Reserved. みたいな感じで10回目まで繰り返した結果 応答言語 実行可否 ファイルNo.1 ファイルNo.2 ファイルNo.3 コメント 評価 1st 英語 ○ ファイル名なし secrets.tfvars 手作業でファイル名を変更 ○ 2nd 英語 × ファイル名なし × 3rd 英語 × ファイル名なし × 4th 英語 × ファイル名なし × 5th 英語 × ファイル名なし × 6th 英語 ○ secrets.tfvars main.tf ○ 7th 英語 ○ variables.tf secrets.tfvars main.tf ○ 8th 英語 × ファイル名なし × 9th 英語 × ファイル名なし secrets.tfvars variables.tf 一部欠落したパラメータあり × 10th 英語 △ ファイル名なし secrets.tfvars 手作業でファイル名を変更 △
Slide 36
Slide 36 text
Copyright © 2023 Networld Corporation All Rights Reserved. ヒアリング項目だけではどうか
Slide 37
Slide 37 text
41 Copyright © 2023 Networld Corporation All Rights Reserved. もしかして画像は関係ないのでは… 入力したプロンプト 「この構成図とヒアリング項目に基づいて Terraformのコードを生成してください。 セキュリティの観点からクレデンシャル情報の 項目は別ファイルにします。」
Slide 38
Slide 38 text
42 Copyright © 2023 Networld Corporation All Rights Reserved. 日本語で応答が出力される • しかも、精度が高く感じられる
Slide 39
Slide 39 text
43 Copyright © 2023 Networld Corporation All Rights Reserved. 5回目まで繰り返した結果 応答言語 実行可否 ファイルNo.1 ファイルNo.2 ファイルNo.3 コメント 評価 1st 日本語 ○ ファイル名なし secrets.tfvars 手作業でファイル名を変更 ○ 2nd 日本語 ○ main.tf secrets.tfvars ○ 3rd 日本語 ○ terraform.tfvars main.tf 丁寧な解説付き ◎ 4th 日本語 ○ ファイル名なし variables.tf secrets.tfvars 手作業でファイル名を変更 ○ 5th 日本語 ○ ファイル名なし secrets.tfvars 手作業でファイル名を変更 ○
Slide 40
Slide 40 text
Copyright © 2023 Networld Corporation All Rights Reserved. (参考)手書きのヒアリング項目だけではどうか
Slide 41
Slide 41 text
45 Copyright © 2023 Networld Corporation All Rights Reserved. 一応生成はしてくれる • 誤読あり AIGen → A1Gen • 一部欠落のセクションあり (NSGがない)
Slide 42
Slide 42 text
Copyright © 2023 Networld Corporation All Rights Reserved. (参考)構成図だけではどうか
Slide 43
Slide 43 text
47 Copyright © 2023 Networld Corporation All Rights Reserved. 一応生成はしてくれる
Slide 44
Slide 44 text
Copyright © 2023 Networld Corporation All Rights Reserved. まとめ
Slide 45
Slide 45 text
49 Copyright © 2023 Networld Corporation All Rights Reserved. まとめ 今回の検証条件では… 構成図を含めると期待する回答への応答精度が下がった 構成図を含めたときに 期待する回答への打率は3割ぐらい ヒアリング項目をテキストのみで伝えた場合は まさかの100% とは言え、正しいかどうかを判断するためには 各プロダクトやサービスの知識が必要ですよね
Slide 46
Slide 46 text
50 Copyright © 2023 Networld Corporation All Rights Reserved. 詳しい Terraform の概要は過去の HCCJP をご覧ください!! https://www.youtube.com/watch?v=WXFTPh7EnHY ChatGPT と組み合わせて もっとすぐできるようになってます
Slide 47
Slide 47 text
No content