BASEプロダクトチームブログ

ネットショップ作成サービス「BASE ( https://thebase.in )」、ショッピングアプリ「BASE ( https://thebase.in/sp )」のプロダクトチームによるブログです。

Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips

はじめに

Cartチームでバックエンドエンジニアをしている、かがの(@ykagano)です。

6/13(金)にBASE社内で第1回となるAI勉強会が開催されました。
10分間のLTが2つ行われまして、私はLTの1つを下記タイトルで発表しました。

「Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips」

発表内容の前にBASEでのAIの利用状況と取り組みについて簡単にお話ししたいと思います。

AIの利用状況と取り組み

BASEでは開発する際のAIとしてCopilotを使用しています。
Copilot自体は以前から社内で使っていましたが、CopilotのAgent Modeは比較的最近使い始めたものとなります。

Copilotを含めた、AIの社内での活用を推進するために、BASEでは AIサポーターズ という取り組みを行っています。

AIサポーターズは、BASEが利用できるAIの社内活用を促進し、クリエイティブタイムの創出を目的に活動するチームです。
私が所属する Product Division でも活動を行っていまして、私もメンバーの一人となります。

AIサポーターズでは以下のような活動を行っています。

  • AIプロンプトのレシピ集を作る
  • Chat GPTsでデータベース検索クエリを自動生成できるようにする
  • Copilotの利用を推進し、より開発生産性が上がるようにする

こうしたAIサポーターズの活動の一環として、普段からCopilot Agent Modeを使用していたため、今回バックエンド開発のTipsを紹介させていただきました。

発表内容

私の発表内容については下記スライドをご覧ください。

speakerdeck.com

AI勉強会はMeetを利用したオンライン開催で、社内から30名ほどが参加していただけました。

発表では、主に私がCopilotをどう使っているかを話させていただきました。
またCustom Instructionsを使ったコーディングとユニットテストについて例を上げて説明しました。

発表の最後に現在backendリポジトリのCustom Instructionsを使っている方の挙手をお願いしたところ、一人だけ挙手いただけました。
参加者に後で聞いてみたところ、Custom Instructions自体を使っていなかったり、自分用のCustom Instructionsを育てている方もいるなど利用状況が異なっているようでした。
今後はリポジトリのCustom Instructionsも利用を広げていければと思います。

発表後に質問の時間が設けられており、「普段の開発にPHPStormを使っているのはなぜですか」と質問をいただきました。
回答としては、私がIntelliJ製品を使った開発に慣れていることと、PHPStormでもCopilotが使えるので並行作業するスタイルが自身に合っていたものとなります。

また参加者アンケートでは多くの方に回答いただき、ポジティブな反応をいただけたので良かったです。

Custom Instructionsについての補足

以前より、社内向けに「CopilotのCustom Instructionsの検証についてご協力のお願い」というページを作成して周知を行っています。
そのため、今回の発表はその内容をより広く周知する目的もありました。

社内向けに周知した内容は以下となります。

現在、リポジトリに配置しているCustom Instructionsは比較的汎用的な内容になっています。

そのため、Copilotにもっとこう書いてほしいといった内容がありましたら、Custom Instructionsファイルの更新PRをお願いします。

また別の名前のCustom Instructionsファイルも追加していただいて構いません(自分の使っているモジュールで使う用のファイルなど)。

自分たちしか使わないCustom Instructionsファイルであってもリポジトリに追加いただけると、他の方はこう書いているのかと知ることができ、より良い書き方を取り入れられるため助かります。

.github 配下の Custom Instructions ファイル

.github
├── copilot-instructions.md             // プロジェクト構成を与える指示書
└── instructions
    ├── coding.instructions.md          // コーディング用指示書
    ├── unittest.instructions.md        // 単体テスト用指示書
    └── codereview.instructions.md      // コードレビュー用指示書

おわりに

今回、AI勉強会は第1回目の開催でしたが、2回目の開催も予定しています。
LTも毎回色んな方の話が聞けると思います。

このようにBASEでは、AIの活用を推進しています。
ご興味がありましたら採用情報をぜひご覧ください。

binc.jp