add-redis-iris について
既存の Python エージェントを調査し、フレームワークやエージェントループを書き換えずに適切な箇所へ Redis Iris 製品を追加するスキルです。不足機能の特定、パッケージの導入、サービス設定、選択した製品の接続を支援します。
主な機能
- 01モデル呼び出しとツール登録箇所の特定
- 02フレームワークと導入バージョンの確認
- 03不足機能を Redis Iris 製品に対応付け
- 04redis-iris の導入とプロファイル設定
- 05既存エージェントを維持した製品接続
活用シーン
- 01長期状態を持たないエージェントへのメモリ追加
- 02埋め込み済みポリシーや手順の Playbooks への移行
- 03Context Gateway による MCP サーバー設定の集約
- 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_core | LangGraph / LangChain |
agents(パッケージ openai-agents) | OpenAI Agents SDK |
google.adk | Google ADK |
pydantic_ai | Pydantic AI |
crewai | CrewAI |
openai、anthropic、またはその他のモデルクライアントのみ | 通常のループ |
ロックファイルでバージョンを確認します。製品スキルは MCP 経由で、そのバージョンの API を調べます。
3. 不足しているものを見つける
| コード上の症状 | 製品 | スキル |
|---|---|---|
長期メモリがない、InMemoryStore のみ、チェックポインターのみ、またはメモリが辞書やローカル DB に保存されている | Agent Memory | add-agent-memory |
| 独自の REST または MCP クライアント、手書きのアダプター、あるいはモデル向けメモリツールを介して、すでに Redis Agent Memory を利用している | Agent Memory | add-agent-memory、"Already on Redis Agent Memory" |
| ポリシーや手順がプロンプトにハードコードされている、ツールの使用ガイダンスがプロンプト内にある、またはポリシー文書を対象にしたベクトルストアがある | Agent Playbooks | add-agent-playbooks |
| セマンティックレスポンスキャッシュがある:モデルの回答を保存して後続ユーザーに再提供し、手作業で内容を整えている | Agent Playbooks | add-agent-playbooks、"Replacing a response cache" |
| エージェント内で複数の MCP サーバーを1つずつ設定しており、それぞれに独自のシークレットがある、またはプロンプト内のツールスキーマが多すぎる | Context Gateway | add-context-gateway |
| キーワードに基づく if/else ルーター、または経路選択だけを目的とする LLM 呼び出しがある | Intent Router | add-intent-router |
| ターンごとのトレースがない:1つの回答で使用された LLM 呼び出し、ツール、検索結果やコストを確認する方法がない | Lens | add-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 は設定が不足している場合やサービスが停止している場合に例外を発生させます。製品の障害によってターンを失敗させてもよいか確認してください。本番環境のエージェントの多くは例外を捕捉し、空のブロックで処理を続けます。
- シークレットをコミットしないでください。