mcpField
A
add-redis-iris

add-redis-iris

github.com/redisエージェントワークフロー17411 回インストール今日更新
リポジトリ

add-redis-iris について

既存の Python エージェントを調査し、フレームワークやエージェントループを書き換えずに適切な箇所へ Redis Iris 製品を追加するスキルです。不足機能の特定、パッケージの導入、サービス設定、選択した製品の接続を支援します。

主な機能

  1. 01モデル呼び出しとツール登録箇所の特定
  2. 02フレームワークと導入バージョンの確認
  3. 03不足機能を Redis Iris 製品に対応付け
  4. 04redis-iris の導入とプロファイル設定
  5. 05既存エージェントを維持した製品接続

活用シーン

  1. 01長期状態を持たないエージェントへのメモリ追加
  2. 02埋め込み済みポリシーや手順の Playbooks への移行
  3. 03Context Gateway による MCP サーバー設定の集約
  4. 04ルーティングやターン単位のトレース追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/redis/agent-skills --skill add-redis-iris

インストール後、Claude Code で/add-redis-irisを入力して読み込まれたか確認します。

詳細

Redis Iris を追加する

確認し、インストールし、接続します。エージェントを書き換える必要はありません。

1. エージェントを見つける

以下を特定します。

  • ターン:モデルが呼び出される箇所(invoke、Runner.run、generate_content、agent.run、kickoff、chat.completions.create、messages.create)。
  • ツールの登録:ツールが定義され、モデルに渡される箇所。
  • ユーザー ID とセッション ID:リクエストのユーザー ID とスレッドまたはセッション ID が保持されている箇所。
  • ループが複数ある場合(手書きのループとフレームワーク、またはフレームワークが2つある場合):フレームワークをインポートしないモジュールで製品オブジェクトを一度だけ作成し、各ループの接続箇所でそれぞれを配線して、一度に1つのループを変換します。どのループを選ぶか、ユーザーに代わって決めないでください。

2. フレームワークを検出する

インポートを検索します。

インポートフレームワーク
langgraph、langchain、langchain_coreLangGraph / LangChain
agents(パッケージ openai-agents)OpenAI Agents SDK
google.adkGoogle ADK
pydantic_aiPydantic AI
crewaiCrewAI
openai、anthropic、またはその他のモデルクライアントのみ通常のループ

ロックファイルでバージョンを確認します。製品スキルは MCP 経由で、そのバージョンの API を調べます。

3. 不足しているものを見つける

コード上の症状製品スキル
長期メモリがない、InMemoryStore のみ、チェックポインターのみ、またはメモリが辞書やローカル DB に保存されているAgent Memoryadd-agent-memory
独自の REST または MCP クライアント、手書きのアダプター、あるいはモデル向けメモリツールを介して、すでに Redis Agent Memory を利用しているAgent Memoryadd-agent-memory、"Already on Redis Agent Memory"
ポリシーや手順がプロンプトにハードコードされている、ツールの使用ガイダンスがプロンプト内にある、またはポリシー文書を対象にしたベクトルストアがあるAgent Playbooksadd-agent-playbooks
セマンティックレスポンスキャッシュがある:モデルの回答を保存して後続ユーザーに再提供し、手作業で内容を整えているAgent Playbooksadd-agent-playbooks、"Replacing a response cache"
エージェント内で複数の MCP サーバーを1つずつ設定しており、それぞれに独自のシークレットがある、またはプロンプト内のツールスキーマが多すぎるContext Gatewayadd-context-gateway
キーワードに基づく if/else ルーター、または経路選択だけを目的とする LLM 呼び出しがあるIntent Routeradd-intent-router
ターンごとのトレースがない:1つの回答で使用された LLM 呼び出し、ツール、検索結果やコストを確認する方法がないLensadd-lens

ユーザーが製品名を指定している場合は、その製品を使用します。明確でない場合は、見つかったものを列挙して一度だけ質問します。

Lens は他の製品と併用することも、単独で導入することもできます。ターンをトレースし、各 Iris 製品はその内部で自身の処理をトレースします。他の製品を追加する場合も、あわせて提案してください。

4. インストールする

  • uv.lock または [tool.uv] がある場合:uv add redis-iris。
  • Poetry の場合:poetry add redis-iris。
  • それ以外の場合:プロジェクトの requirements ファイルに redis-iris を追加します。

プレリリース版が原因で依存関係の解決に失敗する場合は、uv add --prerelease=allow redis-iris で再試行します。次のコマンドで確認します:uv run python -c "import redis_iris; print(redis_iris.__version__)"。

5. ルーティング

選択した各製品のスキルに従ってください。複数の製品を使う場合は、各スキルでそれぞれ呼び出しが追加されます。必要に応じて、Iris.from_env() からまとめて構成することもできます(iris.agent_memory()、iris.agent_playbooks()、iris.context_gateway()、iris.intent_router())。

サービスが Redis Cloud で稼働しているか、セルフマネージドのスイートで稼働しているかを一度だけ確認し、プロジェクトの iris.toml プロファイルを作成してください。iris.toml を読み込むのは iris CLI のみです。アプリは環境変数を読み込みます。このファイルに保存できるのは URL のみです。TOML にトークンが含まれていると、CLI は 2 で終了します。IRIS_CONFIG=./iris.toml と IRIS_PROFILE=cloud または IRIS_PROFILE=suite を指定してプロファイルを選択します。

Redis Cloud。利用者がコンソールから .env に値を入力します。各製品について、IRIS_<PRODUCT>_URL、その ID、_API_KEY を設定します。

[profiles.cloud]
kind = "cloud"
console_url = "https://cloud.redis.io"

[profiles.cloud.agent_memory]
url = "https://gcp-us-east4.memory.redis.io"  # the data-plane URL from the console

セルフマネージドのスイート。オペレーターのトークンは .env.admin に設定し、アプリの .env には決して設定しないでください。service create --write-env .env を実行すると、アプリの .env が書き込まれます。

[profiles.suite]
kind = "self-managed"

[profiles.suite.agent_memory]
service_url = "https://memory-admin.example.com"  # control plane: the CLI calls it for service create and check
url = "https://memory.example.com"  # data plane: what the agent calls
identity_url = "https://memory-identity.example.com"  # Identity Service that mints the agent's keys

アプリが使用する製品ごとに、agent_memory、agent_playbooks、context_gateway、intent_router のいずれかのテーブルを追加してください。[profiles.suite.context_gateway] には url がありません。service create --write-env を実行すると、Gateway のエンドポイントが書き込まれます。Identity Service を共有するスイートでは、各 identity_url を設定する代わりに、[profiles.suite.identity] の url を一度だけ設定します。IRIS_<PRODUCT>_SERVICE_URL、IRIS_<PRODUCT>_URL、IRIS_<PRODUCT>_IDENTITY_URL を指定すると、プロファイルの設定が上書きされます。

ルール

  • ユーザーのフレームワーク、グラフ、プロンプトは維持してください。変更は最小限にしてください。
  • フレームワークの API を記憶だけで推測しないでください。MCP 経由で調べてください(各製品のスキルを参照)。
  • redis_iris の API のみを使用してください。redis_iris.integrations.langgraph.attach(追加パッケージ redis-iris[langgraph] が必要)と redis_iris.integrations.adk.attach(追加パッケージ不要)は存在します。IrisTool、iris.tools()、iris.turn() は存在しません。
  • SDK は設定が不足している場合やサービスが停止している場合に例外を発生させます。製品の障害によってターンを失敗させてもよいか確認してください。本番環境のエージェントの多くは例外を捕捉し、空のブロックで処理を続けます。
  • シークレットをコミットしないでください。

コメント