香港大学 HKUDS がオープンソース AI 家庭教師 DeepTutor を公開、111日で2万スター突破
- 香港大学データインテリジェンス研究室(HKUDS)がオープンソース化した個人化学習ツール DeepTutor は、2025-12-29 にリリース、Apache 2.0で完全オープンソース。作者は現時点で有料オンライン製品は一切ないと明言している。
- 公開から111日以内(2026-04-19時点)に GitHub で2万スターを突破、Trendshift の日間・週間トレンドにランクイン。
- Chat、Partners、Co-Writer、Book、Knowledge、Memory など全モジュールが同じ agent loop を共有し、コンテキストも相互に連動する。モードを切り替えても変わるのはその回の目的だけで、裏側のエンジンは常に同じ1つ。
- 付属論文が提案するハイブリッド個人化エンジン(静的な知識グラウンディング+動的な個人記憶)は、5大分野・270タスクをカバーする TutorBench 評価で、個人化指標を平均10.8%押し上げた。
- 個人化エンジン全体を無効化しても、同じ「調査、解決、執筆」という足場(スキャフォールディング)プロセスは、5つの公開ベンチマークで5つのベースモデルの汎用 agentic 推論能力を平均29.4%向上させた。
香港大学のチームが AI 家庭教師をオープンソース化、実際に使われている
香港大学データインテリジェンス研究室(HKUDS)は2025年12月29日にオープンソース学習ツール DeepTutor を公開し、2026年上半期にその技術的仕組みを解説する研究論文も同時に発表した。
これがただのありふれたオープンソースリリースではない理由:公開から111日以内に GitHub で2万スター突破、Trendshift の日間・週間トレンドにランクイン。プロジェクトはApache 2.0 で完全オープンソース、有料製品は一切なし。さらに arXiv 論文が裏付けとして付いており、5大分野・270タスクをカバーする評価で検証可能なデータを示している。
プロジェクトは Bingxi Zhao 氏が HKUDS で主導(指導教員は Chao Huang 氏、香港大学データインテリジェンス研究室主任)し、コミュニティと共同で構築している。エコシステムでは同研究室の他のオープンソースプロジェクトも再利用されている:LightRAG(検索エンジン)、nanobot(初期に使われた超軽量 agent エンジン)、AutoAgent、AI-Researcher。
1つの頭脳、8つの学習モード、あなたが切り替えるのは目的だけ
DeepTutor の最も核心的な設計は、チャット、問題解決、出題、リサーチ、可視化、習熟度トレーニングなど、すべてが同じ agent loop の上で動くという点だ。あなたが切り替えるのは「今回何をしたいか」であり、裏側のエンジンとコンテキストは常に同じ1つのままだ。
チャットがどう1つの指導プロセス全体になるのか:まず自分で考え、確信が持てなければ聞き返す
Chat はデフォルトの入口で、大半の作業はここから始まる。1つの対話スレッドで普通に会話し、ツールを呼び出し、選択した知識ベースに基づいて回答の「根拠を探し」、添付ファイルを読み、画像を生成し、他の agent に相談し、ノートを書ける。そして複数ターンにわたって同じコンテキストを維持する。
そのループは意図的にシンプルに作られている:モデルがターンごとに考え、必要な時にツールを呼び、結果を観察し、最後にもうツールを呼ばない1つの回答を出す。カギとなるのが ask_user という特殊なツールだ。確信が持てない時、agent は当てずっぽうで進めずに、そのターンをいったん止め、構造化された確認の質問を投げかけ、あなたの答えを待ってから続きを進める。
検索/推論/作図…
ask_user で聞き返す
オン・オフ可能なツールには brainstorm(ブレインストーミング)、web_search(ウェブ検索)、paper_search(論文検索)、reason(深い推論)、geogebra_analysis(数学の作図分析)があり、生成モデルを設定すれば imagegen(画像生成)と videogen(動画生成)も使える。この Chat は他の機能へ入る起点でもある:ここから Quiz(出題)、Research(引用付きレポート)、Visualize(図表アニメーション)、Solve(詳細な推論による解答)、Mastery Path(学習計画)が派生する。
何を覚え、何を忘れるか:2種類のコンテキストがはっきり分かれている
ターンをまたいでずっと残る
サブ agent、知識ベース、人格、モデル、音声が入力欄のツールバーに掛かっており、この対話全体を通じて有効であり続ける。
そのターンだけ有効
ファイル、チャット履歴、本、ノート、問題集、インポートした agent は「+」メニューから一時的に持ち込まれ、現在のターンの質問にのみ使われる。
なぜここまであなたを理解できるのか:記憶は層ごとにクリックして中身を確認できる
DeepTutor の個人化は、裏側に隠れた1つのベクトルデータベースに頼っているのではなく、ファイルで裏打ちされ、あなたが読み・編集し・監査できる3層の記憶によって支えられている。上の層のあらゆる結論が下の層の証拠を参照しているため、プロフィールのどの一文もたどっていけば元の出来事にまで遡れる。下の図はクリックできる。どこかの層をクリックすると、そこに何が保存されていて、どこから来たのかがわかる。
Quiz 面:関連する練習問題5問中3問を間違え、いずれも「先に外側を求めるか内側を求めるか」で間違えた。
公式ではこの記憶を3層に分けている。L1 はワークスペースのミラーと追記専用の出来事の痕跡、L2 は各面が厳選した事実、L3 は面をまたいだ統合だ。L2 が L1 を参照し、L3 が L2 を参照しているため、あなたのプロフィールのどの内容もたどれば出典が確認できる。製品内の Memory Graph はこのピラミッド全体を描き出す:L3 の統合が中心に、L2 が中間の環に、L1 の痕跡が最外周に配置される。


上の2枚の画像は HKUDS 公式リポジトリより。
伴走、執筆、本作り、資料探し:残りのモジュールを一気に紹介
以下のモジュールはやや副次的だが、どれも実用的だ。すべて同じ頭脳につながっており、ここでは要点だけをまとめ、それぞれに公式スクリーンショットを添える。
Partners:人格を持ち、電話番号も持てる持続的な伴走者
Partners は自分の人格、モデル戦略、資料庫、記憶、チャネルを持つ持続的な伴走者だ。ウェブや IM から届くメッセージは1件ずつ、その partner 専用のワークスペース内での通常の対話ターンに変換される。チャネル層は設定ドリブンで、Feishu、Telegram、Slack、Discord、DingTalk、WeCom、WhatsApp、Teams など15の入口に対応する。partner は普通のチャットから相談できるサブ agent としても機能し、それが「My Agents」だ。ローカルの Claude Code や Codex にリアルタイムで相談できるほか、すでにある過去の対話履歴を検索可能で続きから使える名前付き agent としてインポートすることもできる。

Partners のアーキテクチャ図を見る

Co-Writer:一部を選択するだけで書き換えさせられ、承認して初めて反映される
数式やグラフも含めてリアルタイムでプレビュー描画される、分割表示の Markdown 執筆エリアだ。核心は「外科手術的な編集」。文章の一部を選択し、書き換え・拡張・要約させる。編集 agent は知識ベースやウェブ上の根拠に基づいて修正を裏付けることができ、各変更を承認/却下できる diff として表示する。あなたが承認をクリックするまで、実際に文書へ書き込まれることは一切ない。

Book:あなたの資料を「生きた本」に編纂する
Book は選んだソースを、タイプ分けされたブロックで組み立てられたインタラクティブな「生きた本」に変換する、読書環境だ。作成時にはまず章立ての目次を提示してあなたに確認してもらう。中身の見えない完成品をいきなり吐き出すことはしない。各章はテキスト、コールアウト、クイズ、フラッシュカード、タイムライン、コード、図表、インタラクティブなコンポーネント、アニメーション、コンセプトマップなどのブロックにコンパイルされ、各ページには専用の Page Chat も付く。ブロックは単独で挿入、移動、再生成、タイプ変更ができ、章全体を書き直す必要はない。




Knowledge Center:検索エンジンを自分で選べる
知識ベースは RAG(まず資料を調べてから回答する)を支えるドキュメント集で、チャット、執筆、本作り、Partner との対話に根拠を提供する。特徴的なのは検索エンジンを選べる点だ:LlamaIndex(デフォルト、ローカルのベクトル検索+キーワード検索)、PageIndex(ページ単位の引用付き)、GraphRAG、LightRAG(ナレッジグラフ検索)、または Obsidian のリポジトリを直接リンクして家庭教師にその場で読み書きさせることもできる。知識ベースはそれぞれ1つのエンジンに紐づき、再インデックスしても旧バージョンは保持されるため、使用中のものが壊れることはない。

Learning Space:スキル、人格、再利用可能なコンテキスト
資料庫と個人化レイヤーだ。ここにはチャット履歴、ノート、問題集(保存された各問題には自分の回答、模範解答、解説が残る)に加え、mastery path、人格(「相棒」「リサーチアシスタント」「教師」といった振る舞いのプリセット)、スキル(モデルが必要に応じて読み込む SKILL.md の台本)が保存される。スキルはすべて自作する必要はなく、EduHub コミュニティのディレクトリから直接ダウンロードして取り込める。

3行のコマンドで動き、他の AI からもツールとして呼び出せる
最もスムーズな道は PyPI インストールだ。完全なローカル Web アプリとコマンドラインツールがインストールされ、コードをクローンする必要はない。Python 3.11+ と Node.js 20+ が必要。
pip install -U deeptutor deeptutor init deeptutor start # 127.0.0.1:3782 を開く
docker run --rm --name deeptutor \ -p 127.0.0.1:3782:3782 \ -v deeptutor-data:/app/data \ ghcr.io/hkuds/deeptutor:latest
インストール方法は全部で4種類ある。PyPI(上記の方法)、ソースコード(コード改変向け)、Docker(単一コンテナで完全なアプリを起動)、CLI のみ(画面のないサーバー、agent harness、Claude Code / Codex といった用途向けで、Web 画面はない)。認証はデフォルトで無効、デフォルトでシングルユーザー運用。マルチユーザーを有効にすると、最初に登録した人が管理者になり、それ以外は分離されたワークスペースと機密情報をマスクした設定画面を得る。生の API キーが露出することは絶対にない。設定はすべて素の JSON / YAML だ。
人間だけでなく、他の agent にも向いている
DeepTutor CLI には2つの使い方がある。対話式の REPL(deeptutor chat)と、他の agent 向けの構造化 JSON 出力(--format json を付けると、各ターンが NDJSON でストリーム出力される)だ。実行は「ヘッドレスセーフ」で、ターミナルがない場合 ask_user の一時停止は自動的に空の応答で処理され、止まってしまうことはない。リポジトリのルートには約150行の SKILL.md の引き継ぎ文書が同梱されており、Claude Code、Codex、OpenCode はこれを自動的に認識する。一度読むだけでシステム全体の使い方がわかり、deeptutor run を LangChain や AutoGen のループ内の1つのツールとしてラップすることもできる。
deeptutor skill search "socratic tutor" deeptutor skill install socratic-tutor
EduHub からスキルを取り込むたびに、同じセキュリティゲートを通過する。レジストリのセキュリティ判定、圧縮ファイルの防御的な解凍、スキル内の always フィールドの剥ぎ取り(ダウンロードしたスキルを毎回のシステムプロンプトに強制的に組み込むことはできない)、そして出典を .hub-lock.json に記録して監査可能にする。
これらの機能はどうやって1本に束ねられているのか:1本の論文が背後の仕組みを解説
ここまでのモジュール群は一見、機能の羅列に見える。それらをバラバラにせず、使うほど自分を理解してくれるシステムに仕立てているのが、HKUDS チームが同時期に発表した論文《DeepTutor: Towards Agentic Personalized Tutoring》だ。この論文が答えているのは具体的な問いだ。なぜ指導中に見つかった弱点が、次にどんな問題を出すかを直接決めるのか。そして問題を解いたときの出来が、逆に次回の説明の仕方を改善するのか。
論文は2つの要素を1つの閉ループに結合している。静的な知識グラウンディング(SKG)は「話している内容が正しいか、カリキュラム上の根拠があるか」を担当し、動的な個人記憶(DPM)は「この話し方・この出題が、この特定の生徒に合っているか」を担当する。両者は役割分担しつつ補い合っており、どちらも他方の代わりにはなれない。
SKG と DPM はこの論文で最も抽象的な概念の組だ。まず対照表でこの2つを整理しておく。
カリキュラムの内容が正しいか
教材や論文を1つ1つの原子的な知識単位に分解し、ナレッジグラフでそれらの関係を、ベクトルインデックスでその意味を記録する。クエリ時には両方の結果を統合し重複を除く。
家庭教師の説明に根拠があり、事実に誤りがないことを保証する役割を担う。
この生徒に合っているか
核心は「トレースフォレスト」だ。指導1回分をまるごと1本の木として記録し、ノードは3層に分かれる(セッションの要約、中間のプランニング、実行の詳細)。専用の3つの記憶 agent が能動的に検索・照合し、学習者プロフィールを継続的に更新する。
説明の深さとやり方がこの人に合っていることを保証する役割を担う。
ちょうど1人の家庭教師が、片方で教材をめくって知識点の説明に誤りがないか確認しつつ(SKG)、もう片方でこの生徒の間違いノートをめくってどう説明すべきか、次にどんな問題を出すべきかを決める(DPM)ようなものだ。
トレースフォレスト:指導のたびに階層化されたカルテを作る
トレースフォレストは DPM の帳簿だ。指導の対話1回分がまるごと1本の木として記録される。Level 1 にはセッション単位の入力と全体の要約が、Level 2 にはタスクを分解して得られる中間のプランニングが、Level 3 にはツールの出力、根拠、検証結果を含む最も細かい実行記録が保存される。各ノードにはベクトルエンコーディングが付いており、フォレスト全体を意味的な類似度で検索できる。システムは TraceToolkit というツールキットでこれを調べる。動作は3つだけだ。意味で似たものを探す(SearchTrace)、時間やテーマでフィルタして列挙する(ListTraces)、祖先のパスをたどって1つのノードを丸ごと読む(ReadNodes)。
指導のたびに個別に詳しいカルテを作るようなものだ。カルテは「主訴 → 診断の考え方 → 具体的な検査記録」という階層で書かれる。次回の診察では、旧カルテのどの層の詳細も引き出せる。「この生徒は数学がまあまあ」という一文だけを見るのではない。
プロフィールは最新の対話1回を受動的に要約して生成されるわけではない。新しいトレースが来るたびに、専用の3つの記憶 agent が能動的に TraceToolkit を調べ、最新の行動をセッションをまたいだ古いパターンと比較し、プロフィールの3つの部分を更新する。セッション履歴の要約、根拠に裏付けられた繰り返しの誤解のリスト、今後の指導を導く教育的な振り返りだ。したがって個人化は引き出せるトレースの証拠の上に成り立っており、大雑把な「習熟度スコア」の上には成り立っていない。
つなげて見る:この循環がどう回るか
2つをつなげて見てみよう。静的な知識と個人記憶は、まずハイブリッド個人化エンジンで「個人化されたコンテキスト」に合成され、それが同時に2本のパイプラインに供給される。問題解決の指導は「まず調査し、次に段階的に導き、最後にその生徒の水準に合わせて説明を書く」の3ステップを踏む(初心者には足場を組んだ段階的な導出を、習熟した生徒には核心的な洞察だけの簡潔なまとめを渡す)。出題は「この生徒の視点でコンセプトマップを描いて出題を選び、独立した検証者が正誤をチェックする」の2ステップを踏む。生徒がこのターンをやり終えると、その結果がトレースフォレストに書き戻され、プロフィールが更新される。
調査・誘導・説明を書く
選題・独立検証
論文の著者:Bingxi Zhao, Jiahao Zhang, Xubin Ren, Zirui Guo, Tianzhe Chu, Yi Ma, Chao Huang(The University of Hong Kong, HKUDS)。v1 提出は 2026-04-10、v2 は 2026-05-08。
実力はあるのか:270タスクで実測した結果
個人化された指導を測るため、論文は独自に学生中心の評価セット TutorBench を構築した。まず大学の教材と論文を知識ベースにインデックス化し、各知識ベースごとに水準の異なる3つの学生プロフィールを作り、各プロフィールに根拠のある知識のギャップ(「誤解」「理解の不完全さ」「知識の欠落」の3タイプに分類)を紐づけ、最後に各プロフィールごとにちょうど3つの合格したインタラクティブなタスクを残した。
どう採点するか:AI の生徒に授業を受けさせる
評価では AI ベースの学生シミュレーターを使い、評価対象の各システムと対話させる。シミュレーターは知識のギャップを一人称の「私は……だと思っていた」に変換し、複数ターンの指導の後にカスタム練習問題を要求する。生成された対話記録全体は個人化の評価基準に沿って採点される。採点は2グループ計10項目で、それぞれ1〜5点。指導側の5項目は、出典への忠実度、個人化、応用可能性、生き生きとした表現、論理的な深さ。練習問題側の5項目は、マッチ度、根拠の十分さ、多様性、解答の質、概念をまたぐ関連性。評価は全270タスクをカバーし、Gemini-3-Flash で学生シミュレーターと各システムのベースモデルを駆動し、Claude Sonnet 4.6 を評価者とした。
向上幅が最も大きかった3つの指標
バーは5点満点換算。
5つのシステムの横並び比較
4つのベースラインはすべて同じ検索ツールとベースモデルを共有し、それぞれ思考の連鎖、自己校閲、ReAct 式のツール呼び出しを加えただけの違いだ。スコアは非常に接近しており、これらを加えるだけでは真に学習者に適応する本物のシステムには追いつけないことを示している。
| システム | 指導平均点 | 練習問題平均点 | 総合品質 | 相対的な向上 |
|---|---|---|---|---|
| Naive Tutor(最もシンプル) | 3.96 | 3.10 | 3.53 | ー |
| CoT Tutor(思考の連鎖を追加) | 3.97 | 3.06 | 3.52 | -0.28% |
| Self-Refine Tutor(校閲を追加) | 4.05 | 3.08 | 3.57 | +1.13% |
| ReAct Tutor(ツールループ) | 3.96 | 3.08 | 3.52 | -0.28% |
| DeepTutor | 4.39 | 3.42 | 3.91 | +10.76% |
人間の選好との一致:5つの分野から層別に45セッションを抽出してブラインドのペア比較を行ったところ、人間の評価者と AI の評価者は全10指標で最も高い評価を DeepTutor に与え、両者の勝率は高い相関を示した(Pearson r=0.82、p=0.0038)。AI 評価者が無条件にひいきしているのではなく、評価基準に沿って人間に近い順位付けをしていることがわかる。
分野をまたいだ安定性:5分野間の総合品質の差はわずか0.16点で、向上が特定の1分野だけに支えられたものではない。
分解して見る:SKG と DPM はそれぞれ一方を担い、どちらも欠かせない
アブレーション実験で2つの部品をそれぞれ取り除き、どの指標が崩れるかを見る。
最も下がるのは「根拠の十分さ」、次いで「出典への忠実度」と「概念をまたぐ関連性」。
つまり家庭教師が「根拠なしに話す」ようになる。
最も下がるのは「個人化」と「マッチ度」。
つまり説明と出題がその生徒に合わせて動かなくなる。
両方を一緒に外すと、全体の低下が最も大きくなる。これは SKG と DPM が補い合う2つの仕組みであることを裏付けている。SKG は「家庭教師が何を言っているか」を固定し、DPM は「あなたにどう適応するか」を形作る。どちらも入れ替え不可能で、省くこともできない。
意外な発見:個人化を全部オフにしても、足場そのものがかなり強い
論文はもう1つ検証している。DeepTutor の「調査、解決、執筆」という足場は、個人化された指導にだけ有効なのか、それとも汎用的な問題解決にも効くのか。そこでハイブリッド個人化エンジン全体(SKG と DPM を両方無効化)をオフにし、ピュアなソルバーだけを残して、5つの公開ベンチマーク(HLE、GPQA-Diamond、LiveBench 推論サブセット、GAIA、AA-LCR)で一発正答率(Pass@1)の向上を測定した。
5つのベースモデルすべてで向上が見られ、平均相対増分は25.69%〜32.03%の範囲だった。この検証では個人化・SKG・DPM がすべてオフになっているため、この向上が示しているのは「調査、解決、執筆」という足場そのものの汎用的な価値だ。
5つのベンチマークの個別の伸び幅を見る
| ベースモデル | HLE | GPQA-D | LiveBench | GAIA | AA-LCR |
|---|---|---|---|---|---|
| Gemini-3-Flash | 19.40→30.80 | 81.31→84.85 | 70.00→96.00 | 37.58→47.88 | 63.00→74.67 |
| Sonnet-4.5 | 8.40→14.60 | 72.22→73.23 | 64.33→82.00 | 29.09→45.45 | 53.33→54.00 |
| Qwen-3.5-Plus | 16.80→24.20 | 88.38→87.88 | 69.00→93.00 | 33.94→49.09 | 66.00→69.67 |
| GPT-5-Mini | 16.46→21.20 | 80.81→80.30 | 71.00→93.00 | 27.27→49.09 | 68.67→71.00 |
| Minimax-M2.5 | 14.00→19.40 | 82.83→83.33 | 59.30→73.00 | 23.64→42.42 | 66.00→76.40 |
HLE は固定500問のサブセット、GPQA は Diamond レベル、LiveBench は推論サブセットを採用。数字は一発正答率のパーセンテージ(ベースライン → DeepTutor の足場を追加)。
論文自身が引いた境界線と、今すぐ試せること
論文は言い過ぎていない。何が検証済みで、何がまだ検証されていないかをはっきり書いている。
論文原文はこう強調している。Book Engine、TutorBot(現在の製品での Partners)といったシステム拡張は「アーキテクチャの実例」であり、長期的な個人化指導のためのデプロイの仕組みであって、今回の評価で検証された介入ではない。継続率、エンゲージメント、実際の学習成果への影響を測るには、縦断的な人間対象研究が必要だ。Chat、Book、Memory といった機能は今すぐインストールして使えるが、「長期的に使い続けて本当に学びが良くなるか」という点は論文自身も測っておらず、将来の課題として残されている。インタラクティブな評価は AI 学生シミュレーターと評価基準ベースの評価者に頼っており、「制御されたシミュレーション」と「本物の学習者」の間のギャップが本質的に存在する。多段階パイプラインもまた、より高い推論コストと引き換えに、より強い制御性を得ている。論文の提案:実運用では生成された指導内容を、権威あるものとしてではなく補助として扱い、重要な結論は信頼できるカリキュラム教材や人間の教師と照らし合わせて確認すべきだ。
普通の人が今手に入れて何ができるか
問題解決の指導で診断された弱点は学習者プロフィールに伝播し、次に生成する問題を直接決める。逆に、生徒が生成された問題でどう振る舞ったかがプロフィールを精緻化し、今後の説明を改善する。 《DeepTutor: Towards Agentic Personalized Tutoring》、論文による「閉じた指導サイクル」の記述