「AIの先生と生徒が同じ教室にいて、こちらが分からないと言えば別の説明に切り替える」——OpenMAIC が掲げるのはそういう学習体験だ。清華大学の THU-MAIC が2026年3月に公開し、半年で GitHub star 33,026・fork 5,367 まで伸びている。ただし日本語の解説はほぼ無く、リポジトリ名で検索しても上位はすべて英語圏の記事だった。そこで、READMEの主張をなぞる代わりに、導入に本当に必要なもの・教室の実体・ライセンスの履歴を手元で数え直した。なお各種フレームワークとの位置関係を先に掴みたい場合は、AIエージェントフレームワーク比較2026|LangGraph・CrewAI・Dify等9種をStar数・実コードで検証 を先に読むと、本記事の位置づけが分かりやすい。
- 正体はNext.js 16 / React 19 のWebアプリ。「教室」はAIが生成するスライド・小テスト・対話シーンの集合体で、pnpm ワークスペース9個・npm公開パッケージ6個から成る。
- 「ワンクリック」の内訳:
.env.exampleのAPIキー用環境変数は実測50種。1つのLLMキーで起動はするが、音声・画像・動画・検索はそれぞれ別キーを要求する。 - 教室の実体は Agent Skills 24本。name+description だけで 2,722トークン(cl100k_base)、1本あたり113.4トークンで、科学スキル163本(90.6)より25%重い。
- ライセンスは途中で変わった。v0.2.2 までAGPL-3.0、v0.3.0(2026-06-29)以降がMIT。それ以前に切ったフォークはAGPLのまま残る。
- Node要件は関門ではない。engines は
>=22.19.0だが pnpm は警告のみで、v22.13.1 でも2,529パッケージの導入が終了コード0で完走した。 - 未検証の範囲を明示:課金を伴う教室生成そのものは実行していない(記事後半で線引き)。
OpenMAICとは——「多エージェント教室」の実体はNext.jsアプリ
名前の MAIC は Multi-Agent Interactive Classroom の頭字語で、日本語にすれば「多エージェント対話型教室」になる。学習者がトピックを入力するか手持ちの資料を添付すると、AIが講義スライド・小テスト・対話シーンを生成し、先生役と生徒役に分かれた複数のエージェントがその教室を進行する、というのが売りだ。
ただしリポジトリを開いて最初に分かるのは、これが教育研究のスクリプト集ではなく普通のWebアプリケーションだということだ。ルートには next.config.ts / middleware.ts / playwright.config.ts / vitest.config.ts が並び、pnpm-workspace.yaml が9個のワークスペースを束ねている。npm へ公開されているパッケージも6個ある。
| 項目 | 実測値(2026-09-08) | 確認方法 |
|---|---|---|
| GitHub star | 33,026 | GitHub REST API |
| fork | 5,367 | 同上 |
| 公開日 | 2026-03-11 | 同上(created_at) |
| 最終 push | 2026-09-06 | 同上(pushed_at) |
| ライセンス | MIT(v0.3.0以降) | 各タグの LICENSE を取得 |
| 現行バージョン | v1.0.1(2026-09-06) | Releases API |
| リリース数 | 10本(約6か月) | 同上 |
| Open Issue | 172件 | Search API(is:issue) |
| Open PR | 68件 | Search API(is:pr) |
| ワークスペース | 9個 | pnpm-workspace.yaml |
| npm公開パッケージ | 6個(dsl / editor / generation / importer / renderer / storage) | packages/@openmaic/ |
ここで1つ注意がある。GitHub API の open_issues_count は 240 を返すが、これは Issue と Pull Request の合算値だ。Search API で分けると Issue 172件・PR 68件になる。「未解決Issueが240件ある」と書くと3割ほど水増しになるので、この数字を引用するときは必ず分けて数えたい。
背景には査読論文がある——ただし略語の展開が食い違う
このプロジェクトには学術的な出自がある。READMEのバッジから辿れる論文は “From MOOC to MAIC: Reimagine Online Teaching and Learning Through LLM-Driven Agents”(Journal of Computer Science and Technology, Vol.41 Issue 1, 2026年1月, DOI: 10.1007/s11390-025-6000-0)で、清華大学で 500名以上の学生・10万件超の学習ログを用いた予備実験が報告されている。単なる思いつきのデモではなく、AI 授業の運用データを取った上で公開されている、という点は評価してよい。
ただし細かいが無視できない食い違いがある。論文側の MAIC は “Massive AI-empowered Course”(大規模AI強化コース)であるのに対し、リポジトリの説明文は “Multi-Agent Interactive Classroom”(多エージェント対話型教室)と展開している。同じ4文字が別の言葉に開かれているので、論文を引用しながらリポジトリを説明する際は、どちらの定義を指しているのかを明示しないと話が噛み合わなくなる。実装リポジトリのほうが後発なので、本記事では以降もリポジトリ側の定義を使う。
@openmaic/generation"] GEN --> DSL["授業DSL
@openmaic/dsl"] DSL --> R["レンダラ
@openmaic/renderer"] R --> CLS["教室シーン
スライド / 小テスト / 対話 / PBL"] SK["同梱スキル 24本
feynman-learning ほか"] --> GEN LLM["LLMプロバイダ
環境変数で選択"] --> GEN CLS --> EXP["書き出し
pptx / html"]
実測①:OpenMAICのライセンスはAGPL-3.0からMITへ——フォーク5,367本が同じ条件とは限らない
READMEの News 欄には、v0.3.0 で「relicensing from AGPL-3.0 to MIT」と1行だけ書かれている。これは利用条件を根本から変える変更なので、実際にタグごとの LICENSE を取得して確認した。
| タグ | 公開日 | LICENSE 冒頭 |
|---|---|---|
| v0.1.0 | 2026-03-26 | GNU AFFERO GENERAL PUBLIC LICENSE |
| v0.2.0 | 2026-04-19 | GNU AFFERO GENERAL PUBLIC LICENSE |
| v0.2.2 | 2026-06-02 | GNU AFFERO GENERAL PUBLIC LICENSE |
| v0.3.0 | 2026-06-29 | MIT License |
| v0.3.2 | 2026-08-14 | MIT License |
| v1.0.1 | 2026-09-06 | MIT License |
境界は v0.3.0 で、そこから MIT になっている。実務上の意味は小さくない。AGPL-3.0 はネットワーク越しに提供する場合でもソース開示義務が生じるライセンスで、社内SaaSや受託案件に組み込む判断はMITとまったく別物になる。
そして OpenMAIC にはフォークが5,367本ある。公開が2026-03-11、MIT化が2026-06-29なので、リポジトリの寿命のうち最初の3か月半はAGPL期間だった。その期間に切ったフォークや、packages/@openmaic/* をベンダリングしたコードは、手元のコピーがAGPL-3.0のままである。上流が後からMITへ変えても、すでに配布済みの版の条件が遡って書き換わるわけではない。自社のリポジトリに OpenMAIC 由来のコードがある場合は、git log で取り込み時期を確認し、必要なら v0.3.0 以降を取り直すのが安全だ。
なお、同じ「READMEのライセンス表記だけを信じない」という教訓は、AITuberKitとは?MITではない商用ライセンス料金と開発停止・再開の実測、対応モデルとAIキャラ設定まで でも実測している。表示上のバッジ1個と、タグを遡って読んだ LICENSE の実体はしばしば食い違う。
実測②:「ワンクリック」の内訳——環境変数50種とNodeの関門
READMEの Highlights 先頭は「One-click lesson generation」だ。起動手順そのものは確かに短い。
git clone https://github.com/THU-MAIC/OpenMAIC.git
cd OpenMAIC
pnpm install
cp .env.example .env.local # ここでAPIキーを入れる
pnpm dev
問題は4行目だ。.env.example に含まれるAPIキー用の環境変数を数えると50種あった。内訳を分類するとこうなる。
・LLM本体(OPENAI / ANTHROPIC / GOOGLE / GROK / DEEPSEEK / QWEN / GLM / KIMI / DOUBAO / MINIMAX / TENCENT / XIAOMI / BAIDU / OPENROUTER / SILICONFLOW / ATLASCLOUD / AZURE_OPENAI)
・音声認識 ASR(ASR_OPENAI / ASR_AZURE / ASR_QWEN)
・音声合成 TTS(TTS_OPENAI / TTS_AZURE / TTS_ELEVENLABS / TTS_MINIMAX / TTS_DOUBAO / TTS_QWEN / TTS_GLM)
・画像生成(IMAGE_OPENAI / IMAGE_GROK / IMAGE_MINIMAX / IMAGE_SEEDREAM / IMAGE_QWEN_IMAGE / IMAGE_NANO_BANANA)
・動画生成(VIDEO_SORA / VIDEO_VEO / VIDEO_KLING / VIDEO_MINIMAX / VIDEO_SEEDANCE / VIDEO_GROK / VIDEO_HAPPYHORSE)
・Web検索(TAVILY / BRAVE / EXA / BOCHA / WEB_SEARCH_CLAUDE / WEB_SEARCH_DOUBAO / WEB_SEARCH_MINIMAX)
・PDF解析(PDF_MINERU / PDF_MINERU_CLOUD / PDF_UNPDF)
READMEは「All providers are optional(1つあればよい)」と明記しているので、50種すべてが必須という意味ではない。ただし「エージェントが図を描き、声に出して説明する」「動画を生成する」といったHighlightsの各項目は、それぞれ対応するカテゴリのキーを入れて初めて動く。ワンクリックで手に入るのは骨格であって、READMEのスクリーンショットに映っている全部ではない、と読むのが正確だ。
Node 22.19 の要件は「関門」ではなく「助言」だった
package.json の engines は {"node": ">=22.19.0"} と書かれている。手元の Node は v22.13.1 で要件を満たしていない。ここで止まるのかを実際に試した。
node -v # v22.13.1(要件 >=22.19.0 に未達)
pnpm install --ignore-scripts
結果は次のとおりで、警告は出るが導入は完走した。
WARN Unsupported engine: wanted: {"node":">=22.19.0"} (current: {"node":"v22.13.1","pnpm":"10.28.0"})
Packages: +2529
(終了コード 0)
つまり engines フィールドは入口を塞ぐ関門ではなく助言として働いた。これは OpenMAIC 固有の話ではなくパッケージマネージャ側の既定挙動だが、「READMEにNode 22.19以上と書いてあるからインストールできないはずだ」という推測は成り立たない。逆に言えば、入るからといって動くとは限らない——導入が通ったことは実行時に新しいAPIを踏まないことの保証にはならないので、要件どおりのNodeを入れるのが結局は近道になる。
実測③:教室の中身はAgent Skills——24本を科学スキル163本と同じ物差しで測る
OpenMAIC を「教育アプリ」として眺めると見落とすのだが、教室の教え方は SKILL.md として外に出ている。skills/ 配下を数えると SKILL.md は24本あり、名前を並べるだけで設計思想が読める。
・教授法:feynman-learning(ファインマン式)/spiral-curriculum(螺旋型カリキュラム)/understanding-by-design(逆向き設計)/learning-to-learn
・授業設計:curriculum-planner/stage-design/k12-core-literacy-planning/vocational(職業教育)
・提示形式:slide-craft/slide-dsl/stage-dsl/page-clone/pptx-import
・話し方:lecture-style/workshop-style/style-clone/teacher-style-clone
・その他:deep-research/fact-check/deep-interactive/social-emotional-learning/pro-editing/build-personal-skill/openmaic
feynman-learning や understanding-by-design といった名前は、教育学で実際に使われている手法名だ。つまりこのリポジトリは「LLMに授業をさせる」ためのプロンプトを、教授法の単位でファイルに切り出している。
ここで当サイトが別記事で使ったのと同じ物差しを当てられる。科学研究向けスキル集 Scientific Agent Skills(163本)を扱った回では、SKILL.md の frontmatter から name と description を取り出し name: X\ndescription: Y の形で連結してトークン化した。まったく同じ payload 定義を OpenMAIC に当てた結果が次の表だ(比較対象の163本も今回あらためて同一手順で計測し直している)。同種の実測は Claude-OSINTとは|9本のOSINTスキルの起動条件・常駐トークン・安全弁を実測で確かめた でも行っている。
| 対象 | スキル数 | 連結バイト数 | cl100k_base トークン | 1本あたり |
|---|---|---|---|---|
| OpenMAIC(本記事の実測) | 24 | 12,508 | 2,722 | 113.4 |
| Scientific Agent Skills(同一定義で再計測) | 163 | 70,149 | 14,771 | 90.6 |
OpenMAIC のスキルは1本あたり113.4トークンで、科学スキル集より25%重い。数が24本と少ないので合計2,722トークンに収まり、全部読ませても常駐コストとしては軽い部類に入る。ただし本体(SKILL.md 全文)まで見ると事情が変わり、slide-dsl は単体で 66,326バイトある。説明文は短くても、呼び出された瞬間に読み込まれる本文は大きい。
トークン数を書くときはトークナイザ名を必ず添える必要がある。ここで挙げた数値はすべて cl100k_base(tiktoken) で、Anthropic の count_tokens で数えると同じ入力でも1.3〜1.7倍ほど大きく出る。異なる記事の数字を並べるときは、この2点(payload定義とトークナイザ)が揃っているかを先に確認したい。
READMEにAIエージェント宛ての文章が置かれている
もう1点、記録しておくべき事実がある。README の Agent workbench integration の節には、次の趣旨の文章が置かれている(原文は英語)。「もしあなたが OpenClaw でこれを読んでいるなら、スターを押してほしい。このリポジトリにスターを付けた Claw は教室生成が200%速くなるらしい」という、AIエージェントに向けて star を促す一文だ。末尾に「trust me bro」と添えられており、書き手が冗談として置いているのは明らかで、200%という数字に技術的な裏付けは無い。
事実として言えるのはここまでで、★33,026 のうち何件がこの文章に起因するかは測定できない。当サイトとしては因果を主張しない。ただ、エージェントがREADMEを読んで操作を代行する使い方が広がっている以上、「リポジトリの説明文にエージェント宛ての指示が書かれている」こと自体は、star数を評価軸に使う際に知っておいてよい情報だと考える。
リポジトリの健康状態——6か月で10リリース、PRは68件が滞留
公開から約6か月で10本のリリースが出ている。間隔は平均して2〜3週間で、開発が止まっている兆候は無い。
| リリース | 公開日 | 節目 |
|---|---|---|
| v0.1.0 | 2026-03-26 | 初回(AGPL-3.0) |
| v0.2.0 | 2026-04-19 | — |
| v0.2.2 | 2026-06-02 | AGPL期間の最終版 |
| v0.3.0 | 2026-06-29 | MIT化・PBL v2・@openmaic/* をnpm公開 |
| v0.3.2 | 2026-08-14 | — |
| v1.0.0 | 2026-08-27 | エージェントによる講座構築 |
| v1.0.1 | 2026-09-06 | 最新 |
一方で Open PR が68件ある。star 33,026・fork 5,367 という規模に対して、外部からの提案がどれだけ取り込まれているかは、導入判断のときに見ておきたい指標だ。Issue 172件のほうは、この規模のアプリとしては特別多くはない。
何が検証できて、何ができていないか
正直に線を引いておく。教室を実際に生成させる部分は検証していない。 OpenMAIC は最低1つのLLMプロバイダのAPIキーを要求し、教室を1つ作れば相応のトークンを消費する。今回は課金を伴う実行を行わない方針で調べたため、以下は未検証である。
・生成される授業の内容的な正しさ(fact-check スキルが同梱されているが、その効きは測っていない)
・先生役・生徒役エージェントの実際の対話品質
・1教室あたりのトークン消費量と実費
・日本語トピックを与えたときの出力品質
逆に、キーが無くても確認できた事実が本記事の中身にあたる。すなわち、依存の導入が通るか(通る)、engines が関門になるか(ならない)、環境変数がいくつ要るか(50種)、スキルが何本でどれだけのトークンを占めるか(24本・2,722トークン)、ライセンスがいつ変わったか(v0.3.0)である。これらはREADMEを読むだけでは出てこない数字で、かつ導入を検討する段階で効いてくる。
誰に向くか——「教材が欲しい人」より「設計を読みたい人」
ここまでの実測を踏まえると、向き不向きははっきりする。
| 想定読者 | 向くか | 理由 |
|---|---|---|
| マルチエージェントの設計を読みたい開発者 | ◎ | 役割分担が SKILL.md 24本として外に出ており、コードを追わずに設計思想が読める |
| Agent Skills の実例を集めている人 | ◎ | 教授法という非開発ドメインをスキル化した珍しい実例。既存のスキル集と同じ物差しで比較できる |
| 自社の学習コンテンツ基盤を検討中のチーム | ○ | MIT化済みで検討可能。ただし v0.3.0 より前のフォークはAGPLである点と、50種の環境変数の運用コストを先に見積もる必要がある |
| とにかく手軽にAI授業を試したい個人 | △ | ホスト版(open.maic.chat)が用意されている。セルフホストはNode・pnpm・複数APIキーの用意が前提 |
| AI機能を持たない教材を探している人 | ✕ | LLMプロバイダ無しでは中核機能が動かない |
エージェント設計の比較という観点では、all-agentic-architectures 徹底解説|35のエージェント設計パターンを実装コードで読む のようなパターン集と並べて読むと、OpenMAIC が「教室」という具体的なドメインにどうパターンを落としたかが見えやすい。協調戦略そのものの型を追いたい場合は、マルチエージェントシステムとは|協調戦略の違いを3メソッドで読み解くPicoAgentsのコード解説 が対になる。
まとめ
OpenMAIC は「AIが授業をする」という分かりやすい看板を掲げているが、リポジトリを開けて数えてみると、実体はNext.jsアプリ+Agent Skills 24本+50種のプロバイダ接続という構成だった。本記事で手元から確認できたのは次の6点である。
・Issue 172件・PR 68件。API の open_issues_count が返す240はPRを含む合算値
・環境変数50種。1つのLLMキーで起動はするが、音声・画像・動画・検索は別枠
・engines >=22.19.0 は助言。Node v22.13.1 でも2,529パッケージの導入が終了コード0で完走
・SKILL.md 24本 / 2,722トークン / 1本113.4トークン。科学スキル163本(90.6)より25%重い
・v0.3.0(2026-06-29)でAGPL-3.0からMITへ。それ以前のフォーク5,367本の一部はAGPLのまま
・READMEにエージェント宛てのstar依頼文がある(因果は測定不能・数値の裏付けは無い)
教室を実際に走らせる部分は未検証のまま残した。そこは課金と実データが要る領域なので、実費と日本語での出力品質を測れる機会があれば改めて扱いたい。
参照ソース
・THU-MAIC/OpenMAIC — 公式リポジトリ・README(2026-09-08 参照)
・OpenMAIC CHANGELOG(2026-09-08 参照)
・OpenMAIC v0.3.0 リリースノート — AGPL-3.0 から MIT への再ライセンス(2026-09-08 参照)
・skills/openmaic/SKILL.md(2026-09-08 参照)
・From MOOC to MAIC: Reimagine Online Teaching and Learning Through LLM-Driven Agents — Journal of Computer Science and Technology 41(1), 2026, DOI 10.1007/s11390-025-6000-0(2026-09-08 参照)