Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソフトウェア開発におけるAI :CopilotとGenie
Search
Senoue
September 15, 2023
Programming
0
150
ソフトウェア開発におけるAI :CopilotとGenie
外部セッション
Senoue
September 15, 2023
Tweet
Share
More Decks by Senoue
See All by Senoue
チャンネルを完全に理解する
senoue
0
24
Real-time Communication in Go with Melody and WebSockets
senoue
0
120
Adobeの生成AIのこと を調べてみた
senoue
0
150
Sendai.go x GDG Cloud 仙台 ハンズオン
senoue
0
43
GoでMecab
senoue
0
340
GKEとGoでエフェメラルなサービス
senoue
0
360
GAEのlogはStackDriverがいろいろやってくれている
senoue
1
520
GCPUG 仙台
senoue
1
430
ペチコン2019資料
senoue
1
190
Other Decks in Programming
See All in Programming
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
CSC509 Lecture 14
javiergs
PRO
0
130
nekko cloudにおけるProxmox VE利用事例
irumaru
3
420
あれやってみてー駆動から成長を加速させる / areyattemite-driven
nashiusagi
1
200
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
return文におけるstd::moveについて
onihusube
1
610
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
3
890
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
160
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
良いユニットテストを書こう
mototakatsu
4
1.5k
talk-with-local-llm-with-web-streams-api
kbaba1001
0
170
Featured
See All Featured
Embracing the Ebb and Flow
colly
84
4.5k
Git: the NoSQL Database
bkeepers
PRO
427
64k
It's Worth the Effort
3n
183
28k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Why Our Code Smells
bkeepers
PRO
335
57k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Speed Design
sergeychernyshev
25
670
BBQ
matthewcrist
85
9.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Transcript
ソフトウェア開発におけるAI :CopilotとGenie 瀬上祐匡 2023/9/15
イントロダクション
1. AIとソフトウェア開発 a. Copilotの紹介 b. Genieの紹介 2. ソフトウェア開発におけるAIの役割 3. 現在のAI技術がソフトウェア開発者をどのようにサ
ポートしているか
瀬上 祐匡(せのうえ ひろまさ) 株式会社ビデオマーケット バックエンドエンジニア • GCP, Go, Python等,BI,データ分析 •
@senoue,@hiromasa.senoue • モノノフです。 • 好きなものは、Cloud Function • Sendai.go (毎月)やってます 自己紹介 株式会社ビデオマーケット TVOD(都度課金)を軸とした動画配信サービス 映画、アニメ、ドラマなど多彩なジャンルで配信本数は 国内最大級 自社が開発した独自エンコード方式で高品質な動画を提供
AIとソフトウェア開発
- Github Copilot AIによって支援されたコーディングアシストツールです。 開発者がコードを書く際に、自動的に提案や補完を行うことで効率的なプログラミングをサポートし ます。 GitHub Copilotは、機械学習に基づいてトレーニングされた大規模なコードのデータセットから学 んでおり、ユーザーの入力に基づいて次のコードの行や式を予測します。 具体的には、変数や関数の名前、条件文、ループ、例外処理など、さまざまなコーディングパター
ンを認識して提案します。 Copilotの目的は、開発者の生産性を向上させ、繰り返し行われる単純な作業を削減することで す。ただし、最終的な意思決定は開発者が行い、コードの品質とセキュリティに注意する必要があ ります。 GitHub CopilotはVisual Studio Codeエディターの拡張機能として利用できます。 有効なライセンスを持つ GitHubアカウントを使用して利用できます。
- Genie - Genieはあなたのコーディングに関する質問や支援を提供する AIアシスタントです。 私はエキスパート開発者であり、常に正しい回答を提供し、指示された通りに行動します。 私は知識豊富で助成的な存在であり、あなたがプログラミングに関して補完やアドバイスが必要な場合に役立 ちます。 - 他にも
- Codex - TabNine - など - https://tiisaku.com/sophisticated-ai-technologies-from-code-completions-to-gpt-3/#toc5
ソフトウェア開発におけるAIの 役割
- コード生成と補完: - ユーザが一部のコードを入力するとすぐに、残りの部分を予測して追加す ることができます。 これは時間を節約し、開発者がより生産的になるのに役立ちます。例え ば、GoogleのCodotaやKiteなどのツールがあります。 - バグ検出と修正: -
コードをスキャンし、バグや脆弱性を自動的に見つけることができます。 一部の高度なツールは、問題を修正するための提案も行います。 DeepCodeやBugspotsなどのツールが存在します。
- テスト: - 自動テスト生成を補助することができます。それは複雑なシナリオを考慮 に入れ、適切なテストケースを自動的に生成します。このようにして、品質 保証プロセスが高速化され、全体的なコードの品質が向上します。例 :JUnit, Test.aiなど。 - 要件分析と設計輔助:
- ユーザーの要求を理解し、それに基づいて機能仕様や設計案を提供する ことができます。これは開発プロセスの初期段階で非常に役立ちます。 - プロジェクト管理: - プロジェクトの進行状況を監視し、リソースの最適な割り当て、タスクの追 跡、問題解決の助けとなります。
現在のAI技術が ソフトウェア開発者を どのように サポートしているか
- コーディングのデモ - VScodeでのCopilotとGenieのデモします。 - 一般的なコーディングサポート - Copilot - APIサーバ
- Genie - UML作成 - 基本設計 - 単純な簡素化 - DDL作成 - User Table - DDLから型の作成 - Goの型 - コードレビュー - コードレビュー、Typo - アプリケーション - 公開
まとめ
- 正しく利用する - 個人情報の漏洩なんてのもすぐできるので気をつけよう - Excelなんかでも使えるので、今後どうするか - 100%は得られないので、基礎知識も大切です・ - Sendai.goでは、毎月コードリーディングを行っています、興
味のあるかたは参加お待ちしています。
- ご清聴ありがとうございました。 - ご質問など、あれば
Thank You