【ITニュース解説】I built ScopeLedger to turn “one more thing” into a clear scope conversation
2026年10月15日に「Dev.to」が公開したITニュース「I built ScopeLedger to turn “one more thing” into a clear scope conversation」について初心者にもわかりやすく解説しています。
ITニュース概要
「ScopeLedger」は、開発プロジェクトで発生しがちな「ちょっとした追加依頼」によるスコープ拡大を防ぐツールだ。AIが顧客の新しい要求を分析し、契約範囲内か追加作業かを判断する。これにより、フリーランス開発者や小規模エージェンシーが変更見積もりを効率的に作成し、顧客との明確なコミュニケーションを支援する。
ITニュース解説
プロジェクト開発において、クライアントからの「あれもこれも」という追加の要望は、多くの開発者が直面する共通の課題だ。特に、プロジェクト全体に対してあらかじめ決められた固定料金で契約している場合、小さな追加依頼が積み重なると、当初合意した範囲(これを「スコープ」と呼ぶ)を大きく超える作業量になることがある。開発者側からすれば、追加の作業に対する費用が支払われないまま作業を強いられることになり、大きな負担となるのだ。
この問題を解決するために、「ScopeLedger(スコープレッジャー)」というツールが開発された。これは、フリーランスのソフトウェア開発者や小規模な開発会社が、クライアントとの間で合意した作業内容と、後から出てくる新しい要望を明確に区別し、スコープに関する認識のずれを防ぎ、円滑なコミュニケーションを促すことを目的としている。
ScopeLedgerの主な機能は、開発者がクライアントとの間で合意済みの成果物リストと、クライアントから新たに寄せられた要望をシステムに入力することから始まる。すると、人工知能(AI)がこれらの情報を比較し、新しい要望が「当初の契約に含まれる作業なのか」「追加の費用が必要な作業なのか」、あるいは「内容が不明確で、さらに話し合いが必要な要望なのか」という三つのカテゴリに分類することを提案する。AIの提案には、その判断の根拠となった契約書や合意内容の具体的な該当箇所が示されるため、開発者はAIの提案が妥当であるかどうかを自分で確認できる点が重要だ。
AIの提案はあくまで参考意見であり、開発者は自分の判断で分類を上書きできる。もし追加作業が必要だと判断した場合、その作業にかかる見込みの時間(工数)を見積もり、自身の設定した時給と合わせて追加費用の見積もりを作成できる。最終的に、ScopeLedgerはこれらの情報に基づいて、クライアントに提出するための「変更オーダー(追加契約の草案)」のドラフトをエクスポートする。このツール自体が自動でクライアントに請求書を送ったり、クライアントが追加費用に同意したと仮定したりすることはない。あくまで開発者がクライアントとの交渉を進めるための準備を支援するツールとして機能する。
開発者は、ScopeLedgerを19ドルの買い切り型ローカルツールとして提供することを検討しているが、この価格設定や、実際にユーザーが価値を感じて料金を支払うかどうかはまだ検証段階にある。今後、実際のプロジェクトで発生したスコープに関する意見の相違にこのツールを適用し、その有効性を検証していく予定だ。デモンストレーションでは、例えば「5ページのウェブサイト制作、2回の修正、予約機能なし、英語のみでの公開」といった契約内容が提示される。これに対し、「予約機能を追加したい」「スペイン語にも対応させたい」といった新しい要望があった場合、AIがこれらを「追加作業」と分類し、見積もりを提案する様子が示される。また、「最初の色の修正」のように契約に含まれる作業と判断されるケースや、「もっとプレミアムなデザインにしてほしい」のように、具体的な内容を話し合う必要があると判断されるケースもデモで紹介されている。
ScopeLedgerは、Pythonというプログラミング言語と、シンプルで扱いやすいSQLiteデータベースを基盤に開発されている。ウェブインターフェースは、余分なライブラリに依存せず軽量に作られている点が特徴である。AIの中核には「Gemma 3 4B」というモデルが使用されており、「Ollama(オラマ)」というツールを通じて開発者自身のコンピューター(ローカル環境)で動作する。これにより、クライアントの契約書などの機密性の高い情報を外部のAIサービスに送信することなく、自分のパソコン上で安全にAIによる処理が完結する。AIは、人間が文書の意味を理解するように、新しい要望と既存の契約内容の間に意味的なつながりや違いがあるかを判断し、分類する役割を担う。一方、リクエストの識別、根拠の引用、情報の網羅性、開発者の承認、料金計算など、明確なルールに基づいて処理できる部分は、従来のプログラムコードが担当する。AIの出力は、厳格な形式(JSONというデータ形式)に従っており、無効な情報や重複した情報がないかどうかがシステムによってチェックされる。これにより、AIが生成したテキストをそのまま使うのではなく、開発者が確認し、修正した内容に基づいて正確な見積もりを作成できる仕組みになっている。
開発の初期段階では、より小さなAIモデル(Gemma 3 1B)を試したが、8つのテストケース中1つしか正しく判断できず、例えば明確に契約に含まれない作業を「含まれる」と誤って判断することがあった。そこで、より大きなAIモデル(Gemma 3 4B)に変更し、AIへの指示文(プロンプト)を調整することで、8つのテストケース中6つを正しく判断できるよう改善した。しかし、まだ完璧ではなく、契約に含まれるはずの修正を誤認識したり、複数の種類の作業が混ざった要望の処理に課題が残っている。このため、AIの提案はあくまで参考として扱い、最終的な判断は必ず開発者自身が行う必要がある。
ScopeLedgerはまだプロトタイプ段階であり、いくつかの限界を持つ。例えば、解析できるテキストは短く、明確な行に区切られている必要があり、PDFファイルのような複雑な形式のドキュメントを直接読み込むことはできない。また、過去の修正履歴を自動的に追跡したり、法的義務を確定させたりする機能はない。ローカルに保存されるデータ(SQLite)は暗号化されていないため、機密情報の取り扱いには注意が必要だ。何よりも重要なのは、AIの判断は人間のレビューが不可欠であるという点である。
このツールが「オープンソース」として開発され、AIモデルも「ローカル」で動作することには大きな利点がある。クライアントからの要望には、価格や納期、さらには企業秘密に関わるような機密情報が含まれることが多いため、これらの情報を外部のAIサービスに送信することなく、自分のパソコン上で安全に処理できる点は非常に重要だ。また、AIモデル自体を自由に選択・変更できるため、もし使っているモデルの性能が不十分だと感じたら、より高性能なモデルに簡単に切り替えることが可能である。ただし、ローカルでAIを動かすには、それなりのコンピュータのメモリや処理能力、電力が必要になる。これは、どこで、どのモデルを使って作業を行うかを開発者自身がコントロールできるという利点とのトレードオフである。
現時点での最大の課題は、このツールが実際にフリーランス開発者や小規模エージェンシーにとってどれほどの価値があるのか、という点だ。具体的には、ツールを使うことで本当に時間や手間が省け、追加の収益を確保できるのか、そしてその価値に対して19ドルという価格が妥当であると納得してもらえるのかどうかを検証していく必要がある。今後は、実際のフリーランス開発者にツールのテストを依頼し、AIの誤りを検出できるか、変更オーダーのドラフトを完成させられるか、そして支払うに足る価値を見いだせるかを確認していく予定である。このプロジェクトは、AIを活用した画期的なツールとして、GemmaというAIモデルの最良活用を目的とした開発チャレンジに貢献している。