
生成AIを使いこなすのはなぜ難しいのか?「誰でも使えて精度も高い」機能を目指したプロダクトマネジャーの闘い
急激に進化を遂げ、注目が集まっている生成AI。Sansan株式会社においても、2025年のテーマに「AIファースト」を掲げ、全社でAI活用に向き合っています。
今回のnoteで取り上げるのは、2024年の話。全社テーマに先駆けて、生成AIを取り入れた機能開発の裏側をお伝えします。その機能とは、契約データベース「Contract One」の「拡張項目のAI自動入力」。生成AIの特徴と、Sansanがプロダクト開発で大切にしているユーザビリティーの追求を掛け合わせて生まれました。
ユーザーからもニーズが高かったというこの機能。生成AIを活用するに至った背景、そして直面した課題とは。技術本部 研究開発部 Data Analysisグループで研究開発を進める傍ら、Contract One Unitのプロダクトマネジャーとして本機能の開発に携わった保坂大樹に話を聞きました。
保坂 大樹(ホサカ タイジュ)
技術本部 研究開発部 Data Analysisグループ 兼 Contract One Unit プロダクトグループ
2020年、Sansan株式会社に新卒入社。研究開発部で研究員として技術開発に取り組む。2024年6月より、Contract Oneのプロダクトマネジャーを兼任。「拡張項目のAI自動入力」には技術検証や体験設計、要件定義などリリースまでの一部始終に携わる。リリース後の現在も機能のブラッシュアップに向き合う。
ユーザーのニーズに応えるために、生成AIの活用を決めた
ー「拡張項目のAI自動入力」の詳細と、開発に至った背景を教えてください。
Contract Oneはあらゆる契約書を正確にデータ化し、日常的に契約データを活用できる環境を作る契約データベースです。今回開発した「拡張項目のAI自動入力」という機能は、ユーザーがあらかじめ設定した項目を、生成AIが契約書から自動で抽出し、Contract One上で一覧で確認できる機能です。難しいですよね(笑)。もう少し説明します。
通常、Contract Oneではデータ化の際に、「契約先名」「契約書タイトル」などの主要9項目(※)を自動で抽出し、データ化しています。その項目だけでも十分便利にお使いいただけるのですが、他にもユーザーのいる業界ごとに必要な情報が存在します。
※主要9項目:契約先名、契約書タイトル、契約締結日、契約開始日、契約終了日、解約通知期限日、自動更新有無、自動更新期間、金額
例えば賃貸借契約における「物件名」や秘密保持契約における「秘密保持の残存期間」などの情報です。契約書は、すべてのビジネスにおいて必要不可欠。だからこそ業界ごとに必要な情報・項目が違ってくるんですね。このような情報を、台帳で管理したいというユーザーの声があり開発に至りました。

ユーザーから要望が挙がり始めた当時、私は研究員としてContract Oneに携わっていました。具体的には、機械学習エンジニアやデータサイエンティストといった職種がイメージに近いと思います。
機能の開発を担う、Contract One Unitのプロダクトグループと連携をすることはありましたが、技術的な相談があった際に対応することがほとんどでした。
私としては、ユーザーの声に応えたい。だけど、こちらから提案をしようにも情報が足りない状況でした。研究開発部とプロダクトグループがもっと密に連携できれば、スピーディーにユーザーの要望を反映できる体制が作れるかもしれない。そんなもどかしさを感じていました。
「悩んでいてもしょうがない。飛び込もう。」と意を決して、プロダクトグループと兼務ができないかと上長へ相談。実はUnit側にも同じ思いがあったようで、すんなりと兼務が決まりました。
こうして、研究員として研究開発部に所属しながら、Contract One Unitにも所属し、プロダクトマネジャーとして業務を始めることになりました。今回の「拡張項目のAI自動入力」では、研究開発部で培ってきた知識を生かし、プロダクトマネジャーとしての役割を果たすことで、最適な形でリリースできたと思います。
ーなぜ生成AIを活用するに至ったのでしょうか?
当社では以前から、データ化や他の機能開発でAIの開発や活用を行ってきました。しかし、そこで用いているAIの大部分は、開発者があらかじめ定めた項目の情報を抽出するための技術だったんです。
そこで注目したのが生成AIでした。生成AIは、文脈を理解し、さまざまなデータから必要な情報を抽出できます。今回実現したかったことは、ユーザーによって異なる、必要な情報を抽出することです。生成AIの特徴を生かすことで、より柔軟なデータ抽出が可能になると考えました。
しかし、この選択は新たな課題も生み出すことになります。

自由度の高さと、ユーザビリティーのバランスをどう取るか
ー新たな課題とは?
生成AIの高い「自由度」が、同時に使いこなすためのハードルも生み出していたんです。
先ほども話した通り、生成AIは多様なデータから必要な情報を抽出できます。抽出結果も、その指示文もさまざまで、自由度が高いんです。
だから、「契約書からこんな情報を抜き出したい」と抽出結果を自由に想像できる一方で、その情報を正確に引き出すための、適切な指示文を書く知識も必要になります。
―つまり、自由度を高くしすぎると、使いこなすためのハードルが上がってしまうということですね。
そうなんです。ユーザーの皆さんは目の前に日々の業務があり忙しいですよね。そんな中、「何でもできる」自由度の高い機能を提供するだけでは、それを使いこなすための知識を得たり、試行錯誤したりする時間が必要になってしまいます。このままでは、AIに詳しい人しか使えない機能になってしまうと頭を悩ませました。
加えて、抽出結果が完全に自動で生成されるといった、これまで当社で採用していなかった契約書のデータ化フローもこの問題を複雑にしていました。生成AIは抽出ロジックが不透明ということもあり、開発前に想定していなかった論点が次から次へと出てきました。
抽出の精度を担保しつつ、生成AIの自由度の高さとユーザビリティーのバランスをどう取るか。その最適なバランスを見つけるために、デザイナーや他のプロダクトマネジャーと何度も議論を重ね、試行錯誤を繰り返し、出てきた問題を一つひとつ解決していきました。
また、Contract One事業のありがたいところは、当社の中でも比較的若いサービスでユーザーとの距離が近いこと。ユーザーにも協力してもらい、実データを使った検証を何十回も繰り返し、課題を特定しては改善を行いました。
そうした苦闘。まさに闘いの末に、自由度とユーザビリティーの最適なバランスを見つけ実装できました。

どういったものかというと、基本的には直感的に操作できる設計にして、ユーザーが指示を入れなくてもある程度精度の高い結果を出せる設計にしたんです。加えて、オプションとしてユーザーが自由に指示文を書ける入力欄も設けました。
―闘い(笑)。なぜそこまでユーザビリティーを重視するのですか?
これは、とあるプロダクトに機能を実装するかどうか検討するためのデモをつくった時の話です。そのプロジェクトでアサインされたのはプロダクトマネジャーとエンジニア数名、そして研究員である私でした。
技術的な要件はスムーズに決まり、デモの制作も問題なく進行。いい機能ができたと、チーム内では思っていました。しかし、いざ社内のメンバーに使ってみてもらうと一向に利用率が上がらなかったんです。
今振り返れば、ただ「機能」を作って提供していただけで、ユーザーの体験を全く考慮できていなかったと思います。デモをつくる段階でそのことに気づけていれば、結果は変わっていたかもしれません。悔しかったですね。
当社では、どのプロダクトでもユーザビリティーを重視していて、実際にプロダクトを開発する際にはフロントメンバーにも意見をもらえる環境が整っています。その重要性がとてもよく理解できた経験でした。
だからこそ今回は、ユーザーが触る部分はシンプルに、誰でも使いやすい仕組みにして、 その分、裏側の技術には徹底的にこだわりました。 これが開発プロジェクトを成功させるために欠かせない、重要な要素だと考えています。
「拡張項目のAI自動入力」では、生成AIの強みを活かすだけではなく、ユーザビリティーとのバランスを考慮しリリースに至っています。このバランスを追求できたことは、今後も機能開発に携わる上で大きな学びのある経験になりました。

ユーザーの声に耳を傾け、プロダクトを進化させる
ー実際にユーザーに使ってもらって反響はありましたか?
ある企業では、契約書に管理番号がひも付いていて、その管理番号がないと運用が回らないという状況でした。
今回実装した機能によって管理番号を自動で抽出・管理できるようになり、Contract One導入の決め手となったと聞きました。ユーザビリティーを考慮した上で、ユーザーのニーズに応える機能をリリースできたことを開発者として非常にうれしく思います。
―今後、Contract Oneを通じてどのような世界を実現していきたいですか?
私たちが目指しているのは、法務部門や総務部門だけでなく、営業部門や購買部門などの担当者も契約情報を活用できる世界です。
今回の「拡張項目のAI自動入力」のリリースは、その世界の実現に向けた重要な一歩だと考えています。技術の可能性を追求しながら、誰もが使いやすい機能を作り上げ、契約書管理をより効率化していきたい。そして、ユーザーの皆さんがよりクリエイティブなことに時間を使える未来を実現したいです。
また、今回の一連のプロセスを通して、サービスの価値を届けるためには自分の専門分野以外の内容にも向き合うことの重要性を知りました。そのため、最近は営業やカスタマーサクセスのメンバーと積極的に連携したり、商談動画を見たりもしています。
「何でもできる存在になりたい」。そんな思いを胸に、職種や役割にとらわれずにいろいろなことにチャレンジしていきたいと思っています。常にユーザーの声に耳を傾け、これからもサービスを進化させていきたいですね。
▼プロダクトサイトはこちら
【もっと「Contract One」を知りたい方へ】
Contract Oneの活用によって、当社の習慣や業務がどのように変わったのかをご紹介しています。ぜひご覧ください。