B-2 GitHubアーキテクトが語るGitHub Copilotが生み出すAIネイティブ開発の実践と次世代エンジニアに求められる新たなスキルとは
デブサミでメモしたことをつらつら書いていきます。
AIネイティブ開発とは
Copilotなどを活用し、ペアプロやコードレビューなどの人間×人間でやっていたことを代替していく
生成AIのエンジニアへの普及
AIを使いこなしたエンジニアリングが生産性を高めるカギとなる
AI-Nativeなエンジニアとは?
今後「AI Nativeなエンジニア」と「非AI Nativeなエンジニア」での格差は開いていく
Copilotの役割・機能
最初はコメントアウトに記述して補完してくれるだけだったが、Chat機能やプルリクなど開発のライフサイクルにも食い込み始めてきた
「あたかもな振る舞い(ハルシネーション)」をするので、彼らの発言や情報の信頼性を高めていかなければならない
GitHub Copilotを活用したAIネイティブ開発プラクティス
GitHub codespaceのデモ
インラインチャットがかなり強力だった
GitHub Copilot エンタープライズ
プルリクを書いてくれる
ファイル差分を確認する画面でもGitHub Copilot Chatが使える
AIを使いこなすコツ
ツールの違うを知ることが大事
その上で自分たちが何を期待しているのか
VScodeのCopilotは、レスポンスをいかに早く返すかを重きに置いてるので、500トークンくらいで切ってしまう
Copilotの特徴を理解
プロンプトのコツ
RAGはノイズが多いと精度が下がる
一概にソース全部読めばいいってものじゃない
どこのスコープで何をやりたいかが大事
無限に情報を渡して過度な期待を持たない
AIフレンドリーな開発実践
Copilotデザインパターン
一貫性
・AIが理解可能な命名規則
・一貫性のあるコーディングスタイル
アーキテクチャ
・ハイレベルアーキテクチャを先に
・コンテキストレス・アーキテクチャ
・小さなコードチャンクで作業する
再利用可能性
・微細なOSS依存関係の排除
・インナーソース
あくまでもPilot
小さなチャンクに区切って、AIが変えるところ、変えないところを取捨選択
詳細設計、ドキュメント、デザインドック
・AIが読みやすいドキュメントってなんだろうを考えていくべき
プロンプトの引き出し方
・チーム内でも共有会をしてテクニックの標準化が大事
テスト&リファクタ
テスト
・テストコードの生成方法を指定
・出力ケース数を数で指定
・自然言語からテストケースの記載を始める
リファクタリング
・オープンクエスチョンで尋ねる
・ロジックの分離で、生成時の不可侵領域を作る
いかに
AIに理解してもらいやすいコードを書けるか
AIに最高なアウトプットをしてもらうか
AIは発散は得意、修練は苦手
これからのエンジニアに求められるスキルとは
人×人→人×AIになっていくと感じている
いいコードを書かせる術を身につけている必要がある
最強の学習ツール
プロンプトクラフティング
慣れていくとなんとなくハンドリングがわかるようになる
この記事が気に入ったらサポートをしてみませんか?