Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. 【第1回】IBM Bobで開発環境構築の属人化を解消!〜Bobathon奮闘記 その1(自社課題編)〜

【第1回】IBM Bobで開発環境構築の属人化を解消!〜Bobathon奮闘記 その1(自社課題編)〜

投稿者:土橋

はじめに

こんにちは!NTTインテグレーションの 土橋です。

先日、IBMのコードアシストエージェントサービス「IBM Bob」を題材としたハッカソン、通称「Bobathon」に、私の所属するチームxG から3名で参加してきました。

本ブログでは、私たちがこのハッカソンで取り組んだ「IBM Bobを活用した業務効率化と新規価値創出」の成果を、全3回の連載形式で皆さまにお届けします。

連載第1回目となる今回のテーマは、「自社課題編」です。
私たちの開発チームが日々直面しているリアルな課題を取り上げ、その課題に対して、IBM Bobの強みをどのように活かし、どんな解決アイデアを生み出したのかをご紹介していきます!

 

開発現場のリアルな課題:「また環境構築でエラーが出た…」

はじめに、今回のBobathonで、IBM Bobを用いて解決を目指した社内課題についてご紹介します。

Bobの自社利用を想定して社内課題を考えた際、これまでの業務で感じた手間や困りごととして思い浮かんだのが、開発環境構築にまつわる手間と属人化の問題でした。

「早く開発に入りたいのに、準備だけで午前中が終わってしまった…」なんて、エンジニアなら一度は経験したことがある「あるある」ではないでしょうか。実際、私自身も新しいプロジェクトに参画した際、開発環境を整えるだけで数時間かかった経験があります。

もちろん現場には環境構築の手順書が用意されています。しかし、膨大なテキストを読み進めながら一つひとつコマンドを叩く作業は時間がかかりますし、注意深く進めていても、つい手順を飛ばしたり誤入力したりしてエラーを招いてしまうことがありました。

厄介なのは、この作業が「手順書をよく読み、時間をかけて丁寧に行えば一応は完了できてしまう」という点です。そのため、わざわざ自動化の仕組みを検討したり、スクリプトを組んだりするまでの余裕がなく、結局そのまま放置されがちでした。

こうした「地味に手間がかかる作業」を、もっと簡単に自動化できないかと考え、今回はIBM Bobを使ってこの課題を解決できないか試してみることにしました。

 

IBM Bobを使った解決策:既存環境を読み込ませるだけ!

開発環境構築の自動化を実現するためには、何よりもまず「現在の環境がどのような構造で成り立っているか」をAIに正確に理解させることが不可欠です。

Geminiなどの一般的なAIサービスでも、AIにコーディングをさせたりコードを理解させたりすることは可能です。

しかし、多くのAIサービスは一度に添付できるファイル数に制限があったり、チャットベースのやり取りが中心だったりします。
そのため、フォルダが何層にも重なり、複数の設定ファイルが複雑に絡み合う「開発環境」を丸ごと理解させるのは至難の業です。ファイルを一つずつ添付したり、コードをコピペして構成を説明していては、それこそ手作業以上の手間がかかってしまいます。

その点、BobはVS Codeと同様のエディタインターフェースを持っており、環境単位でディレクトリ構造を丸ごとAIに読み込ませることができます。 わざわざファイルをコピペしなくても、Bobがプロジェクト全体を「見て」理解してくれる。これこそが、一般的なAIサービスとは違う、Bobの圧倒的な強みです!

今回は、この「環境やフォルダをプロジェクトごと一気に把握できる」というBobならではの特性を最大限に活かし、開発環境構築の自動化を進めることにしました。

 

実装の戦略:シンプルな2ステップ

今回はまず、Bob自身にベースとなる開発環境の雛形を作成させた後、以下の2ステップで自動化を試みました。

 

  1. 既存の開発環境(フォルダ一式)をそのままBobに読み込ませる
     
     
  2. 環境構築を自動化するための実行ファイル生成を依頼する
     

「あったら便利だけど、自分たちでイチからコードを組むのは正直面倒」。そんな、これまでの現場で後回しにされてきた課題に、Bobの読み込み能力がどう応えてくれるのか。実際の実装工程は次のセクションでご紹介します!

 

実践!Bobとの対話フロー

ここからは、実際にBobとどのようなやり取りをして開発環境構築の自動化を実現させたのか、その対話フローをご紹介します。

 

前提:開発環境の用意

今回は、TypeScriptを用いたWebアプリのバックエンド環境(NestJS)を想定開発環境としました。自動化の検証を行うため、まずはBobに標準的な開発環境の雛形を作成してもらいました。

 

本題:開発環境構築の自動化を可能にするbatファイルの作成

ここからが本題です。いよいよBobに開発環境構築の自動化を実現してもらいます。

前提で作成した開発環境を基に開発環境構築の自動化を実現させるため、以下プロンプトをBobに与えました。

すると、以下のような流れでbatファイルをすぐに作成してくれました!

なんと、ここまで推定3分。Bobがあればこんなに早くbatファイルが作成できるんだと、非常に驚きました。

 

 

batファイルのブラッシュアップ

前セクションでご紹介したように、Bobはたった1つのプロンプトで既存の開発環境を読み込み、たった数分で開発環境構築の自動化を可能にするbatファイルを作成してくれました!

しかし、生成されたbatファイルですが、最初から完璧に動くわけではありませんでした。
やはり、AIも1回のプロンプトだけでは完璧なファイル作成をするのは難しいようです。

ですが、ここからがBobの本領発揮です。

Bobはプロジェクト全体の構成を「環境ごと」に深く理解しているため、作成したファイルと実際の開発環境の内容を照らし合わせながら、うまく動かない原因の探求から解消までをスムーズに行ってくれます。

そのため、作成したbatファイルのエラー内容の追求からエラー解消まで、Bobに行ってもらいました。

以下は、Bobとの対話で修正を行ったポイントです。

 

  • OS環境への最適化
    最初に提案されたコードにはWindows固有の挙動に対応していない箇所があったため、「このbatファイルをWindows環境で実行できるようにしてください」と修正を依頼。OSの差異を考慮した記述に修正。
     
  • ディレクトリ階層(作成場所)の調整
    batファイル実行時に開発環境が別ディレクトリ上で作成されたため、batファイルと同じ階層に環境が作成されるように依頼。
     
  • 実行エラーと例外処理の解消
    batファイル実行時にうまく動かなかったため、発生した事象をBobに伝えてbatファイルの修正を依頼。「実行後にすぐウィンドウが閉じてしまう」「Node.jsのインストール有無で挙動が変わる」といった事象をそのまま 入力し、安定挙動になるように修正。

 

一見、修正の連続で大変そうに見えるかもしれませんが、実際には数回チャットを交わしただけで、すべてのエラーの原因追及からエラー解消まで、AIが先導して行ってくれました。

また、Bobとの対話もbatファイルを実行したときに起きた事象をそのまま伝え、修正を依頼しただけです。

自分一人では解決に時間がかかるようなエラーも、Bobがリードしてくれるおかげで、これほど簡単にエラー修正することができ、batファイルを完成させることができました。

 

成果:20分で「属人化」が解消

最後に、Bobとの対話の成果をご紹介します。

完成したbatファイルを実行すると、見事にbatファイルと同じ階層下に新たな開発環境が自動生成されました!

 

(batファイルの実行開始と完了の様子↓)

 

本来、こうした「開発環境を自動で構築してくれるbatファイル」を自分で書こうとすると、環境の理解を含めて数時間以上かかってしまいます。

ですが、Bobがあれば、わずか20分ほどのチャットの簡単なやりとりだけで「開発環境構築の自動化」を実現することができました。

「手順書を見ながら数時間」かかっていた作業が、「バッチを叩いて数分待つだけ」になる。この劇的な変化をこれほど手軽に作れるのは、本当に便利で心強いなと実感しました!

 

導入効果と今後の展望

今回の開発環境の自動構築batファイルが実際の開発現場でも実現されれば、以下のような効果が期待できると感じました。

  • 標準化の徹底:
    全員が同じスクリプトを実行するため、「特定の人にしか作れない環境」という属人化がなくなる。
  • 構築コストの削減:
    数時間かかっていた作業が数分に短縮され、新しいメンバーが初日から即戦力として開発に集中できるようになる。
  • ヒューマンエラーの排除:
    手順書の読み飛ばしやコマンドの誤入力による「原因不明のエラー」に悩まされることがなくなる。

 

また、今回の検証を通じて、開発者にとってのIBM Bobの価値とは、「アプリやシステムを0ゼロから生成する」ことよりも、「既存のシステムを丸ごと読み込ませ、その構造をAIに深く理解させられる」ことにあると強く感じました。

開発者の業務の中には、「効率化したいけれど、そのための準備に時間を割く余裕がない」というジレンマを抱えたタスクが多く眠っていると思います。(↓例えばこんなの…)

  • READMEやAPI仕様書の更新:
    コードを修正したけれど、READMEの古い手順を書き換えるのが面倒…
  • コードの構成図作成:
    フォルダ構造やモジュール間の依存関係を図解したいけれど、フォルダ構造をいちいち確認して作成するのが面倒..

 

これまでは「面倒だけど仕方ない」と諦めていたこうした小さな課題も、既存環境を即座に把握してくれるBobとなら、わずかな対話で次々と解決していけるはずです。

今回の自社課題編を通じて、Bobは単なるツールを超えて、現場のあちこちで「小さな業務革命」を起こしてくれるパートナーだと感じました。
また、もっと時間があれば、異なるOSへの完全対応やライブラリの自動管理、Git連携までBobで完結できるか試してみたいと思いました。

 

まとめと次回予告

第1回となる今回は、Bobの「環境理解力」を活かして、現場の長年の悩みだった「開発環境構築の属人化」を解消するプロセスをお届けしました。

「読み込ませて理解させ、それを基に改善させる」というフローは、これからの開発スタイルにおける大きな革命になると感じました。

次回の【第2回】Bobathon奮闘記では、視点を変えて「お客様の課題解決編」をお届けします。自社内だけでなく、実際のお客様が抱えるビジネス課題に対して、Bobはどのような解決策を提示してくれるのでしょうか?

どうぞ次回もご期待ください!

最後までお読みいただき、ありがとうございました!

ページのトップへ