メインコンテンツへスキップ

AIGNEで独自の学習プランエージェントを構築する

Matt McKinney
AIGNEAgentArcBlockGuideLLM

このプロジェクトでは、ユーザーの入力に基づき個々のニーズや好みに適応し、パーソナライズされた学習体験を作成するために使用できるAIエージェントを構築します。このエージェントを通じて、ユーザーインタラクションの重要性と構造化された出力の作成、そしてマルチエージェント構成がいかに迅速にリクエストを取り込み、処理し、エンドユーザーに共有できるかを確認できます。主な考慮事項は以下の通りです:

  • 評価のためのユーザーインタラクション: このエージェントのシナリオでは、スキル評価のためにユーザーからのインタラクティブな入力が必要です。
  • 学習スタイルの考慮: 学習プランジェネレーターは、ユーザーが好む学習スタイルを考慮に入れます。
  • 構造化された出力への焦点: 学習プランには特定の構造(トピック、リソース、アクティビティ、タイムライン)があります。

それでは始めましょう。

1. プロジェクトの作成:

  • 名前:"Learning Plan Generator"
  • 説明:"Generates personalized learning plans based on user input."

2. ナレッジベース(オプション):

  • 名前:"Learning Resources"
  • 内容:トピックやスキルレベル別に分類された学習リソース(コース、書籍、記事、ウェブサイト)の厳選リスト。これは手動で入力することも、ウェブから関連データをスクレイピングして入力することも可能です。

3. エージェント 1: 「Skill Assessor」

  • 目的: 特定の主題におけるユーザーの現在のスキルレベルを評価します。これは、選択式質問、自己評価、あるいは(利用可能な場合は)過去の経験の分析を通じて行うことができます。AIアプリの中に、ユーザーへ情報を求める何らかのリクエストを含めることが重要です。
  • プロンプト:
javascript
You are a skill assessor. You will receive information about a user's experience and self-assessment in a particular subject. Based on this information, determine their skill level (Beginner, Intermediate, Advanced). Provide a brief justification for your assessment.

Subject: 
{{ subject }}
User Experience: 
{{ userExperience }}
Self-Assessment: 
{{ selfAssessment }}
  • 入力:
    • subject (ユーザー入力)
    • userExperience (ユーザー入力)
    • selfAssessment (ユーザー入力)
  • 出力:
    • Generated Text Stream | Process
    • skillLevel (テキスト - 例:「Intermediate」)
    • assessmentJustification (テキスト)

image.png

4. エージェント 2: 「Learning Plan Generator」

次に、エージェント #2 を設定しましょう。

  • 目的: スキルレベルや学習目標を含むユーザーの入力に基づき、パーソナライズされた学習プランを生成します。
  • プロンプト:
javascript
You are a learning plan generator. You will receive the user's skill level, learning goals, and preferred learning style.  Based on this information, create a personalized learning plan that includes specific resources and activities.

Skill Level: 
{{ skillLevel }}
Learning Goals: 
{{ learningGoals }}
Preferred Learning Style: 
{{ learningStyle }} (e.g., visual, auditory, kinesthetic)

Learning Resources (Optional): 
{{ learningResources }} (If a knowledge base is used)

The learning plan should be structured, including:
* A list of topics to cover.
* Recommended learning resources (courses, books, articles, etc.) with links if available.
* Suggested activities or exercises to reinforce learning.
* A timeline or schedule for completing the plan.

Consider the user's learning style when recommending resources and activities.  For example, if the user prefers visual learning, suggest videos or diagrams.
  • 入力:
    • skillLevel (エージェント 1 から)
    • learningGoals (ユーザー入力)
    • learningStyle (ユーザー入力)
    • learningResources (ナレッジベース "Learning Resources" から - オプション)
  • 出力:
    • Generated Text Stream | Process
    • learningPlan | Process | Text
  • 例:

image.png

5. エントリーエージェント: 「Learning Plan Interface」

次に、UIとLearning Plan Generatorのフローを管理するためのエントリーエージェントを設定します。

  • 目的: ユーザーインターフェースを提供します。このエージェントは、ユーザーから必要な情報(主題、経験、自己評価、学習目標、学習スタイル)を収集し、生成された学習プランを表示します。
  • プロンプト: (プロンプトなし)
  • 入力:
    • Question | User input | Text
  • 出力:
    • Generated Text Stream | Process
    • learningPlan | Call Learning Plan Generator
  • 例:

image.png

5. エージェントのテストとデバッグ

それでは、エージェントをテストしてみましょう。「Debug」を選択し、サンプルの学習シナリオを入力します。

  • サンプルテキスト: 「私は技術的なバックグラウンドを持たない、開発者志望者です。食品の原材料からエンドユーザーに健康情報を返すスマートフォンアプリを作るために、基本的なコーディングを学びたいです。読むことで学ぶのが好きで、必要とあらばプロの水泳選手にもなれます。」

入力に基づき、一連の学習ステップを示すテキストベースのプランと、プランの詳細を確認する JSON 出力が表示されます。

image.png

  1. AIアプリをデプロイして、楽しみましょう。

別のエージェントを作成する準備ができたら、会議の文字起こしを取り込んで要約し、アクションアイテムを共有できる Meeting Summarizer エージェントの構築ガイドをチェックしてください。

このページに関わるもの

製品

  • AIGNE active

    エージェントを構築する開発者向けのフレームワーク。コマンドラインからプロジェクトを作成して実行し、詳細が必要な部分はフレームワークのドキュメントを参照します。

用語

  • LLM

    大規模言語モデル。ここでは、毎回同じ答えを返す部品ではなく、明確な境界と検証可能な記録を与えるべき非決定的な行為者として扱います。

  • エージェント

    役に立つシステムでは、行動する人・サービス・agent、代理する相手、その行動への権限を区別できます。三つを一つの共有秘密にすると、後から判断を説明しにくくなります。