はじめに

AIの開発・利用の過程では、様々なリスクが想定されるため、契約の中でリスクヘッジをしておきたいところですが、具体的に何を定めていいかわからないという事業者が多いのではないでしょうか。

きちんとしたリスクヘッジをするためには、AI開発の特徴をきちんと理解しておくことが必要です。そうでないと、本来負わなくてよい責任を負わされたり、逆に、責任の所在が不明確になり、相手方から賠償をしてもらえなかったりというリスクを負う可能性があります。

そこで今回は、主にAI開発契約書を締結しようとしている事業者向けに、損害賠償や責任という観点から、リスクヘッジのために契約書に定めるべき事項をITに詳しい弁護士が解説していきます。

1 AI開発契約とは

AI開発契約

AI開発契約」とは、AIを使いたいユーザがAI開発のプロであるベンダに開発を依頼する際に、ユーザとベンダの間で結ばれる契約のことをいいます。

AI開発契約は以下のフローで行われます。

AI開発契約フロー(番号なし)

上の図からもわかるとおり、ユーザはAI開発のための「生データ(収集した状態のままのデータ)」をベンダに提供します。ベンダはその「生データ」について、AIが学習しやすいように、ラベルをつけたり、異常なデータを削除するなどの加工をして「学習用データセット」にします。AIは学習用データセットと「学習用プログラム」をとおして学習し、大量のデータから法則性を探します。このような学習を繰り返し、「学習済みモデル」が生成されます。

もっとも、従来のシステム開発においても、ユーザ・ベンダ間でデータのやり取りを行ったり、専用のプログラムを作ったりといったことはあるはずです。従来のシステム開発契約書をそのまま使えるのでは?と思われる方もいるでしょう。

結論からいうと、従来のシステム開発契約書をそのまま使うことはできません。使うことができない理由は、AI開発契約とシステム開発契約の違いにあります。

2 AI開発契約と従来のシステム開発契約の違い(チェック項目①)

従来の開発契約との違い

(1)従来のシステム開発契約との違い

AI開発契約と従来のシステム開発契約の違いは、

  1. 性能保証
  2. 検収
  3. 瑕疵担保

という3つの点にあります。

性能保証」とは、納品物において、ユーザの求める条件(性能・機能)がそなわっていることをベンダが保証することをいいます。

検収」とは、納品物が依頼時の条件を満たしているかどうかをユーザが確認し、合否の判定を行ったうえで受け取ることをいいます。

瑕疵担保(かしたんぽ)」とは、納品物に不具合(バグや性能・機能不足)があった場合に、ユーザがベンダに無償で修正をさせたり、損害賠償を請求できることをいいます。

これらは、ベンダに開発を依頼したユーザにおいて、リスクヘッジをすることを目的として契約書に定められることが一般的です。

従来のシステム開発契約では、多くの場合、以上の3点を内容とした条項を契約書に定めることが可能でした。なぜなら、ユーザが求める性能・機能といった条件は、要件定義などで明確化することができ、また、性能・機能を明確にして開発を行うため、何が不具合でその原因がどこにあるのか特定できたからです。

一方、AI開発は、これら3点について、多くの場合契約書で定めることが困難です。

なぜなら、AI開発は以下の特徴を持っているからです。

  1. AIの性能・挙動の予測が困難であること
  2. 何が不具合かはっきりしないこと
  3. 性能の検証に工夫が必要であること

①AIの性能・挙動の予測が困難であること

AI開発は、「生データ」、「学習用データセット」、「学習用プログラム」といった様々な要素を組み合わせて行われます。そのため、開発を始めてみないと、どのような性能の「学習済みモデル」が出来上がるか、予測することが困難だといえます。

また、AI開発は、多くのデータから法則を見つけるという開発手法をとるため、未知のデータに対して、AIがどのような挙動をするか予測することも困難です。

そのため、AI開発においては、ベンダがAIそのものの性能や未知のデータに対する挙動に関して、「性能保証」を行うことは困難となります。

②何が不具合かはっきりしないこと

先ほど説明したとおり、AI開発においては、未知のデータに対するAIの挙動を予測することが困難なことから、仮にAIに不具合があったとしても、AIのどのような挙動が不具合なのかはっきりしません。つまり、「瑕疵担保」として、ベンダが責任を負わなければいけない不具合が明確ではないといえます。

また、仮にAIに不具合があったとしても、ユーザが用意した「生データ」の質や量に問題があったのか?「学習用データセット」の加工方法に問題があったのか?「学習用プログラム」にバグがあったのか?などといったように様々な原因が想定され、不具合の原因特定が難しいといえます。不具合の原因を作ったのがベンダではなかったり、ユーザ・ベンダの行為が重なり不具合が生じた場合もあり得るため、ベンダに一方的に「瑕疵担保」の責任を負わせることはできないことになります。

③性能の検証に工夫が必要であること

AIの性能は、開発を始めてみないとわからないことから、「学習済みモデル」の納品時に「検収」を行うにしても、開発を始める前の契約書で、どのような基準で合否判定を行うか決めることは困難です。

また、「学習済みモデル」の性能を検証する際にも、「評価用のデータ」を用意する必要があります。なぜなら、学習済みのデータを検証に使っても、AIは学習時に正しい答えを学んでいるため、性能の確認ができないからです。

そのため、学習用データセットとは別に「評価用のデータ」を用意しない限りは、性能の検証ができないことになります。

このように、AI開発の特徴を踏まえると、「性能保証」・「検収」・「瑕疵担保」について、AI開発契約書で、あらかじめ定めることは難しいといえます。

とはいえ、ユーザとしては、せっかく高い開発費を払ったのに、それに見合ったAIが納品されなかったり、いざAIを利用しようとしたら、不具合で使えなかったのにベンダが一切責任を負わないとすれば、納得できないですよね。

一方で、ベンダとしては、AI開発の特徴を踏まえると、AIが実際に開発してみなければ、どんなものが出来上がるかわからないものである以上、責任は負いかねるというのが本音だと考えられます。

では、AI開発において「性能保証」・「検収」・「瑕疵担保」といった事項を契約書に定めることが困難だとして、実務上は、どのような契約を締結すればいいのでしょうか。

法律上、契約には様々な種類があります。まずは、AI開発に適切な契約を確認していきましょう。

(2)AI開発契約

ユーザがベンダに対して何かの開発を依頼する場合は、「業務委託契約」を締結することが一般的です。この「業務委託契約」には「請負契約」と「準委任契約」の2つがあります。

請負契約」とは、ベンダが仕事の完成(開発を完了)することを約束し、ユーザが仕事の完成に対して報酬を支払う契約のことをいいます。

準委任契約」とは、ベンダの開発行為に対して、ユーザが報酬を支払う契約のことをいいます。

「請負契約」と「準委任契約」の大きな違いは、完成義務を負うか否かという点にあります。完成義務を負うということは、完成しなかった時には完成義務を果たせなかった責任を負い、場合によっては、損害を賠償しなければいけないということを意味しています。

もっとも、AI開発は、実際に開発を始めてみなければ、どんな「学習済みモデル」が出来上がるかわからないばかりか、最悪の場合、「学習済みモデル」自体を完成させることができない場合もあります。

そのため、AI開発においては、完成義務を負う「請負契約」ではなく、完成義務を負わない「準委任契約」がふさわしい場合が多いと考えられます。

そして、準委任契約には、以下で解説する「成果完成型」という種類の契約があります。

①成果完成型準委任契約

成果完成型」とは、一定の成果や結果をだした時点で、報酬を支払うことをいいます。

何をもって成果とするかは、ユーザとベンダ次第であり、学習用データセットの加工完了や学習済みモデルの開発完了など、成果の内容や時期を選択することが可能です。

「請負契約」と似ていますが、あくまでも準委任契約であることから、ベンダに完成義務はありません。

そのため、AI開発をユーザがベンダに依頼する際に成果完成型準委任契約を選択することで、ユーザは、ベンダが何の成果もあげていないのに報酬を支払わなければいけないというリスクを回避でき、ベンダも、成果をあげられなかった場合の責任を回避することが可能です。

なお、民法上、「瑕疵担保」は「請負契約」で定めることになっているため、成果完成型準委任契約においては、「瑕疵担保」を定めないことが一般的となります。

このように、成果完成型準委任契約は、AI開発の特徴を踏まえた、ユーザ・ベンダ双方にとってバランスのよい契約だといえます。もっとも、成果完成型準委任契約は、AIの「性能」についてまで、カバーしていません。

そこで、次の項目では、開発した成果物の「性能」について、契約書でどのように定めればよいか説明していきたいと思います。

※請負契約・準委任契約について、さらに詳しく知りたい方は、「民法改正でシステム開発の何が変わるのか?3つのポイントを徹底解説」をご覧ください。

②評価用データによる性能保証

先に触れたとおり、評価用のデータを用いることで、「学習済みモデル」の性能を検証することは、一定程度可能だと考えられます。

もっとも、ユーザがベンダに対して、「性能保証」を求める場合には、以下のことを行う必要があります。

  • ユーザの事業上で想定される「未知のデータ」と同じ性質をもった評価用データをユーザの費用と責任で用意すること
  • ユーザとベンダ間で、何に対してどのような性能保証を行うのか綿密なコミュニケーションをとり、評価条件を適切に設定すること

ユーザにおいて評価データを用意する必要があるのは、ユーザの事業上で想定される「未知のデータ」は、実際にAIを活用したいユーザでないとわからないことが多いと想定されるからです。

そのため、ユーザは、自身の時間と費用をかけてまでベンダに「性能保証」を求めるかを検討する必要があります。

そして、実際にベンダに性能保証を求める場合、契約書には、

  • 評価用データに限定して学習済みモデルの性能保証を行うこと
  • 評価用データはユーザの費用と責任で用意すること
  • 評価基準や条件

を定めるべきと考えられます。

 

これまで、AI開発契約と従来のシステム開発契約の違いという観点から契約書に定めるべき内容を確認してきました。

もっとも、AI開発契約と従来のシステム開発契約で共通する事項についても、AI開発の特徴を踏まえたうえで、ルールを定めるべきだと考えられます。

次の項目では、AI開発契約と従来のシステム開発契約で共通する「損害」という観点から、契約書で定めるべき内容を解説していきたいと思います。

3 想定されるユーザ側の損害(チェック項目②)

損害

AI開発契約は、既に見たとおり、AIの開発を依頼し、完成したAIを使用するユーザと実際にAIを開発するベンダの間で締結される契約です。AI開発契約において、損害が発生する可能性が高いのは、以下のとおり、ユーザ側となります。

ユーザ側で想定される損害は、

  1. AIの開発過程で生ずる損害
  2. AIの利用から生ずる損害
  3. AIの利用により第三者の知的財産権を侵害したことから生ずる損害

という3つに分けることができます。

以下で、3つの損害について、具体的な事例を使って見ていきたいと思います。

法律の悩みを迅速に解決します。
スタートアップ、IT、先端技術の法律相談なら私たちにお任せください!
豊富な契約書雛形もご用意していますので、IT企業に関わらずお気軽にお問い合わせください。

お問い合わせはこちらから

4 損害①:AIの開発過程で生ずる損害

AI開発過程の損害

    【事例1】ユーザがベンダに人の感情を分析するAIの開発を依頼したケース
    AIを開発する過程で、ベンダが本来ポジティブな感情としてラベルをつけるべき単語に対して、ネガティブな感情のラベルをつけたため、学習のやり直しを余儀なくされ、予定していた納期にAIを納品できなかった

このケースにおいて、仮に、ユーザ・ベンダ間で完成義務を負わない成果完成型準委任契約が締結されていたとしても、ベンダが一切の責任を負わないことにはなりません。なぜなら、準委任契約を締結する場合、ベンダは、「善管注意義務」と呼ばれる義務を負い、この義務に違反した場合は、責任を負うことになっているからです。

善管注意義務」とは、業務を任された人の職業や能力、社会的地位から考えて、通常期待される注意義務のことをいいます。

AI開発を行うベンダが負う善菅注意義務とは、開発の専門家としての専門知識とノウハウに基づき、データを加工するなどして納期までにAIを納品すること(契約を履行すること)であると考えられます。逆にいえば、「善管注意義務」を果たしさえすれば、それ以上の責任を負わないことになります。

【事例1】のケースでは、本来つけるべきラベルとは完全に逆のラベルをつけるというミスによって、納期までにAIを納品できていません。

そのため、ベンダが「善管注意義務」を果たさなかったことにより、ユーザに損害が発生したといえ、ベンダは、ユーザに生じた損害を賠償する責任を負うことになります。

このようにベンダが負う「善管注意義務」を具体的に契約書で定める場合には、以下のように定めることが考えられます。

    第7条(ベンダの義務)
    1 ベンダは、情報処理技術に関する業界の一般的な専門知識に基づき、善良な管理者の注意をもって、本件業務を行う義務を負う。

※出典:「AI・データの利用に関する契約ガイドライン(AI編)」105項(平成30年6月経済産業省)

 

また、「善管注意義務」に違反した場合の「損害賠償」については、以下のように定めることが考えられます。

    第22条(損害賠償)
    1 ユーザおよびベンダは、本契約の履行に関し、相手方の責めに帰すべき事由により損害を被った場合、相手方に対して、損害賠償(ただし直接かつ現実に生じた通常の損害に限る。)を請求することができる。ただし、この請求は、業務の終了確認日から●か月が経過した後は行うことができない。

※出典:「AI・データの利用に関する契約ガイドライン(AI編)」123項(平成30年6月経済産業省)

 

このように、「AIの開発」という場面においては、開発作業を行うベンダの善管注意義務違反が問題になることが多いと考えられます。

一方で、「AIの利用」という場面においては、責任の所在が不明確で、ベンダに責任を負わせることができない場合があります。

5 損害②:AIの利用から生ずる損害

AIの利用から生じる損害

    【事例2】ユーザがベンダに人の感情を分析するAIの開発を依頼したケース
    ユーザがベンダから納品されたAIの利用を開始したところ、ポジティブな文章に対してもネガティブな文章との結果がAIから出力されてしまった。ネガティブな文章として間違って処理された結果、ユーザに損害が発生した

このように、AIを利用した際に、想定どおりの働きをしないケースでは、誰が責任を負うのでしょうか。このようなケースで、ベンダに全ての責任を負わせることは困難であることが多いと考えられます。

なぜなら、生成された学習済みモデルのメカニズムは検証困難であるため、何が原因で想定どおりの働きをしないのかを特定することが困難だからです。

検証が困難となるのは、

  • 学習済みモデルの生成は大量のデータから法則を見つけ出すという方法で行われること
  • 学習済みモデルの性能が生データ、学習用データセット、学習用プログラムなど、複数の要素に依存すること
  • AIから出力される結果は利用段階の入力データの品質に依存すること

といったことが理由です。

そのため、「AIの利用」という場面においては、ベンダは原則責任を負わず、ベンダに非があることが明らかな場合に例外的に責任を負わせるように定めることが考えられます。

具体的な定め方は以下のようになります。

    第20条(本件成果物等の使用等に関する責任)
    ユーザによる本件成果物等の使用、複製および改変、並びに当該、複製および改変等により生じた生成物の使用(以下「本件成果物等の使用等」という。)は、ユーザの負担と責任により行われるものとする。ベンダはユーザに対して、本契約で別段の定めがある場合またはベンダの責に帰すべき事由がある場合を除いて、ユーザによる本件成果物等の使用等によりユーザに生じた損害を賠償する責任を負わない。

※出典:「AI・データの利用に関する契約ガイドライン(AI編)」120項(平成30年6月経済産業省)

 

このようにベンダが原則責任を負わないとの定めをしない場合には、ベンダのユーザに対する賠償額に上限を設けるべきだと考えられます。なぜなら、「AIの利用」の場面では、AIに入力するデータをユーザが選んでいることから、すべての責任をベンダに負わせるのは妥当ではないからです。

契約書で定める際には、具体的には、以下のように、ユーザからベンダに支払われる「委託料を限度」とすることが考えられます。

    第22条(損害賠償)
    2 ベンダがユーザに対して負担する損害賠償は、債務不履行、法律上の瑕疵担保責任、知的財産権の侵害、不当利得、不法行為その他請求原因の如何にかかわらず、本契約の委託料を限度とする。

※出典:「AI・データの利用に関する契約ガイドライン(AI編)」123項(平成30年6月経済産業省)

 

このように、「AIの利用」の場面では、AIの検証の困難性を踏まえた定めをする必要があります。

もっとも、「AIの利用」の場面においては、他にも、「知的財産権侵害」に関してユーザとベンダの意見が対立し、トラブルとなる可能性があります。

6 損害③:AIの利用により第三者の知的財産権を侵害したことから生ずる損害

知的財産権の侵害

    【事例3】
    ユーザがベンダから納品されたAIを企業向けに販売したところ、ベンダが生成したAIに他社の知的財産権が含まれていたため、ユーザが知的財産権の権利者から知的財産権侵害に基づく損害賠償請求をされたケース

知的財産権」とは、知的創造活動によって生み出されたものを、一定期間、創作した人の財産として保護する権利のことをいいます。たとえば、「特許権」、「実用新案権」、「意匠権」、「商標権」、「著作権」などがあり、AI開発との関係では、特に「特許権」と「著作権」が問題となります。なぜなら、学習用プログラムなどは著作権で、また、学習用データセットへの加工ノウハウや学習方法などは特許権で保護される可能性があるからです。著作権や特許権で保護されたものを権利者の許諾を受けずに使った場合、知的財産権侵害となります。

AIを利用する局面では、【事例3】のケースのように、知的財産権侵害が問題となる場合が想定されるため、ユーザとベンダの間で、誰が何を保証し、誰がどういった責任を負うのかを契約書で明確にしておくべきだといえます。

契約書上での定め方としては、

  1. 一切保証をしない
  2. 著作権を侵害しないことのみ保証する
  3. 知的財産権のすべてを侵害しないことを保証する

という3つが考えられます。

(1)一切保証をしない

ユーザとしては、知的財産権を侵害していないAIを納品して欲しいと思うかもしれませんが、ベンダが海外特許なども網羅する形で侵害の有無を確認することは、費用との関係で困難だと言わざるを得ません。そのため、ベンダにおいて「一切保証しない」ということを契約書に定めることが考えられます。

具体的には、以下のように定めることが考えられます。

    第21条(知的財産権侵害の責任)
    ユーザが本件成果物等の使用等に関し第三者から知的財産権の侵害の申立を受けたとしても、ベンダは一切責任を負わないものとする。

(2)著作権を侵害しないことのみを保証する

著作権を侵害していないことのみを保証する」というように、他の知的財産権と分けて著作権にかぎって侵害しないことを保証できるのは、著作権侵害が「依拠性」を条件としており、侵害をしているか否かを、ベンダが簡単に判断できるからです。ここでいう「依拠性」とは、他人の著作物(プログラムなど)をこっそり使っちゃえといったように、他人の著作物の内容を知ったうえで、その内容をベースに著作物を生み出していることをいいます。

つまり、他人の著作物の内容を一切知らず、作成した著作物が偶然他人の著作物と一致してしまった場合は著作権侵害にはならないため、ベンダが、意図して他人の著作物を使用しない限りは、著作権を侵害していないことを保証できるわけです。

契約書上では、以下のとおり定めることが考えられます。

    第21条(知的財産権侵害の責任)
    【B案】ベンダが知的財産権非侵害(著作権を除く)の保証を行わない場合
    1 本件成果物等の使用等によって、ユーザが第三者の著作権を侵害したときは、ベンダはユーザに対し、第 22 条(損害賠償)第 2 項所定の金額を限度として、かかる侵害によりユーザに生じた損害(侵害回避のための代替プログラムへの移行を行う場合の費用を含む。)を賠償する。ただし、著作権の侵害がユーザの責に帰する場合はこの限りではなく、ベンダは責任を負わないものとする。

※出典:「AI・データの利用に関する契約ガイドライン(AI編)」120~121項(平成30年6月経済産業省)

 

この案では、知的財産権のうち、ユーザが第三者の著作権を侵害することとなった場合にのみベンダが損害を賠償するよう定められています。

そのため、ベンダにおいて著作権を侵害しないことのみを保証していることになります。

ここでいう「ユーザの責に帰する場合」とは、たとえば、ユーザが指定したプログラムを用いてAIの開発を行ったところ、そのプログラムの権利者から、「利用を許諾した覚えはなく知的財産権侵害だ」と指摘された時のように、ユーザに非がある場合のことをいいます。

(3)知的財産権のすべてを侵害しないことを保証する

ユーザがベンダに対して、「知的財産権のすべてを侵害しないことを保証する」という責任を負わせるということは、ユーザは、AI開発の時間に加え、調査に必要な時間も考慮しなければならないうえ、調査費用も踏まえた対価を支払うことを認識する必要があります。

そのため、ユーザは、時間をかけて調査する必要があるのか、調査するとしてどこまでの範囲を調査するのか、調査費用をどこまで負担できるのかなどについて検討する必要があります。

具体的に契約書で定める場合は、以下のようになります。

    第21条(知的財産権侵害の責任)
    【A-1 案】ベンダが知的財産権非侵害の保証を行う場合(ユーザ主導)
    1 本件成果物等の使用等によって、ユーザが第三者の知的財産権を侵害したときは、ベンダはユーザに対し、第 22 条(損害賠償)第 2 項所定の金額を限度として、かかる侵害によりユーザに生じた損害(侵害回避のための代替プログラムへの移行を行う場合の費用を含む。)を賠償する。ただし、知的財産権の侵害がユーザの責に帰する場合はこの限りではなく、ベンダは責任を負わないものとする。

※出典:「AI・データの利用に関する契約ガイドライン(AI編)」121項(平成30年6月経済産業省)

 

なお、上記はあくまでも例であり、万が一知的財産権の侵害があった場合、ユーザとベンダのどちらが主体となって解決するのか、また、損害賠償の上限をどうするかは、ユーザとベンダで決めて契約書で定めることになります。

7 小括

まとめ

AIの開発・利用の過程では、様々なリスクが想定されます。もっとも、AI開発の特徴を理解していないために、従来のシステム開発契約書を使いまわしている例があります。このことが原因となって、契約を締結しているのに、全くリスクヘッジができていないというケースもあります。

AI開発契約を締結するにあたっては、、ユーザ・ベンダの双方がAI開発の特徴を理解し、リスクヘッジのためにはどのような条項を定めるべきかという点について共通の理解を持つことが重要であるといえます。

8 まとめ

これまでの解説をまとめると、以下のようになります

  • 「AI開発契約」とは、AIを使いたいユーザがAI開発のプロであるベンダに開発を依頼する際に、ユーザとベンダの間で結ばれる契約のことである
  • AI開発契約と従来のシステム開発契約の違いは、①性能保証、②検収、③瑕疵担保という3つの点であり、AI開発の特徴が原因で生じる違いである
  • AI開発は、①AIの性能・挙動の予測が困難であること、②何が不具合かはっきりしないこと、③性能の検証に工夫が必要であることといった3つの特徴をもっている
  • AI開発契約は、成果完成型準委任契約を締結することが適切な場合が多い
  • 評価用のデータを用いることで、「学習済みモデル」の性能の検証は、一定程度可能である
  • ベンダは、成果完成型準委任契約を締結した場合でも、善管注意義務を負う
  • AIの利用という場面では、ベンダは原則責任を負わず、ベンダに非があるときだけ責任を負うように契約書で定めることが考えられる
  • AIの知的財産権侵害の責任については、ベンダは、①一切保証しない、②著作権を侵害しないことのみ保証する、③知的財産権のすべてを侵害しないことを保証するという3つが考えられる