0Pricing
AI Prompt Engineering · レッスン

LLM向けカスタムツールとプラグイン

LLMが中核知識を超えた能力を発揮できるよう、カスタムツールを開発して統合します。

「LLM向けカスタムツールとプラグイン」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全3レッスンが含まれています。

カスタムツールとは

「ツールとエージェントを活用した高度なプロンプト」コースの最後のレッスンへようこそ。本日は、Large Language Models(LLM)向けのカスタムツールとプラグインについて詳しく学びます。

カスタムツールを使うと、LLMは学習データの範囲を超えて、現実世界や特定のシステムとやり取りできるようになります。LLMに教える特別なスキルだと考えてください。

  • 機能を拡張する:新しい関数を追加します。
  • リアルタイムデータにアクセスする:最新情報を取得します。
  • アクションを実行する:外部システムに変更を加えます。

カスタム機能と組み込み機能

基本的な関数呼び出しとAPI統合について学びました。カスタムツールは、そこからさらに一歩進んだものです。

LLMは「テキストを要約する」方法を本来知っているかもしれませんが、ツールを提供しない限り「ロンドンの天気を確認する」方法は知りません。カスタムツールはこの隔たりを埋め、LLMの中核知識ベースに含まれていない、特定の外部機能を提供します。

カスタムツールの構成

LLMがカスタムツールをいつ、どのように使うか理解できるように、すべてのカスタムツールには明確な定義が必要です。主な構成要素は次のとおりです。

  • 名前:一意の識別子(例:get_current_time)。
  • 説明:ツールの機能と使用するタイミングを説明します。これはLLMの意思決定において非常に重要です。
  • パラメーター:ツールが機能するために必要な入力(例:時刻ツールのtimezone)。
  • 想定される出力:ツールが返す情報の種類です。

スキーマによるツールの説明

LLMにカスタムツールを「教える」には、多くの場合JSONスキーマなどの構造化された形式で、その定義を提供します。このスキーマによって、LLMはツールを正しく呼び出すために必要なすべての情報を把握できます。

ここでは、get_current_timeツールをどのように記述するか、簡略化した例を見てみましょう。

{
  "name": "get_current_time",
  "description": "Gets the current time in a specified timezone.",
  "parameters": {
    "type": "object",
    "properties": {
      "timezone": {
        "type": "string",
        "description": "The timezone to get the time for (e.g., UTC, America/New_York)."
      }
    },
    "required": []
  }
}

シンプルなツールの構築:時刻の取得

実用的な例として、get_current_timeという名前のツールを作成しましょう。このツールは、指定されたタイムゾーン(任意)における現在時刻を返します。

LLMが理解するのはスキーマに記述された説明ですが、説明されたアクションを実行する実際のコードを書くのは私たちの役割です。このコードは、LLMがツールの呼び出しを決定したときに外部で実行されます。

ツールの実装例

このPythonコードのスニペットは、get_current_timeツールが内部でどのように実装されるかを示しています。LLMがツールを呼び出すと、この関数(または選択した言語で記述した同様のロジック)が実行され、結果が取得されます。

実行して、出力を確認してみましょう。

import datetime

def get_current_time(timezone="UTC"):
    """
    Returns the current time in the specified timezone.
    """
    # For simplicity, we'll return UTC time and note timezone
    now = datetime.datetime.now(datetime.timezone.utc)
    return f"Current time in {timezone}: {now.strftime('%Y-%m-%d %H:%M:%S')} (UTC basis)"

# This is the entry point that would be called by the LLM's integration layer
if __name__ == "__main__":
    print(get_current_time())
    print(get_current_time(timezone="America/New_York"))

LLMによるツール呼び出しの流れ

LLMがカスタムツールを使用する一般的な流れは次のとおりです。

  1. ユーザープロンプト:LLMに質問します(例:「ニューヨークは今何時ですか?」)。
  2. LLMの判断:LLMがプロンプトと、利用可能なツールの説明を分析します。
  3. ツール呼び出し:関連するツールがある場合、LLMがツール呼び出しを生成します(例:get_current_time(timezone="America/New_York"))。
  4. 実行:システムが実際のツールコードを実行します。
  5. 結果:ツールの出力がLLMに返されます。
  6. LLMの応答:LLMがツールの出力を使って、ユーザーへの最終的な回答を作成します。

カスタムツールを使ったプロンプト

カスタムツールにアクセスできるLLMにプロンプトを送るとき、ツールを使うよう明示的に指示する必要はありません。ツールが必要になることを示す質問をするだけで構いません。

LLMがツールの説明を理解できるかどうかが重要です。適切な説明があれば、LLMは適切なタイミングで適切なツールを選択できます。

  • プロンプト:"What is the current time right now?"
  • LLMのアクション:get_current_time()を呼び出します
  • ツールの出力:"Current time in UTC: 2023-10-27 10:30:00 (UTC basis)"
  • LLMの応答:"The current time is 10:30 AM UTC."

カスタムツールのメリット

カスタムツールによって、LLMに強力な機能を追加できます。

  • ドメイン特化:一般的な学習の範囲を超える知識をLLMに提供します。
  • リアルタイムのインタラクション:最新情報(株価や天気など)にアクセスします。
  • 実行可能なAI:メールの送信や予定の予約など、LLMがアクションを実行できるようにします。
  • 精度の向上:事実に基づくツールの出力を利用して、ハルシネーションを減らします。
  • モジュール性:LLMのロジックを外部システムとのやり取りから分離できます。

クイックチェック:カスタムツール

LLM向けのカスタムツールの定義に不可欠な構成要素は、次のうちどれですか。

復習:LLMの能力を拡張する

このレッスンでは、LLMの能力を拡張する強力な方法であるカスタムツールとプラグインについて学びました。

  • カスタムツールによって、LLMは外部システムやデータとやり取りできます。
  • 多くの場合、JSONスキーマを使って、明確な定義(名前、説明、パラメーター)を指定する必要があります。
  • LLMがツールを呼び出したときに実行される実際のロジックは、開発者が実装します。
  • カスタムツールによって、LLMはドメイン固有の知識を得たり、リアルタイムデータにアクセスしたり、アクションを実行したりできるようになり、単純なテキスト生成を超えた処理が可能になります。

カスタムツールを使いこなせば、本当にインテリジェントでインタラクティブなAIアプリケーションを構築できます。

よくある質問

「LLM向けカスタムツールとプラグイン」レッスンは無料ですか?

はい。「LLM向けカスタムツールとプラグイン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全3レッスンが含まれています。

「LLM向けカスタムツールとプラグイン」で何を学びますか?

LLMが中核知識を超えた能力を発揮できるよう、カスタムツールを開発して統合します。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Prompt Engineeringを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「LLM向けカスタムツールとプラグイン」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Prompt Engineeringレッスンでコードを書いて実行できますか?

はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Function CallingとAPI統合
  2. マルチエージェントプロンプティングシステム
  3. LLM向けカスタムツールとプラグイン
← AI Prompt Engineeringに戻る