バックエンドエンジニア兼SREとして今年Natureにジョインした長田です。 よろしくお願いします。
先日、社内向けに生成AI入門者向けのワークショップがありました。 このワークショップの中で、前提知識を共有する講座として「生成AIとの上手な付き合い方」というトークを担当しました。 その際にスライド資料を用意したのですが、そこそこのボリュームになったことと、公開しても問題ない内容ということで、せっかくなので公開することにしました。
本スライドのターゲットは生成AI入門者です。 そのため、すでに生成AIを使いこなしている方には物足りない内容かもしれません。 また、入門者にわかりやすく伝えるため説明を簡略化した部分もあり、厳密さを欠く表現もあります。 あらかじめご了承ください。
※スライド下部の小さな字は、公開用に口頭で説明した内容を追記したものです。
スライドの内容についての補足
スライドの「余談」でも触れましたが、このスライド自体も生成AIを活用して作成しました。 基本構成は私が設計し、各スライドの具体的内容の執筆は生成AIに依頼しました。 ただし、作業が効率化されたかというと必ずしもそうではなく、生成AIが出力した文章の事実確認や修正に時間を取られ、 結局は一から自分が書いた場合と大差ないくらいの時間がかかりました。
事実確認には特に苦労しました。 生成AIに関する情報をインターネットで検索すると、生成AIによって作られたと思われる記事が大量にヒットし、 信頼できる一次情報を見つけることが難しい状況です。 この傾向は多くの分野で見られますが、特に生成AI関連では顕著です。 信頼できる情報源の確保が重要ですが、生成AI分野は技術の進化が速く、書籍には頼りにくい状況です。 最新情報のキャッチアップはトレンドとして上がってきたものを追っていけばいいのですが、 すでに一般化している事柄をより深く調べることに課題を感じています。 これまでは学術論文などは参照してこなかったのですが、今後は積極的に利用する必要があるのかもしれません。
現時点では、生成AIにすべてを任せることはまだ難しく、人間による監修が必要だと感じています。 現実的な分業としては「企画と最終チェックは人間が担当し、中間工程の定型的な作業を生成AIに任せる」という アプローチが効果的だと考えています。
講師として参加したワークショップから得た知見
今回のワークショップでは「業務上の課題を生成AIで解決するには?」をテーマに各職能ごとにグループワークを実施しました。
講師として各グループの議論を聞いて回る中で、副産物として他職能の方々の業務課題を知る機会になりました。 各職能特有の業務課題(いわば非機能要件)の解決にソフトウェアエンジニアが積極的に関わることで、 組織内の課題を効率よく解決できるように感じました。
一方で変化の兆しも感じました。 従来の「ソフトウェアエンジニアと協力して課題を解決する」というモデルが、 「生成AIと協力して課題を解決する」という新しいモデルへと進化しつつあります。 「ソフトウェアエンジニアが入れば解決できる気がする。でも社内にそんなリソースの余裕はない・・・」という問題が解決する予感がしています。 もちろん、最初のステップではソフトウェアエンジニアが技術的な可能性を示す必要がありますが、 一度その方法を理解すれば、非エンジニア職の方々も生成AIを活用して自律的に課題解決できるようになるでしょう。 実際に、すでにそのような形で改善サイクルを回している組織もあることでしょう。
ワークショップの内容自体も興味深いものではあったのですが、業務に直結する内容なので本記事での公開は控えさせていただきます。
社内の生成AI活用状況
せっかくなので、Natureにおける生成AI活用の現状も紹介しておきましょう。
Natureでは、特にソフトウェアエンジニアによる活用が盛んに行われています。 GitHub CopilotやCursorを使ってコーディングを支援させたり、 DevinやGitHub Copilot agentsに開発そのものを肩代わりさせたり、 あるいはGitHub Issue/PRの作成をトリガーに、半定型の作業をDevinに行わせるなど、 活用の幅を広げるべく日々試行錯誤しています。
ソフトウェアエンジニア以外のメンバーも、 ChatGPTやNotebookMLなどを調査や情報収集、文章の下書き生成などに日常的に活用しています。
特にDevinの利用に関しては、今回話題にしたワークショップ後に、ソフトウェアエンジニアではないメンバーがPull Requestを作成するという動きも見られました。 簡単な文言修正などであれば、エンジニアに依頼せずとも直接Pull Requestを送るという選択肢が一般的になりそうです。
生成AIの活用に伴う開発の課題
開発効率が向上した一方、それに伴う課題も感じています。
特にプログラミングにおいては、コーディング規約やテストによって、生成AIによる成果物の質がある程度担保されています。 しかし、だからといって全て生成AI任せでよいかというとそんなことはなく、社内では依然として人間のレビューを必須としています。 生成AIによってコード生成の速度が向上するということは、すなわち人間がレビューしなければならないコードの量が増加するということでもあります。 レビュー支援のための生成AIツールはまだ発展途上であり、この点にコストのアンバランスを感じています。 将来的には生成AIによる成果物の精度向上とレビュー支援の充実により、この状況は改善されていくとよいのですが・・・。
まとめ
本記事では、社内向けに作成した「生成AIとの上手な付き合い方」という入門スライドを紹介し、 その背景や補足情報、そして当社での生成AI活用状況についてお伝えしました。
ちなみに、私が社内で一番生成AIに詳しい奴かというとおそらくそんなことはなく、 たまたまなぜか社内(特にワークショップの主催者)から「生成AIに詳しい人」として認識されていたことにより白羽の矢が立ち、 今回のトークを担当することになりました。 結果として、これまで曖昧だった知識を整理し、理解を深める良い機会となりました。
生成AIは急速に進化し続けており、様々な業務領域での活用が広がっています。 スライド作成からすでに1ヶ月ほどが経過しており、その間にも種々の変化がありました。 連日MCP関連の話題を目にしますし、Google Cloud NextではAgent2Agent Protocolの発表があり、GPT-4.1もリリースされました。 なるべく基礎知識となるような情報にとどめたつもりなので、生成AI界隈の中でも賞味期限が長い内容になっていることを願っています。 これから生成AIを活用し始める方々にとって、少しでも参考になる情報を提供できていれば幸いです。