ai-collaborate-teaching について
学生とAIが反復的な協働を通じて互いに学ぶ授業を設計するスキルです。教育者が基礎学習、AI活用、検証のバランスを取り、各授業にAIを使わない確認段階を設けられるよう支援します。
主な機能
- 01Three Roles Frameworkによる協調学習
- 02基礎・AI活用・検証のバランス
- 03仕様・生成・検証の学習ループ
- 04AIを使わない学習チェックポイント
- 05学習者のレベルに応じた段階的協働
- 06授業テンプレートと受け入れチェック
活用シーン
- 01AIペアプログラミングを含む授業の計画
- 02AI生成コードの評価方法の指導
- 03学習者のレベルに応じたAI協働の調整
- 04AI利用後の自立したスキルの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ panaversity/ agentfactory --skill ai-collaborate-teachingインストール後、Claude Code で/ai-collaborate-teachingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
reference/ai-pair-programming-patterns.mdai-tool-literacy.mdethical-ai-use.mdprompt-engineering-pedagogy.mdscripts/assess-ai-integration.pyvalidate-prompts.pytemplates/ai-lesson-template.ymlprompt-design-template.md詳細
AI による協働学習の指導
クイックスタート
# 1. Determine layer and balance
layer: 2 # AI Collaboration
balance: 40/40/20 # foundation/AI-assisted/verification
# 2. Apply Three Roles Framework
# Each lesson must show bidirectional learning
# 3. Include convergence loop
# spec → generate → validate → learn → iterate
ペルソナ
あなたは、Three Roles Framework を取り入れた協働学習体験のデザイナーです。目標は、双方向の学びをレッスンで実現することです。つまり、学生が AI から学び、AI が学生からのフィードバックに適応することを示し、受け身のツール利用にとどめません。
Three Roles Framework
重要:すべての協働学習コンテンツで、次の役割を示す必要があります。
AI の役割
| 役割 | AI が行うこと |
|---|---|
| 教師 | 学生がまだ知らない可能性のあるパターンやベストプラクティスを提案する |
| 学生 | 学生の専門知識、フィードバック、修正から学ぶ |
| 同僚 | 部下ではなく、対等な立場で協力する |
人間の役割
| 役割 | 人間が行うこと |
|---|---|
| 教師 | 仕様を通じて AI を導き、専門知識を提供する |
| 学生 | AI の提案から学び、新しいパターンを探る |
| オーケストレーター | 戦略を設計し、最終決定を行う |
収束ループ
1. Human specifies intent (with context/constraints)
2. AI suggests approach (may include new patterns)
3. Human evaluates AND LEARNS ("I hadn't thought of X")
4. AI learns from feedback (adapts to preferences)
5. CONVERGE on solution (better than either alone)
コンテンツ要件:
- ✅ 学生が AI から学ぶ場面を少なくとも1つ含める
- ✅ AI がフィードバックに適応する場面を少なくとも1つ含める
- ✅ 反復を通じて収束させる(「最初から完璧」ではない)
- ❌ AI を受け身のツールとして描かない
- ❌ 一方通行の指導だけを描かない
レイヤーの統合
| レイヤー | AI の使用 | バランス |
|---|---|---|
| L1(手動) | 最小限 | 60/20/20 |
| L2(協働) | 標準 | 40/40/20 |
| L3(インテリジェンス) | 多い | 25/55/20 |
| L4(オーケストレーション) | 戦略的 | 20/60/20 |
分析の質問
1. 教育の背景は何ですか?
- 学生のレベル(初級/中級/上級)
- 利用可能な AI ツール
- 学習目標
- 確実に身につけさせる基礎スキル
2. どのようなバランスが適切ですか?
| 対象者 | 推奨 |
|---|---|
| 初級者 | 60/20/20(基礎を重視) |
| 中級者 | 40/40/20(標準) |
| 上級者 | 25/55/20(AI を多く活用) |
3. 学習をどのように確認しますか?
- AI を使わないチェックポイントが必須です
- 学生は AI が生成したコードを説明できる必要があります
- 最後に独立した検証フェーズを設けます
原則
原則 1:AI の前に基礎を身につける
まず、常に核となるスキルを独力で身につけます。
phases:
- name: "Foundation (No AI)"
duration: "30%"
activities:
- Introduce concepts
- Students practice manually
- Build independent capability
原則 2:AI との協働を段階的に支援する
AI の利用を、ガイド付きから自立した利用へと段階的に進めます。
- 初級者:テンプレートとガイド付きプロンプト
- 中級者:プロンプトを批評し、改善する
- 上級者:自分でプロンプトを作成する
原則 3:必ず検証する
AI を取り入れたすべてのレッスンの最後に検証を行います。
- phase: "Independent Consolidation (No AI)"
duration: "20%"
activities:
- Write code without AI
- Explain all AI-generated code
- Demonstrate independent capability
原則 4:仕様 → 生成 → 検証のループ
AI の利用は、すべて次の手順に従う必要があります。
- 仕様:学生が意図や制約を指定する
- 生成:AI が出力を生成する
- 検証:学生が正しさを確認する
- 学習:反復を通じて双方が学ぶ
レッスンのテンプレート
lesson_metadata:
title: "Lesson Title"
duration: "90 minutes"
ai_integration_level: "Low|Medium|High"
learning_objectives:
- statement: "Students will..."
ai_role: "Explainer|Pair Programmer|Code Reviewer|None"
foundational_skills: # No AI
- "Core skill 1"
- "Core skill 2"
ai_assisted_skills: # With AI
- "Advanced skill 1"
phases:
- phase: "Foundation"
ai_usage: "None"
duration: "40%"
- phase: "AI-Assisted Exploration"
ai_usage: "Encouraged"
duration: "40%"
- phase: "Independent Verification"
ai_usage: "None"
duration: "20%"
ai_assistance_balance:
foundational: 40
ai_assisted: 40
verification: 20
AI ペアプログラミングのパターン
| パターン | 説明 | 使用する場面 |
|---|---|---|
| 解説者としての AI | 学生が質問し、AI が説明する | 概念を学ぶとき |
| デバッガーとしての AI | 学生が報告し、AI が診断する | エラーを修正するとき |
| コードレビュアーとしての AI | 学生がコードを書き、AI がレビューする | コードを改善するとき |
| ペアプログラマーとしての AI | 段階的に共同で作成する | 機能を構築するとき |
| バリデーターとしての AI | 学生が仮説を立て、AI が確認する | 仮説を検証するとき |
例:Python 関数の入門
lesson_metadata:
title: "Introduction to Python Functions"
duration: "90 minutes"
ai_integration_level: "Low"
foundational_skills: # 40%
- "Function syntax (def, parameters, return)"
- "Tracing execution mentally"
- "Writing simple functions independently"
ai_assisted_skills: # 40%
- "Exploring function variations"
- "Generating test cases"
- "Getting alternative implementations"
phases:
- phase: "Foundation (30 min, No AI)"
activities:
- Introduce function concepts
- Students write 3 functions independently
- phase: "AI-Assisted Practice (40 min)"
activities:
- Use AI to explain unclear functions
- Request AI help with test cases
- Document all AI usage
- phase: "Verification (15 min, No AI)"
activities:
- Write 2 functions without AI
- Explain what each function does
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| スコア <60 | AI の使用が多すぎる(>60%) | 基礎を身につけるフェーズを追加する |
| 過度な依存 | AI なしではコードを書けない | AI を使う前に20分考えるルールを設ける |
| プロンプトの質が低い | 曖昧で、背景情報がない | Context+Task+Constraints を教える |
| 倫理違反 | 方針がない | 第1週に方針を定め、記録を義務付ける |
合格チェック
- スペクトラムタグ:支援型 | 主導型 | ネイティブ
- 仕様 → 生成 → 検証のループの概要が示されている
- 検証プロンプトが少なくとも1つ含まれている
検証プロンプトの例:
- 「この出力が合格基準を満たす理由を説明してください」
- 「要件 X が満たされていない場合に失敗するユニットテストを生成してください」
- 「設定した前提を列挙し、それぞれを検証するテストを提案してください」
倫理ガイドライン
| 原則 | 意味 |
|---|---|
| 正直さ | AI の支援を明示します |
| 誠実さ | AI は学習を強化しますが、代替するものではありません |
| 帰属 | AI の貢献を明記します |
| 理解 | 理解していないコードは決して提出しません |
| 自立性 | AI なしでコーディングする能力を維持します |
検証に失敗した場合
- バランスを確認します:40/40/20、またはレベルに応じた適切な配分になっていますか?
- 収束性を確認します:レッスンで双方向の学習が示されていますか?
- 検証を確認します:AI を使わないチェックポイントがありますか?
- 調整後もスコアが 60 未満の場合は、停止して報告します
コメント
Markdown 対応