DeepTutor
Agent-Native Personalized Tutoring · v1.0.0 · HKUDS (HKU Data Intelligence Lab) · Apache 2.0
DeepTutor は Agent-Native を標榜する学習プラットフォーム。単なる AI チャットではなく、複数のエージェントが協調して「計画 → 調査 → 解決 → 検証」を実行する設計になっている。バックエンドは FastAPI(Python 3.11+)、フロントエンドは Next.js 16、エージェントエンジンには nanobot を採用している。
コンテキスト管理システムが会話履歴・知識ベース・参照ファイルを横断して保持する。モード間の切り替えは 同一スレッド内でいつでも可能。ツールの有効/無効はモードに依存せずユーザーが選択する。
Markdown エディタで AI が第一級のコラボレーターになる。テキストを選択して Rewrite / Expand / Shorten を適用できる。知識ベースや Web からの文脈を活用でき、全編集はノートブックへ保存されて学習エコシステムに還元される。
- 非破壊編集(undo/redo 完全対応)
- 知識ベース・Web 検索による文脈補完
- ノートブック保存でセッション間共有
自分の教材を構造化された段階的学習ジャーニーに変換する。
- 教材から 3〜5 個の段階的知識ポイントを設計
- 各ポイントを視覚的な HTML インタラクティブページに生成
- 各ステップに沿ってコンテキスト Q&A が可能
- 完了時に学習サマリーを生成
セッションは永続化され、一時停止・再開・任意のステップへの戻りが可能。
すべての機能を支える学習インフラ。
- Knowledge Bases — PDF / TXT / Markdown を RAG-ready コレクションに。インクリメンタル追加が可能。
- Notebooks — Chat / Guided Learning / Co-Writer / Deep Research の洞察をカラーコード付きのノートに保存・整理。
知識ベースは受動的な保管庫ではなく、すべての会話・研究・学習パスに能動的に参加する。
DeepTutor はあなたとともに学ぶ。二つの次元でプロファイルを構築する。
- Summary — 学習経緯の継続ダイジェスト。何を学んだか、どのトピックを探求したか、理解がどう深まったか。
- Profile — 学習スタイル・好み・知識レベル・目標・コミュニケーションスタイルを自動更新。
メモリはすべての機能と全 TutorBot で共有される。使えば使うほどパーソナライズが深まる。
TutorBot は nanobot 上に構築された永続的・マルチインスタンス型エージェント。各 TutorBot は独立したワークスペース・メモリ・個性を持ち、独自のエージェントループを実行する。ソクラテス式数学チューター、忍耐強い文章コーチ、厳格なリサーチアドバイザーを同時に複数起動できる。
- Soul Templates — 編集可能な Soul ファイルでチューターの個性・口調・教育哲学を定義。ソクラテス式・励まし型・厳格型などのアーキタイプを選択、またはカスタム設計。
- Independent Workspace — 各ボットは独立したメモリ・セッション・スキル・設定を持ちながら、DeepTutor の共有知識レイヤーにアクセスできる。
- Proactive Heartbeat — 定期的な学習チェックイン・復習リマインダー・スケジュールタスクを開始する。ユーザーが来なくてもチューターが動く。
- Skill Learning — スキルファイルを追加してボットに新しい能力を教える。ニーズの進化とともにチューターの能力も進化する。
- Multi-Channel — Telegram / Discord / Slack / Feishu / WeChat Work / DingTalk / Email などに接続。あなたのいる場所にチューターが来る。
- Full Tool Access — RAG 検索・コード実行・Web 検索・学術論文検索・深い推論・ブレインストーミング。
- Team & Sub-Agents — バックグラウンドサブエージェントや複数エージェントチームを組成して複雑・長期タスクに対応。
deeptutor bot create math-tutor \
--persona "Socratic math teacher \
who uses probing questions"
deeptutor bot create writing-coach \
--persona "Patient writing mentor"
deeptutor bot list # 全ボット一覧
CLI はブラウザ不要のフルアクセスを提供する。リッチなターミナル出力(人間向け)と構造化 JSON 出力(AI エージェント向け)のデュアルモードを持つ。SKILL.md をエージェントに渡すと、LLM ツールが DeepTutor を自律的に操作できる。
# One-shot 実行
deeptutor run chat "Fourier 変換を説明して" -t rag --kb textbook
deeptutor run deep_solve "√2 が無理数であることを証明せよ" -t reason
deeptutor run deep_question "線形代数" --config num_questions=5
deeptutor run deep_research "Transformer の Attention メカニズム"
# インタラクティブ REPL(ライブモード切り替え対応)
deeptutor chat --capability deep_solve --kb my-kb
# REPL 内: /cap /tool /kb /history /notebook /config
# デュアル出力
deeptutor run chat "第3章を要約" -f rich # 着色フォーマット
deeptutor run chat "第3章を要約" -f json # ライン区切り JSON
| コマンドグループ | 主なサブコマンド | 説明 |
|---|---|---|
deeptutor run |
chat / deep_solve / deep_question / deep_research / math_animator |
任意の Capability をワンショット実行 |
deeptutor kb |
create / add / search / list / set-default / delete |
知識ベースのライフサイクル管理 |
deeptutor bot |
create / start / stop / list |
TutorBot インスタンス管理 |
deeptutor memory |
show / clear |
学習メモリの参照・クリア |
deeptutor session |
list / show / open / rename / delete |
セッション継続・管理 |
deeptutor notebook |
list / create / show / add-md / replace-md |
ノートブック管理 |
deeptutor plugin |
list / info |
登録ツール・Capability 一覧 |
deeptutor provider |
login |
プロバイダー認証(OpenAI Codex / GitHub Copilot) |
# LLM(必須)
LLM_BINDING=openai
LLM_MODEL=gpt-4o-mini
LLM_API_KEY=sk-xxx
LLM_HOST=https://api.openai.com/v1
# Embedding(Knowledge Base に必須)
EMBEDDING_BINDING=openai
EMBEDDING_MODEL=text-embedding-3-large
EMBEDDING_API_KEY=sk-xxx
EMBEDDING_HOST=https://api.openai.com/v1
EMBEDDING_DIMENSION=3072
24 以上の LLM プロバイダーをサポート(Anthropic / Gemini / DeepSeek / Ollama / Groq など)。
python scripts/start_tour.py を起動するインタラクティブスクリプト。依存のインストール・環境設定・接続テスト・起動までを対話的にガイド。Web モードと CLI モードを選択できる。
pip install -e ".[server]" でバックエンド、cd web && npm install でフロントエンドを個別インストール。.env を手動設定してサービスを個別起動。
docker compose -f docker-compose.ghcr.yml up -d)またはソースからのビルド。linux/amd64 と linux/arm64 に対応。ユーザーデータは Docker ボリュームで永続化。
pip install -e ".[cli]"。deeptutor chat または deeptutor run <capability> ですぐに開始できる。
| サービス | デフォルトポート | 環境変数で変更 |
|---|---|---|
| Backend (FastAPI) | 8001 | BACKEND_PORT |
| Frontend (Next.js) | 3782 | FRONTEND_PORT |
- GitHub: HKUDS/DeepTutor
- nanobot — TutorBot のエージェントエンジン
- LlamaIndex — RAG パイプライン
- ManimCat — Math Animator の基盤
- Discord コミュニティ
| プロジェクト | 役割 |
|---|---|
| LightRAG | 高速・シンプルな RAG エンジン(将来 DeepTutor に統合予定) |
| AutoAgent | ノーコードエージェントフレームワーク |
| AI-Researcher | 自動リサーチシステム |
| nanobot | 超軽量 AI エージェントエンジン(TutorBot の心臓部) |