Human-in-the-Loop な AI エージェントを作るためのソフトウェア設計 | Wantedly Engineer Blog
こんにちは、ウォンテッドリーでソフトウェアエンジニアをしている市古(@sora_ichigo_x)です。現在は Visit Sourcing Agent Squad でスカウトの新機能「AIエー...
https://www.wantedly.com/companies/wantedly/post_articles/1026657
Photo by Stephen Dawson on Unsplash
はじめまして。Wantedlyでプロダクトマネージャーをしている上山です。今回は社内の AI 活用イベント「Hackathon W vol.3」で取り組んだ「AIを活用した業務改善」についてお話しようと思います。
はじめに:AIで業務をどう変えるか?
課題:仮説検証が機能開発の負担になっていた
全工程の自動化は行わず、価値の出やすい工程に絞る
手段 : Cursorの「Agent Skills」を活用した効率化の仕組み
指標の定義:PRDを元に指標定義書を作成する
分析:集計データを元に考察の素案を作ってもらう
振り返り:効率化の手応えと今後の課題
「Hackathon W vol.3」は、社員一人ひとりがAIを使いこなし、日常業務を継続的に改善していくことを目的とした社内イベントです。参加者はそれぞれが直面している課題に対し、AIを活用した解決策を提案・制作します。私は今回AIコードエディタの「Cursor」を活用して、プロダクト開発に欠かせない「仮説検証」の負担を軽減するというテーマで取り組みました。具体的には、検証プロセスの中で発生するドラフト作成や情報整理をAIに任せる手法を検討しました。
機能リリースにおける仮説検証は重要なプロセスですが、リリースごとに繰り返し行う必要があるため、その都度の工数が積み重なり機能開発の負担になっているという課題がありました。 具体的には、一つの施策をリリースするたびに以下の5工程が発生します。
開発スピードを維持しながらこれらを毎回実施するには、一回あたりの実行コストを最小限に抑え、検証のハードルを下げることが重要と考えました。
本ハッカソンでは、仮説検証プロセスのうち、すぐに価値に繋がる工程に絞ってAIを活用しました。当初はAIエージェント「Devin」を用いて「ログ設計」から「データ集計」までの自動化を試みましたが、実装の細かなズレや、非エンジニアによる集計結果の正当性評価コストの高さといった課題に直面したため、全工程の自動化は見送りました。結果、プロダクトマネージャー(PdM)が担当している「指標の定義」と「分析」の2工程に絞って効率化を図る判断をしました。
課題解決にはAIコードエディタ「Cursor」のAgent Skillsを主に活用しました。Agent Skillsとは、AIにあらかじめルールを指示することで、特定の作業手順を何度でも再現できる機能です。プロジェクトのルートディレクトリに .cursor/command を作成し、手順書(入力・出力の定義、テンプレート、判断ルールなど)を配置します。仮説検証の工程ごとにコマンドを実行することで、誰でも同じ品質の出力を得られる「プロンプトのショートカット」を作ることができます。
「指標の定義」と「分析」のどちらの工程においても、「AIにドラフトを作らせ、人間がレビューする」という基本フローを徹底しました。AIは背景・文脈理解が苦手な傾向にあり、PRD(要求定義書)に記載しきれないプロダクトや機能の背景をAIが十分に考慮できないという課題に直面しました。「前工程の成果物を入力 → Cursorでドラフトを出力 → 人の目でレビュー・修正」というサイクルを回すことで、手戻りを最小限に抑えています。このように、AIのプロセスに人間が介在して精度を担保する手法を「Human-in-the-Loop」と呼びます。AIのスピードを活かしつつ、最終的な品質は人間が責任を持つというこの設計が、実務でAIを使いこなすための鍵となりました。
ここからは、どのようにしてAIを用いて効率化したのか具体的に解説していきます。
まずはPRD(要求定義書)の内容を元に「何を計測するべきか」を整理し、指標定義書のドラフトを作成します。具体的には、PRDをCursorに読み取らせ、計測すべきKPIツリー、指標の定義、計算式、そして取得すべきイベントの候補を出力するよう、カスタムコマンドを使って指示を出します。
指標定義書のドラフト作成を指示する際のポイントは、「不明点は推測せず質問してもらうこと」と「過去の定義書を参考にさせること」です。PRDは書く人によって粒度が異なるため、AIが不足情報を補完して出力内容が目的からズレるのを防ぐ必要があります。また、過去の指標定義書をCursorに参照させることで、より精度の高いドラフトを作成できるようにしています。最終的には担当のPdMが内容を精査し、定義を確定させます。
分析の工程では、指標定義書と集計データをCursorに読み込ませることで、グラフ等を用いた見やすいデータの可視化と、考察のドラフトを生成しています。指標ごとの集計が正しくできているかを人間が評価した上で、AIが出した考察案を叩き台にして自分自身の考察を深めていきます。分析結果は「集計・結論・考察」という常に同じテンプレートで出力するように指示しており、将来的に類似の施策を行う際にも、過去の知見を簡単に参照できる仕組みにしています。
Cursorを活用した結果、ドラフトを作る部分をAIに任せられるようになり、ゼロから人の手で書き始めるハードルがなくなりました。具体的な計測はできていませんが、体感としては十分に時間が短縮できています。
一方で、AIが出力する内容は常に「正しそうに見える」ため、それを適切に見抜く高い知識が必要であることも痛感しました。現時点では、人間のチェックなしにAIの成果物をそのまま実務に活用するのは難しいと感じました。そのため、AIの提案に左右されすぎず、背景や目的と照らし合わせて適切に評価・修正を行えるだけのドメイン知識を、レビュワー自身が持っていなければなりません。
今後は、今回見送った「ログ設計」〜「データ集計」についても、新しい手法を取り入れながら効率化に挑戦していきたいと考えています。仮説検証の全工程をスムーズに回せる体制を整え、これからもデータに基づいた迅速なプロダクト開発を推進していきます。