0Pricing
AI Agents · レッスン

手続き記憶(スキルライブラリ)

繰り返し発生するタスクで再利用できる、成功したプロンプトやツールの手順をライブラリ化します。

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

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

手続き記憶とは

手続き記憶には、「物事をどのように行うか」、つまり成功した再利用可能なアクションの手順が保存されます。エージェントが再生できる小さなレシピ集と考えるとよいでしょう。

例:

  • 「経費報告書を提出するには、A、次にB、次にCを実行します。」
  • 「ステージングビルドをデプロイするには、Xを実行し、Yを待ってからZを実行します。」

手続き記憶が必要な理由

手続き記憶がなければ、エージェントは毎回同じ計画を最初から考え直すため、遅く、高コストで、一貫性もなくなります。スキルライブラリがあれば、繰り返し発生するタスクをすぐに解決できます。

Storage Format

CREATE TABLE skills (
    id UUID PRIMARY KEY,
    name TEXT NOT NULL,
    description TEXT NOT NULL,
    embedding vector(1536),
    steps JSONB NOT NULL,           -- list of tool calls
    success_rate REAL DEFAULT 1.0,
    use_count INT DEFAULT 0,
    created_at TIMESTAMPTZ
);

新しいスキルを記録

実行が成功した後、LLMに手順を抽出させます。

extract_prompt = '''
The agent successfully completed: {user_request}

The trace was:
{trace}

Write this as a reusable skill with name, description, and step list.
Return JSON: {name, description, steps: [{tool, args_template}]}
'''
print(extract_prompt.strip())

Storing the Skill

skill = json.loads(llm.invoke(extract_prompt).content)
vec = embed(skill['description'])
conn.execute('''
    INSERT INTO skills (id, name, description, embedding, steps)
    VALUES (%s, %s, %s, %s, %s::jsonb)
''', (str(uuid.uuid4()), skill['name'], skill['description'], vec, json.dumps(skill['steps'])))

関連するスキルの取得

新しいユーザーリクエストが届いたら、スキルライブラリを検索します。

def find_skill(query):
    qvec = embed(query)
    rows = conn.execute('''
        SELECT name, steps FROM skills
        ORDER BY embedding <=> %s LIMIT 3
    ''', (qvec,))
    return rows

スキルテンプレート

スキルは、パラメータ用のスロットを持つテンプレートです。エージェントは実行ごとに実際の値を設定します。

skill = {
    'name': 'file_expense_report',
    'steps': [
        {'tool': 'open_form', 'args': {'form_id': 'expense'}},
        {'tool': 'fill_field', 'args': {'field': 'amount', 'value': '{amount}'}},
        {'tool': 'fill_field', 'args': {'field': 'category', 'value': '{category}'}},
        {'tool': 'submit'}
    ]
}
import json
print(json.dumps(skill, indent=2))

LLMへのスキルの提示

候補となるスキルをシステムプロンプトに注入し、どれを使うかをLLMに判断させます。

candidates = find_skill(user_request)
prompt = f'''
You can use these existing skills if applicable:
{json.dumps(candidates, indent=2)}

Or you can plan a new sequence.
'''

スキルの成功状況の追跡

使用するたびに、スキルの統計情報を更新します。

UPDATE skills
SET use_count = use_count + 1,
    success_rate = (success_rate * use_count + (CASE WHEN %s THEN 1 ELSE 0 END)) / (use_count + 1)
WHERE id = %s;

不適切なスキルの削除

success_rate が低いスキルや use_count が少ないスキルは削除する必要があります。

DELETE FROM skills
WHERE (success_rate < 0.5 AND use_count >= 5)
   OR (use_count = 0 AND created_at < NOW() - INTERVAL '30 days');

Voyager:有名な事例

Voyager(Wang et al. 2023)は、コードスニペットの「スキルライブラリ」を構築するMinecraftプレイエージェントです。手続き記憶に関する画期的な論文として知られています。

スキルの合成

スキルから別のスキルを呼び出すこともできます。エージェントは、より抽象度の高い手続きを段階的に学習します。

low_level_skill = {'name': 'open_email', 'steps': [...]}
high_level_skill = {'name': 'process_inbox', 'steps': [
    {'skill': 'open_email'},
    {'skill': 'reply_or_archive'}
]}
print(low_level_skill)
print(high_level_skill)

スキルのプライバシー

スキルは通常、ユーザー間で共有できるほど汎用的です。ただし、一部の「スキル」には、特定の口座番号など、ユーザー固有の情報が含まれる場合があります。共有ライブラリに保存する前に匿名化してください。

手続き記憶の定義

手続き記憶には何が保存されるのでしょうか。

まとめ

手続き記憶 = スキルライブラリです。成功した実行から手順を抽出し、新しいリクエストに関連する手順を取得し、成功率を追跡して、使われなくなったものを削除します。

よくある質問

「手続き記憶(スキルライブラリ)」レッスンは無料ですか?

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

「手続き記憶(スキルライブラリ)」で何を学びますか?

繰り返し発生するタスクで再利用できる、成功したプロンプトやツールの手順をライブラリ化します。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「手続き記憶(スキルライブラリ)」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. エピソード記憶(セッションごとの履歴)
  2. 意味記憶(ベクトル化された事実)
  3. 手続き記憶(スキルライブラリ)
  4. 記憶の減衰とガベージコレクション
← AI Agentsに戻る