はじめに
「Moodleで教材を作るのに時間がかかる」「学習者がコンテンツをうまく自分で整理できていない」
そんな悩みを抱えるMoodle管理者・教材開発担当者の皆様。
Moodle 4.5からAI機能が標準搭載され、ChatGPT(OpenAI API)と連携することで、エディタでのテキスト生成やコースコンテンツの自動要約が使えるようになります。
まずは基本的なAI連携の仕組みを理解しましょう。
1. Moodle 4.5のAI機能とは?
AI subsystemという仕組み
Moodle 4.5(2024年10月リリース)で導入されたAI subsystemは、外部のAIサービスとMoodleをつなぐ橋渡し役です。この仕組みは3つの部品で成り立っています。
- Provider(プロバイダー):実際にAI処理を行うサービス。今回はOpenAI(ChatGPT)を使います
- Action(アクション):テキスト生成・要約・画像生成など、AIにやってもらうこと
- Placement(配置):AIを使える画面の場所。テキストエディタやコースページなど
Moodleはどのプロバイダーにも依存しない設計になっています。Moodle 4.5 では Open AI以外にAzure AIが標準で用意されています。Moodle.org のプラグインディレクリには、Claude や Gemini、Amazon Bedrock などのAIプロバイダーも公開されています。
何ができるのか?
今回の設定で使えるようになる機能は2つです。
① テキスト生成(Text Editor)
教材を編集中のエディタで✨ボタンをクリックし、プロンプト(AIへの指示文)を入力すると、AIが文章を生成してくれます。
② コンテンツ要約(Course Assistance)
「ページ」アクティビティや、小テストのフィードバックなど、コース内に表示されるテキストを学習者が閲覧すると、画面右側に「AI要約」パネルが自動表示されます。長い説明文も、ボタンひとつで要点をまとめてくれます。
誰にとって嬉しいのか?
教員・インストラクショナルデザイナー
テキストのたたき台をAIに作らせることで、教材開発のスピードが上がります。「コンプライアンス研修の導入文を300字で」「この章のまとめを箇条書きで」といった指示をエディタ内で直接入力できます。
学習者
長いコンテンツを自分のペースで要約できるため、「まず全体像を把握してから詳しく読む」「復習時に要点だけ確認する」といった使い方ができます。
管理者・導入担当者
設定はすべてMoodleの管理画面から行え、プラグインの追加インストールは不要です(OpenAIとAzureAIのAPIプロバイダは標準機能として搭載済み)。
2. OpenAI APIとは?「ChatGPT」との違い
「ChatGPT」はブラウザで使う対話型インターフェースです。一方、OpenAI APIは同じAIモデルをプログラムから呼び出せるサービスです。
| 用途 | 利用するAIの種別 |
|---|---|
| 一般ユーザーが使う | ChatGPT(chat.openai.com) |
| Moodleのようなシステムから呼び出す | OpenAI API(api.openai.com) |
どちらも裏側では同じGPTモデルが動いていますが、APIを使うことでMoodle上で直接AI機能を呼び出せるようになります。
3. 料金の目安
OpenAI APIは使った量だけ課金される従量制です。ChatGPTのサブスクリプション(月額固定)とは別の料金体系になります。
料金の仕組み(トークンとは?)
AIは文章を「トークン」という単位で処理します。日本語では1文字≒1〜2トークンが目安です。
主なモデルの料金(2025年時点)
Moodle 4.5でのテキスト生成の用途に使えるモデルの料金は以下の通りです。
| モデル | 入力(1Mトークンあたり) | 出力(1Mトークンあたり) | 特徴 |
|---|---|---|---|
| gpt-4o-mini | $0.15 | $0.60 | コスパ最良・Moodle推奨 |
| gpt-4o | $2.50 | $10.00 | 高性能・高コスト |
| gpt-4.1 | $2.00 | $8.00 | バランス型 |
Moodle 4.5での利用ではgpt-4o-miniが最もおすすめ
テキスト生成・要約用途なら十分な性能があり、コストを大幅に抑えられます。100名の学習者が毎日10回AIを使っても、月額数百円程度に収まるケースがほとんどです。
具体的なコストイメージ
1回のテキスト生成(プロンプト200字+生成300字)の場合:
- 入力:約400トークン → $0.00006(約0.009円)
- 出力:約600トークン → $0.00036(約0.054円)
合計:約0.06円/回
100名 × 10回/日 × 20日 = 20,000回/月 → 約1,200円/月
画像生成は大幅に高価なため、本記事では画像生成は対象外としました。
APIの利用にはOpenAIへのクレジットカード登録と事前のチャージが必要です。無料枠は新規登録時の試用期間のみ提供されます。
4. OpenAI APIキーの取得手順
4-1. OpenAIアカウントの作成
OpenAIのAPIプラットフォームにアクセスします:
ChatGPTのアカウント(chat.openai.com)とAPIプラットフォーム(platform.openai.com)は別物です。ChatGPTアカウントをお持ちでも、API用の登録・支払い設定が別途必要です。
4-2. クレジットの追加(課金設定)
APIを使うには事前にクレジットをチャージする必要があります。
platform.openai.com にログイン
→ 左メニュー「Billing」
→「Add to credit balance」
→ 金額を入力してクレジットカードで支払い
テスト目的であれば$5(約750円)から始められます。
4-3. APIキーの発行
左メニュー「API keys」
→「Create new secret key」
→ 名前を入力(例:Moodle-rublix)
→「Create secret key」
→ 表示されたキー(sk-...)をコピーして安全な場所に保存しておきます。
APIキーは作成直後にしか表示されません。 必ずこの時点でコピーして、安全な場所に保存してください。後から確認することはできません。
4-4. 使用量の上限設定(推奨)
予期せぬ高額請求を防ぐため、上限を設定しておくことをおすすめします。
左メニュー「Limits」
→「Monthly budget」に上限金額を入力
→ 例)$10(約1,500円)
5. Moodle側の設定
5-1. AIプロバイダーの設定
管理者アカウントでMoodleにログインし、以下にアクセスします。
サイト管理 → 一般 → AI → AIプロバイダ
→ 「OpenAI APIプロバイダ」を選択し、有効のスイッチをON
→ 設定をクリックします。
5-2. APIキーの入力
プロバイダー設定画面が表示されます。
| 項目 | 値 |
|---|---|
| OpenAI APIキー | 取得したsk-...のキーを入力 |
| OpenAI組織ID | 通常は空欄でOK |
「変更を保存する」をクリックします。
5-3. アクションの設定
プロバイダー設定画面の「アクション」セクションで、**「テキストを生成する」行の「設定」**をクリックします。
| 項目 | 値 |
|---|---|
| AIモデル | gpt-4o-mini |
| APIエンドポイント | デフォルトのまま(変更不要) |
続いて 「テキストを要約する」行の「設定」 も同様に設定します。
| 項目 | 値 |
|---|---|
| AIモデル | gpt-4o-mini |
| APIエンドポイント | デフォルトのまま |
画像生成(DALL-E)はコストが高いので、学習コンテンツ用途に限るのであれば「イメージを生成する」はOFFのままにしておいた方が良いかもしれません。
5-4. プロバイダーのトグルをONに
サイト管理 → 一般 → AI → AIプロバイダ
→ OpenAI APIプロバイダのトグルを有効(ON)に
5-5. AI配置の有効化
サイト管理 → 一般 → AI → AI配置
以下の2つをONにします。
| 配置(Placement) | 機能 |
|---|---|
| Text Editor | エディタ内でのテキスト生成 |
| Course Assistance | コースページでの要約 |
Course AssistanceのトグルをONにした後、「設定」をクリックして「テキストを要約する」もONにして保存します。
画像生成(DALL-E)のAPIプロバイダをOFFにしたため、「イメージを生成する」機能はONにできないようになっています。
6. 動作確認
テキスト生成(TinyMCEエディタ)
- 任意のコースを開き、編集モードをON
- 「テキストとメディア」などのリソースを追加・編集
- TinyMCEのツールバーに ✨アイコン が表示される
- クリック →「テキストを生成する」を選択
- プロンプトを入力して送信
初回利用時はAI利用ポリシーへの同意画面が表示されます。 「承認する」をクリックしないとAI機能が使えません。学習者も初回は同意が必要です。
AI要約(Course Assistance)
Course Assistanceの 要約ボタン はコース内の任意のページで使用できます。ページ活動、クイズ、ディスカッション(フォーラム)などに表示されます。
ここでは、ページ活動でテストしてみましょう。
- コースに「ページ」活動を作成してテキストを入力・保存
- 閲覧モード(編集モードOFF) でページを開く
- 画面右側に「AI要約」パネルが表示される
- 「要約」ボタンをクリック
確認されている表示箇所は以下のとおりです。
| 場所 | ボタンの有無 | 補足 |
|---|---|---|
| ページ活動(mod/page) | ✅ 表示 | 本文テキストが要約対象 |
| クイズ(mod/quiz) | ✅ 表示 | 問題本文・説明文が対象だが内容が乏しいことも |
| フォーラム(mod/forum) | ✅ 表示 | 投稿・説明文が対象 |
| コーストップページ(course/view.php) | ✅ 表示 | セクション説明などが対象 |
| その他コース内活動全般 | ✅ 表示(設計上) | コンテキストがCOURSE/MODULE以上であれば表示 |
7. よくあるトラブル
✨ボタンが表示されない
- AI配置でテキストエディタ配置のトグルがオンになっているか確認
- OpenAI APIプロバイダーのトグルがオンになっているか確認
- TinyMCEのキャッシュをクリア:
サイト管理 → 開発 → キャッシュを削除する
「このアクションのために設定されたAIプロバイダはありません」
AI配置の設定画面に表示されるこのエラーは、プロバイダーのアクションが有効化されていない状態です。セクション5-3に戻り、「テキストを生成する」のトグルがONになっているか確認しましょう。
AI要約パネルが表示されない
- 閲覧モードで開いているかを確認します。編集モードでは表示されません。
-
サイト管理 → 開発 → キャッシュを削除するを実行してみる。
8. セキュリティと運用上の注意
データの取り扱い
OpenAI APIを使う場合、Moodleから送信したテキストはOpenAIのサーバーで処理されます。
- 学習者の個人情報(氏名・成績・ID等)が含まれないよう運用設計する
- OpenAIのAPIデータポリシー(opt-out設定)を確認する
- 機密情報・社外秘情報を含むコンテンツは要注意
学習者データの外部送信が懸念される場合は、**ローカルLLM(Ollama)**を使うことでこの問題を解決できます。ローカルLLMの実装方法はまたいつか記事にします。
レート制限の設定
大人数の学習者が一斉にAIを使うと、APIコストが急増する可能性があります。
サイト管理 → 一般 → AI → AIプロバイダ
→ プロバイダーの設定
→「グローバルレート制限を設定にする」「ユーザーレート制限を設定にする」
まとめ
Moodle 4.5 × OpenAI APIの連携は、プラグインの追加なしに管理画面だけで完結します。
| 手順 | 内容 |
|---|---|
| 1 | OpenAI APIキーを取得 |
| 2 | AIプロバイダーを作成してAPIキーを入力 |
| 3 | アクションのエンドポイント・モデルを設定 |
| 4 | AI配置を有効化 |
コストを抑えるにはgpt-4o-miniモデルが最適です。まず小規模なテスト環境で試してから、本番運用へと移行することをおすすめします。
次回予告
第二弾:Moodle 4.5 × ローカルLLM(Ollama)でAI機能を完全内製化する方法
- データを外部に一切送信しない
- APIコストがゼロ
- オンプレミスサーバーやミニPCで動作
個人情報・機密情報を扱う教育機関・企業研修での導入に最適な構成を紹介しますのでお楽しみに。
参考リンク
※ この記事は Zenn (rublix) にも投稿しています。

















