はじめに
こんにちは、データ戦略室兼AI推進室のブライソンです。2025年6月25、26日に、AWS Summitがありましたね。その中で、生成AIハッカソンが開催されていたので、レバレジーズのAI推進室のメンバーでチームを作り、参加しました。全部で150チームほど参加した中、準優勝することができました!応募から発表まで約1ヶ月、実装期間は約2週間の中で、プロジェクトの引き継ぎに関するプロダクトを作り上げました。今回は、このハッカソンの参加レポートを当日使った資料を入れながら書きたいと思います。
ハッカソンの概要
今回参加した生成AIハッカソンのテーマは、「使いたおして「〇〇」を実現する AI エージェント爆誕祭」です。プロダクトの条件は、AWSの環境内に構築されていて、BedrockもしくはSageMakerが使われていることです。AWSからは、100ドルのクレジットをいただき、その上で開発を行いました。Slackを遡っていたところ、ハッカソンに参加することを決めた時のスレッドが見つかり、なんだか懐かしい気持ちになりました。ちなみに、我々のチーム名は、「チームぶち上げ」です。
ハッカソンで作ったもの
プロダクトの方向性
チームぶち上げに引き継ぎに苦しんだメンバーがいたため、作るプロダクトは引き継ぎを簡単にしてくれるAIエージェントという方向性に決まりました。中国の偉人である孔子が由来で、「引き継ぎコンシェルジュko☆shiくん」という名前です。プロダクトの方向性が決まったので、まずはアイコンが作られました。これがいわゆるアイコン駆動開発ですね。
要件
ko☆shiくんは、プロジェクトの引き継ぎにおいて、下記のことをしてくれます。
- 引き継ぎがどれくらい準備されているかの調査・確認
- プロジェクトの全容がわかる資料の作成
- 前任者に代わって、質問への回答
- プロジェクトの日次の進捗を取得して学習
これらがどのように実現されているかを実際の画面とともにお見せします。
実際の画面
これから紹介するデモ画像において使用しているのは、この生成AIハッカソンに向けて作られたko☆shiくんそのもののリポジトリと、利用されたAsanaのプロジェクトです。
まずは、スタート画面で、調査をしたいソースとなるURL(GitHubのリポジトリや、Asanaのプロジェクト)を貼り付け、引き継ぎとして存在していて欲しい項目を選択します。その後、診断スタートボタンをクリックすると、調査が開始します。
現状把握・資料作成エージェントは、提示されたソースの中に各項目が存在するかを並列で調査します。それぞれの進捗は一覧化され、リアルタイムで調査状況が確認できます。調査が全て完了すると、画面が遷移し、調査結果が表示されます。
結果画面では、引き継ぎの準備状況ごとに、ko☆shiくんがコメントをくれます。また、どの項目が存在しているかと、その根拠が表形式で確認できます。
また、調査結果を元に、プロジェクトの内容がMarkDownのドキュメントとしてまとめられます。
さらに、このプロジェクトについては、バーチャル前任者エージェントに質問することが可能です。例では、私たちの生成AIハッカソン用のプロジェクトにおいて次にやるべきことを聞いており、「発表スライド作成」と「オシャレデモ動画の作成方法の調査」がネクストアクションであることがわかります。さらに、これらのナレッジは、プロジェクトが進めば進むほど更新されていき、ko☆shiくんはプロジェクトを引き継いだ後も伴走してくれます。
ko☆shiくんを構成するエージェント
ko☆shiくんは、3つのエージェントからなります。それぞれの概要は、画像の通りです。
まず、現状把握・資料作成エージェントが、GitHub、Asana、Slack、DocBaseなどのサービスから、引き継ぎに必要な資料が存在するかどうかを調査します(これらのサービスを選んだ理由は、弊社が使っているためで、他のサービスを増やすことも可能です)。引き継ぎに必要な項目については、複数の選択肢(プロジェクト概要、技術スタック、デプロイ手順、連絡先一覧、など)から自分たちの欲しいものを選びます。調査結果は、結果画面にまとめられ、どの項目があるのかが一目で確認できます。また、プロジェクトの内容については、調査結果からエージェントがMarkDown形式のドキュメントにまとめます。
次に、ユーザーは、バーチャル前任者エージェントにプロジェクトの質問をすることが可能です。バーチャル前任者は、プロジェクトのことについて一番詳しい(後述)ので、なんでも答えてくれます。質問には、各ツールを探索したり、資料作成エージェントの作ったドキュメントを参照しながら、回答します。ただし、わからないことはわからないと答えます。
最後に、情報更新エージェントです。これは、プロジェクトが引き継がれ、進捗が生まれると、その内容を日時で更新し、新たな知識として蓄えるエージェントです。このエージェントは、各ツールの現在のデータを取得し、日報を生成することにより、あなたと共に、プロジェクトを伴走してくれます。
実装
全てのAIエージェントは、AWSのStrands Agentsを使って実装されました。当時、Strands Agentsが発表されてから1週間ほどしか経過していなかったため、公式ドキュメントだけを頼りに実装をしました。Strands Agentsについては、こちらの記事で簡単に触れているのでよければご覧ください。
全体のアーキテクチャ
ko☆shiくん全体のアーキテクチャは以下のようになります。Strands Agentsが乗っているFargateが中心となり、様々なサービスに接続されています。
現状把握・資料作成エージェント
現状把握エージェントは、それぞれ専門のツールを持ったエージェントが並列で動いており、調査結果をDynamoDBに保存していきます。それらの結果を元に、資料作成エージェントがプロジェクトの全容をまとめた資料を作成し、S3に格納しています。
バーチャル前任者エージェントと情報更新エージェント
これら2つのエージェントは密接に関わっているので、合わせて紹介します。まず、バーチャル前任者エージェントは、登録されている全てのツールと、作成された資料を駆使し、質問に回答するような仕組みになっています。
次に、情報更新エージェントですが、こちらはシンプルなエージェントで、登録されているツールを使用して、その日あった出来事を日報のような形でまとめ、S3に格納しています。
これら2つのエージェントを駆使することにより、プロジェクトの情報が日時で更新され続ける万能エージェントが完成します。つまり、バーチャル前任者は日を追うごとにプロジェクトに詳しくなり、プロジェクトマネージャーのような立ち位置にもなりえます。
さいごに
以上が、今回作った「引き継ぎコンシェルジュko☆shiくん」でした。
生成AIハッカソン自体、非常に楽しかったです。最新技術のドキュメントを読み漁ってキャッチアップしたり、AIを使った爆速開発をしたり、途中で「引☆継☆王koshi」に名前を変えようと瞑想して数時間を無駄にしたり、Bedrockを叩きすぎて与えられた予算をオーバーしたり、SlackのMCPでエージェントが勝手にメッセージ投稿をし始めたり、発表の前日までバグがたくさんあるスパゲッティコードを必死に修正したり、たくさんのことがありました。そんな中で準優勝することができて、嬉しかったです。もちろん、優勝を目指していたので、悔しい思いはしましたが、学びはたくさんあったので、結果オーライです。決勝戦の模様は、YouTubeに上がっています。他チームの発表も非常に興味深いので、もしよければご覧ください!