こんにちは、Classiのコンテンツディレクターの岩崎・北川とデータサイエンティストの高木です。
EdTechにおいて、「質の高い学習コンテンツ」を「必要な量だけ」「スピーディ」に届けることは、常に最大の課題の一つです。特に高校数学の「数学III」のような専門性が高く、複雑な数式やグラフ描画を伴う科目は、制作難易度が極めて高く、コストも時間もかかるのがこれまでの常識でした。
今回、私たちはGoogleの生成AIモデル「Gemini 2.5 Pro」を活用し、制作フローを根本から見直し、トータルコストを従来の約90%コストカットしました。
本記事では、このプロジェクトを推進した「コンテンツ制作チーム」と、技術実装を担った「データサイエンティスト」の共同執筆という形で、ビジネス・技術の両側面からその裏側をご紹介します。
【Part 1】ビジネス課題とインパクト
なぜ「数学III」でAI活用に踏み切ったのか
Classiには、生徒の自主学習や先生の課題配信を支援する「学習トレーニング」という機能があります。数IA・IIBについてはコンテンツが充実していましたが、理系生徒にとって重要な「数III」に関しては、授業理解課題やおすすめ演習などが未対応の状態でした。
しかし、数IIIの制作には「コスト」と「期間」という2つの大きな壁が立ちはだかっていました。
- 高額な制作費: 難易度が高いため単価が上がりやすく、特に「原稿執筆」の工程だけでコスト全体の7割強を占める構造でした。
- 長いリードタイム: 制作開始からリリースまで、通常5〜6ヶ月を要します。
「コストを抑えつつ、いち早く生徒にコンテンツを届けたい」。
その解決策として私たちが選んだのが、従来の専門家が執筆するフローを刷新し、「生成AIに原稿執筆と図版作成を代替させ,専門家が品質のコントロールをする」というチャレンジでした。
フローの変革:AIで「工程の前倒し」と「統合」を実現
従来の制作フローでは、「原稿執筆(社外の専門家)」→「社内チェック」→「図版作成(パートナー企業)」…と、各工程が直列に進み、その都度やり取りが発生していました。
今回構築した新フローでは、生成AIに「執筆」だけでなく「図版作成」までを行わせ、さらにCMS(入稿システム)へ直接取り込めるデータ形式で出力させることにしました。これにより、執筆・図版・データ化の工程を一気に統合・短縮することに成功しました。

成果:執筆費0円、期間半減
この挑戦の結果、全421問の制作において以下の成果を上げることができました。
- コストの大幅削減:
もっともコストがかかっていた原稿執筆費を 0円(100%削減) にしました。図版作成費なども含めたトータルコストでは、従来の見積もりから、約90%のコストカットに成功しています。 - リードタイムの短縮:
通常5〜6ヶ月かかっていた制作期間を、約2.5ヶ月へと半減(50%圧縮)させることができました。
「数学III」という制作難度の高い科目でこのモデルを確立できたことは、今後の他教科展開に向けて大きな自信となりました。
【Part 2】Gemini 2.5 Proによる「作問エンジニアリング」の実践
ここからは、「どうやって実用レベルの数学問題を生成したのか」、技術的な工夫について解説します。
生成フローの概要
使用したモデルは gemini-2.5-pro です。
私たちは「ゼロから新しい問題を作らせる」のではなく、「既存の問題(Classiに既に搭載されている問題)をベースに、条件を変えた類題を生成させる」というアプローチを取りました。
構築した生成フローは、具体的に以下のようなループ処理を行っています。
- 執筆ルールの読み込み: 教科共通ルールや、数III独自の記法ルールをインプット。
- 類題生成: 既存問題を参照させながら、指定した難易度・形式で問題を生成。
- 画像生成・修正: 問題に図版が含まれる場合、描画用のコードを出力させ、修正ループを回す。

しかし、単にプロンプトを投げるだけでは、高品質なコンテンツは作れません。特に苦労した「数式」と「図版」のプロンプトエンジニアリングを紹介します。
1. 解説中の数式の品質向上(Few-Shot プロンプト)
初期のトライアルでは、数式の計算過程に日本語の説明文が混ざり込んでしまい、可読性が悪い(数式として美しくない)出力が多発しました。
そこで、プロンプト内に「悪い例」と「良い例」を具体的に提示(Few-Shot)し、出力スタイルを厳密に制御しました。
▼ プロンプトのイメージ
- 出力制約(Few-Shot):
- 【悪い例】計算過程に「〜なので、」「〜を代入して」といった日本語説明が混ざっているパターン
- 【良い例】数式のみが改行で美しく記述されているパターン
このように「やってはいけないこと」と「やるべきこと」をセットで渡すことで、AIは期待通りのフォーマットを遵守してくれるようになります。
2. 図版生成における「重なり」の回避ロジック
数学IIIのグラフ作成で最大の壁となったのが、「グラフの線と数値ラベルが重なって文字が読めなくなる」という問題です。
「重ならないようにして」という抽象的な指示では解決しなかったため、私たちは「描画コード上でどう処理すべきか」を言語化してプロンプトに組み込みました。
具体的には、グラフ描画ライブラリを利用する際、線の向き(上向き・下向き)に応じて、ラベルの配置座標(オフセット)を調整するロジックを指示しています。

▼ プロンプトに含めたロジックの要約
- 座標の特定: 描画コード内で定義されている要素の座標(テキスト配置位置など)を特定させる。
- 条件分岐: 垂線の描画方向(Yの値が正か負かなど)を判定させる。
- オフセットの適用:
- 垂線が下向きの場合 → ラベルをX軸の「上」に配置(正のオフセット)
- 垂線が上向きの場合 → ラベルをX軸の「下」に配置(負のオフセット)
このように、プロンプトの中で「プログラミング的な条件分岐」を定義してあげることで、AIによる図版生成の精度を劇的に向上させることができました。
3. AIと人の役割分担
もちろん、すべての問題がAIだけで完ぺきに仕上がるわけではありません。どうしてもAIでは修正しきれない複雑な図版の微調整などは、無理に自動化せず「人による修正」フローに回しました。
「AIですべてを完結させる」ことに固執せず、リスクの高い箇所に当たりをつけてトライ&エラーを繰り返し、「AIが得意な量産」と「人が得意な仕上げ」を組み合わせたことが、プロジェクト成功の鍵だったと考えています。
4. 生成AI活用における「著作権リスク」へのアプローチ
AIによるコンテンツ生成で、技術と同じくらい重要なのが「著作権侵害リスク」への対策です。 「AIがネット上の他人の著作物を勝手に学習・模倣してしまうのではないか?」という懸念に対して、本プロジェクトでは以下の2つのアプローチでリスクを最小化しました。
- 「自社教材」のみを元ネタにする: AIにゼロから作らせるのではなく、権利関係がクリアな「Classiの既存問題(自社教材)」をプロンプトに含め、それをベースに類題を生成させる手法(Few-Shot)をとりました。これにより、意図しない外部データの混入を防いでいます。
- ツールによる剽窃(ひょうせつ)チェック: 生成されたテキストに対して、剽窃チェックツール(コピペリン)を使用し、既存のWebコンテンツや他社教材と酷似していないかを確認するフローを組み込みました。
今回は「数学」という、比較的表現の幅が限定的で著作権リスクが低い教科特性もありましたが、今後、英語や国語などの長文コンテンツへ展開する際には、より慎重な権利確認プロセスを設計していく予定です。
おわりに:今後の展望
今回のプロジェクトを通じて、制作難易度の高い数IIIにおいても生成AI活用が十分に実用的であり、コスト・スピードの両面で劇的な成果を生み出せることが証明されました。 今後はこの成功モデルをベースに、以下の2つの軸でプロジェクトを発展させていく予定です。
- 他教科・他単元への横展開
今回のスキームを数学の他単元はもちろん、英語や国語といった他教科へも展開し、全社的なコンテンツ制作のコスト削減・工期短縮を目指します。もちろん、教科ごとの特性に合わせ、著作権リスクや品質基準を慎重に見極めながら適用範囲を広げていきます。 - 生成フローのさらなる「高度化と効率化」
数IIIでの成功の一方で、複雑なグラフ描画の微調整や、数学的な厳密性の担保においては、まだ人の手による修正やチェックが必要な場面も残りました。 今後は、取り込み資料やプロンプトのさらなる磨き込みによる精度向上はもちろん、「AIの出力結果を別のAIがチェック・修正する」といったマルチエージェント的なフローの導入も検討しています。 AI自身に品質管理の一部を担わせることで、人の介在コストを極限まで下げ、よりスピーディに、より高品質な学習コンテンツを生徒たちに届けられる体制を構築していきます。