AIエージェントが自己改善し続ける!Reflexioで会話から自動でプレイブックを生成する

タグ AIエージェント自己改善プレイブックPythonLLMMLOpsファインチューニング不要columnコラムlinuxLinuxmacGitHubオープンソースReflexioAIreflexio

AIエージェントが自己改善し続ける!Reflexioで会話から自動でプレイブックを生成する

ひとことでいうと

Reflexio(リフレクシオ)は、AIエージェントが会話のやり取りから自動で学習し続ける「自己改善ハーネス(補助フレームワーク)」です。ユーザーがエージェントの回答を訂正すると、その内容がそのまま「プレイブック(行動指針)」として保存されます。次回から同じ間違いを繰り返さなくなる仕組みです。再学習(ファインチューニング)は一切不要で、会話ログを渡すだけでエージェントが賢くなっていきます。公式ベンチマーク(GDPVal)では、最先端の自己改善エージェントと比較して計画ステップを中央値 −81%、トークン数を −72% 削減したという結果も報告されています。


こんな人におすすめ

1. チャットボットやAIエージェントを作っている開発者

ユーザーからのフィードバックをリアルタイムで学習させたい方に最適です。毎回プロンプト(AIへの指示文)を書き直さなくても、エージェントが自律的に改善するループを作れます。「回答のクセ」を直す作業が自動化されるため、運用コストを大きく減らせます。

2. 複数のユーザーが使う業務ツールを運営している方

ひとりのユーザーが教えた知識を、全ユーザーへ共有できる機能があります。組織全体のナレッジ(業務知識)を自動でエージェントに蓄積させたい場合に向いています。個別カスタマイズではなく、チーム全体への知識の伝播を狙う用途にぴったりです。

3. 本番AIの品質を継続的に管理したいMLOpsエンジニア

「シャドー比較モード(Shadow Comparison Mode)」で2つのエージェントを並走させ、ツール利用数や成功率を自動比較できます。モデルの品質が下がっていないかを早期に検知したい場面でも有効です。


インストール・使い方

Python 3.12 以上が必要です。ターミナル(文字を入力してコンピュータに命令を送る画面)を開いてください。

Step 1 — インストールする

pip install reflexio-ai

pip(ピップ)はPythonのライブラリ(部品集)を手軽に入れるツールです。このコマンドをコピー&ペーストして実行するだけでインストールが完了します。

Step 2 — サービスを起動する

reflexio services start

このコマンドでAPIサーバーが起動します。起動後は http://localhost:8081 でAPIが、http://localhost:8082 でドキュメントが参照できます。データは ~/.reflexio フォルダに SQLite(軽量なデータベース)として保存されます。

Step 3 — 会話ログを投稿してプレイブックを生成する

reflexio publish --user-id alice --wait --data '{
  "interactions": [
    {"role": "user",      "content": "新サービスをデプロイして"},
    {"role": "assistant", "content": "us-east-1 にデプロイ開始..."},
    {"role": "user",      "content": "待って。本番は必ず us-west-2 を使ってください"},
    {"role": "assistant", "content": "了解。us-west-2 に切り替えます"}
  ]
}'

publish コマンドに会話ログをJSON形式(データを整理して渡すフォーマット)で渡します。バックグラウンドでLLMがプロファイルとプレイブックを自動生成します。--wait を付けると生成が終わるまで待機してから結果を返します。

Step 4 — 抽出された知識を検索する

reflexio search "deployment region"

登録された知識をキーワードで検索できます。プレイブックが正しく保存されているか、すぐに確認できます。

ソースコードからビルドする場合は、リポジトリ(ソースコードの置き場)を git clone で取得後、uv syncnpm --prefix docs install を実行し、uv run reflexio services start で同様に起動できます。


デモについて

Reflexio はAPIサーバー・SQLiteストレージ・LLMのAPIキー(後述)が揃った環境で動くサーバー型ツールです。そのため、ブラウザ単体で試せるオンラインデモは提供されていません。ただし、pip install reflexio-ai 後に reflexio services start を実行すれば、http://localhost:8082 の Swagger UI(ウェブ上でAPIを試せる操作画面)からすべての機能をインタラクティブに操作できます。コマンドを覚えなくても、ブラウザ上でAPIの動作確認ができる点は便利です。


動かしてみた

公式が報告しているベンチマーク結果を見てみましょう。ローカルのSQLite上で、約3,000件のインデックス・30試行×20クエリという条件でテストしたところ、ベクトル検索と全文検索を組み合わせたハイブリッド検索で p50(中央値)57ms・p95 で 73ms という応答速度が確認されています。Apple Silicon搭載のMacBookでの計測値なので、使う環境によって多少変わる場合があります。

また、SOTA(最先端)の自己改善エージェントと比較した公式ベンチマーク(GDPVal)では、計画ステップを中央値 −81%、トークン数(APIの処理量の単位)を −72% 削減できたと報告されています。自己改善しながらもコストを大きく抑えられる点が大きな特長です。

試す前に確認しておくとよい環境の条件は以下のとおりです。

  • Python: 3.12 以上
  • LLM APIキー: OpenAI・Anthropic・Google Gemini・MiniMax などのいずれか1つ
  • ストレージ: SQLite による軽量保存のため、最小限のディスク容量で動作
  • ネットワーク: LLM呼び出しにインターネット接続が必要

Python SDKで使う

CLIのほか、Python SDK(ソフトウェア開発キット=プログラムから直接操作するための部品)からも同じ操作ができます。クライアントライブラリは pip install reflexio-client で単体インストール可能です。サーバーの全機能を立てなくても、APIエンドポイント(接続先)への接続だけで利用できます。

import reflexio

client = reflexio.ReflexioClient(url_endpoint="http://localhost:8081/")

client.publish_interaction(
    user_id="alice",
    interactions=[
        {"role": "user",      "content": "新サービスをデプロイして"},
        {"role": "assistant", "content": "us-east-1 にデプロイ開始..."},
        {"role": "user",      "content": "本番は us-west-2 を使うルールです"},
        {"role": "assistant", "content": "了解。us-west-2 に切り替えます"},
    ],
    agent_version="v1",
    session_id="session-001",
)

# ユーザープロファイルを検索する
profiles = client.search_user_profiles(
    reflexio.SearchUserProfileRequest(query="deployment region preference")
)
print(profiles)

publish_interaction を呼び出すと、バックグラウンドでLLMがプロファイルとプレイブックを生成します。search_user_profiles で蓄積された知識を後から検索・取り出せます。


実践のコツ

すぐ試せる行動をまとめます。

  • 訂正の内容はできるだけ具体的に書く: 「違う」より「本番環境は us-west-2 を使ってください」のように、どう変えてほしいかを明示すると精度の高いプレイブックが生成されます。
  • --wait フラグを必ず付ける: CLIで試す際に --wait を付けると、プレイブックの生成が終わってから結果を確認できます。付け忘れると生成途中の状態で検索してしまう場合があります。
  • expert_content フィールドを活用する: 人間の専門家が「理想の回答」を登録すると、エージェントの回答との差分から自動でプレイブックを生成できます。精度を高めたいときに特に有効です。
  • APIキーは環境変数で管理する: OpenAIやAnthropicのキーをコードに直書きせず、.env ファイルや環境変数として管理しましょう。セキュリティ上の基本的な習慣です。
  • Shadow Comparison Mode で本番前に品質確認: メインのエージェントとシャドーエージェントを並走させ、どちらが良い回答を返すかを数値で比較してから切り替えるとリスクを減らせます。
  • reflexio search で定期的に蓄積を確認する: 登録内容が意図どおりに保存されているかを定期的に検索して確認すると、エージェントの改善が順調に進んでいるか把握しやすくなります。

活用アイデア

  • カスタマーサポートボット: オペレーターが「その回答は違う」と訂正するたびにルールが自動化されます。FAQ(よくある質問集)を手動でメンテナンスする手間が大幅に減ります。
  • 社内ナレッジベースエージェント: 経理・法務などの担当者が「理想の回答」を expert_content フィールドに登録すると、部門の暗黙知がプレイブックとして蓄積されていきます。
  • コード生成AIの品質改善: Claude Codeとの公式インテグレーションが提供されており、コーディングセッションのフックとして組み込むことで、チーム固有のコーディング規約をエージェントに継続的に学習させられます。
  • A/Bテストによるモデル評価: Shadow Comparison Mode でメインとシャドーの2エージェントを並走させ、ツール利用数・成功率・トークン効率を自動比較できます。
  • 教育・学習支援ボット: 学習者の誤答をエージェントが訂正されると、以降は同じ誤りを繰り返さないパーソナル学習AIを構築できます。フィードバックが蓄積されるほど精度が上がります。
  • 多言語対応エージェントの改善: プレイブックを汎用的な形で記述しておくことで、ある言語での訂正内容を他の言語でのやり取りにも活かす一元管理が可能です。

用語とポイント解説

プロファイル(User Profile) ユーザーの行動傾向や好みを記録したものです。かんたんに言うと、「この人はいつも本番環境に us-west-2 を使う」といった個人の設定をエージェントが覚えておく仕組みです。会話の蓄積とともに自動的に更新されていきます。

プレイブック(Agent Playbook) エージェントが次回から取るべき行動指針のことです。かんたんに言うと、「こういうときはこう動け」というルール集です。似た事例をLLMがまとめて自動生成するため、人間がルールを一から書く必要がありません。

ハーネス(Harness) エージェント本体ではなく、その周囲に組み込む補助フレームワークのことです。かんたんに言うと、エージェントに「学習機能」をあとから取り付けるための仕組みです。Reflexio 自体がこのハーネスにあたります。

LiteLLM(ライトLLM) 複数のLLMプロバイダーを統一されたAPIで扱えるライブラリです。かんたんに言うと、OpenAI・Anthropic・Gemini などを同じコードで切り替えられる「共通リモコン」のようなものです。Reflexio はこれを介して複数のAIサービスに対応しています。

エキスパートコンテンツ(Expert Content) 人間の専門家が投稿する「理想の回答例」のことです。かんたんに言うと、AIの回答と専門家の模範解答を比べて、その差分からルールを自動生成する機能です。高品質なプレイブックを効率的に作りたいときに有効です。

Shadow Comparison Mode(シャドー比較モード) メインのエージェントとシャドー(影)エージェントを同時に動かして結果を比較するモードです。かんたんに言うと、「現在のAI」と「改善版のAI」を並走させてどちらが良いか数字で確かめる仕組みです。本番に投入する前の品質チェックに使えます。

ベクトル検索(Vector Search) 文章の意味を数値の列(ベクトル)に変換して類似度で検索する手法です。かんたんに言うと、「単語が完全一致しなくても意味が近ければヒットする検索」です。Reflexio は全文検索と組み合わせたハイブリッド検索を採用し、高速・高精度を実現しています。

ファインチューニング(Fine-tuning) AIモデルを特定のタスク向けに追加学習させることです。かんたんに言うと、「モデル自体を書き換えて賢くする作業」で、通常は時間とコストがかかります。Reflexio はこれを必要とせず、会話ログを渡すだけで改善が行われます。

SQLite(エスキューライト) ファイル1つで動く軽量なデータベース(情報を整理して保存する仕組み)です。かんたんに言うと、大型のデータベースサーバーを別途用意しなくても、ローカルPC上でデータを保存・管理できます。Reflexio のプロファイルやプレイブックはすべてここに保存されます。

APIキー(API Key) 外部サービス(OpenAI や Anthropic など)にアクセスするための「合言葉」です。かんたんに言うと、自分のアカウントと結びついた専用のパスワードで、LLMを使うために必要です。コードに直書きせず、環境変数で安全に管理することが推奨されています。


Reflexio を使うと、会話を重ねるほどエージェントが自律的に賢くなっていきます。ファインチューニングや複雑なインフラなしに、日常の訂正がそのまま組織の知識資産へと変わります。ぜひカスタマーサポートボットの品質改善や社内ナレッジベースの自動化などに活用してみてはいかがでしょうか。