SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 セッションレポート(AD)

GitHub Copilotに見る生成AIネイティブな開発。そしてエンジニアに求められるスキルとは

【16-B-2】GitHubアーキテクトが語るGitHub Copilotが生み出すAIネイティブ開発の実践と次世代エンジニアに求められる新たなスキルとは

  • X ポスト
  • このエントリーをはてなブックマークに追加

AIネイティブな開発の3つのポイント

 続いて、AIネイティブな開発のためのポイントを3つ挙げ、それぞれ解説した。「ツール特性の理解」「プロンプト作成時の4要素を理解」「AIフレンドリーな開発を心がける」の3つである。

ツール特性の理解

 服部氏は「ツールとモデルを混同しているケースが多いが、われわれが開発しているのは開発者体験を最大化するためのAIツールです」と強調する。AIツールごとに期待できる価値は異なるため、ツールの特性と自分のやりたいことを理解することが重要だ。

 例えば「ある程度頭の中に書きたいコードがあって取り出す作業をしたいだけであれば、AIを用いたコードの自動補完機能でよいですが、もう少し対話形式でやりたいという場合にはChat形式の機能を使うとよい」という。

 その中でGitHub Copilotの大きな特徴は以下の4点だ。特に「確実で安全な出力」についてはエンタープライズから注目されている。「ライセンス汚染を防ぐため、毎回世界最大、最新のオープンソースデータベースにクエリを投げて安全なものだけを返す仕組み。GitHub Copilotを使う理由になっています」と服部氏。

プロンプト作成時の4要素

 服部氏は、GitHub Copilotにおけるプロンプトのコツを「文脈」「意図」「明瞭さ」「具体性」の4つだと説明する。

 AIが何の情報を持っているのかを正しく理解して期待することが大事だという。ノイズを入れ過ぎると精度が下がっていくので、正確な情報を伝えてコントロールする。また、コンテキスト変数の使用やワークスペース指定するエージェント機能を使うなど、該当スコープで何をやりたいのかを明らかにすることが重要だ。

AIフレンドリーな開発

 服部氏は、ai-native.devにおいて「GitHub Copilot Patterns & Exercises」を公開し、GitHub Copilotを活用した開発のベストプラクティスを共有している。服部氏は、その中で重要な項目を紹介した。

 まずは一貫性。一般のプログラミングにおいても命名規則を守ることが重要であるように、GitHub Copilotが読み込むデータも分かりやすいことが好ましい。「AIに理解してもらいやすいコードを書くことで、AIからも最高のアウトプットをもらえる」という。

 また、GitHub Copilotは副操縦士という意味があるように、開発者自身がキャプテンとしてハンドリングすることが求められる。「無限に情報を渡して、過度な期待を持つのは避けるべき」と服部氏。ハイレベルのアーキテクチャをある程度定義し、小さなコードチャンクに区切って作業するとよい。

 さらに、今後GitHub Copilotが開発のライフサイクル全体に入り込んでいくと考えると、「ドキュメンテーションや詳細設計、デザインドキュメントなどが高度に実装に変換可能なものになる可能性がある」と服部氏は言う。AIが読みやすいドキュメント形式まで考慮すると、最終的な成果物の精度も向上すると期待できる。

 また、服部氏いわく「AIは発散は得意だが収斂は苦手」。プロンプトのテクニックとしても、オープンクエスチョンで尋ねてテストやリファクタリングのバリエーションを出すことに集中すると有効に活用できる。プロンプトの使いこなし方については、社内やチームで共有し、テクニックを標準化することもおすすめだという。

これからのエンジニアに求められるスキルとは

 「これからのエンジニアに求められるスキル」についてのパートでは、新田氏と服部氏両名が議論を交わした。

 新田氏が「求められるスキルが大きく変わるのではなく、人と人の間にAIが入ることでスピードが上がる印象がある」と話すと、服部氏もうなずき「良いコードをAIに書かせるためには、コードを書かせる術をエンジニアが知っている必要がある」と提言。GitHub Copilotを含めた生成AIツールは、「最強の学習ツールでもある」と指摘し、教育の観点での活用可能性に期待を寄せた。

 また、生成AIツールを活用する際には、試行錯誤が重要になる。服部氏は「どういうふうに組み合わせたらいいアウトプットが出るのか探ることは、体験を通して探っていく領域です」と話し、「時間をかけて、自分で学んでいくことが大事」だとした。

 さらに新田氏は、「これまでも開発効率を上げるためにエディタの設定やCLIの工夫をしてきたように、AIツールも開発生産性を上げるためにセッティングをして、それを周囲に共有していくことになるのでは」と推察する。服部氏も「ベストプラクティスをチームで共有することで組織の開発効率を上げることが、これからの議論になっていく」と指摘。

 「AIネイティブ開発は、エディターの中に収まるものではない。組織として、エンジニアチーム全体でどう力を養っていくのかが重要になっていきます」(服部氏)

 最後に、新田氏のギブリー社が提供する開発案件マッチングプラットフォーム「Track Works」と、生成AIのスキルを習得するオンライン講座「Track Academy」が紹介された。

 Track Academyは「生成AIに関する知見からプロンプトエンジニアリング、RAG開発やAIネイティブ開発を完全にオンラインで学べることができるようなアカデミー」だ。

 新田氏は「興味のある方はぜひ参加してください」と呼びかけてセッションを締めくくった。

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 セッションレポート連載記事一覧

もっと読む

この記事の著者

岡田 果子(オカダ カコ)

 IT系編集者、ライター。趣味・実用書の編集を経てWebメディアへ。その後キャリアインタビューなどのライティング業務を開始。執筆可能ジャンルは、開発手法・組織、プロダクト作り、教育ICT、その他ビジネス。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社ギブリー

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19178 2024/04/15 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング