3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bedrock AgentCoreで会話を記憶するAIエージェントを作る

Last updated at Posted at 2025-11-23

はじめに

ご注意
非エンジニアが右往左往しながら書いています。誤りや無駄なコードを含む場合がありますのでご容赦ください。

Amazon Bedrock AgentCoreが東京リージョンでも利用可能になったので、その記憶機能(AgentCore Memory)を試してみました。本記事では、AgentCoreの基本的なデプロイから、組み込みの記憶ストラテジーを活用した実装までを実践します。

この記事は、AWS公式ドキュメントおよびクラスメソッドさんのブログを参考に、自己学習のために取り組んだ内容をまとめたものです。

Amazon Bedrock AgentCoreとは

Amazon Bedrock AgentCoreは、AIエージェントを安全かつスケーラブルにデプロイ・運用するためのAWSのマネージドサービス群です。

主な特徴

  • フレームワーク・モデル非依存: Strands Agents、LangGraph、CrewAIなど多様なフレームワークに対応
  • マネージドな実行環境: インフラ管理不要で、トラフィックに応じた自動スケール
  • セッション分離: 各セッションが専用microVMで実行され、完全に分離
  • サーバーレス: 使った分だけの従量課金

AgentCoreのサービス群

AgentCoreは以下のような複数のサービスで構成されています:

サービス 役割
AgentCore Runtime エージェントの実行環境。セッション分離、長時間実行、マルチモーダル対応
AgentCore Memory 短期・長期記憶の管理。会話履歴と学習内容の保持
AgentCore Gateway API/Lambda関数をMCP互換ツールに変換。統一的なツールアクセス
AgentCore Identity 認証・認可の管理。OAuth 2.0対応、トークン管理
AgentCore Code Interpreter コード実行環境。サンドボックスでの安全な実行
AgentCore Browser Webブラウザ機能。エージェントによるWeb操作
AgentCore Observability 監視・デバッグ。X-Ray、CloudWatch統合

本記事では、この中でもAgentCore Memoryに焦点を当てて実装していきます。

AgentCore Memoryとは

AgentCore Memoryは、AIエージェントに記憶能力を持たせるマネージドサービスです。エージェントが過去の会話を記憶し、ユーザーごとにパーソナライズされた応答を実現します。AIチャットアプリを作る際、セッションの一連の会話歴を全て入力に使うことが私の場合多かったですが、少し実装方法が変わりそうですね。

短期記憶と長期記憶

AgentCore Memoryは2種類の記憶を提供します:

短期記憶(Short-term Memory)

  • セッション内の会話履歴を保持
  • create_event APIで会話を保存
  • list_events APIで即座に取得可能
  • セッション終了後も一定期間保持(設定可能)

長期記憶(Long-term Memory)

  • 会話から重要な情報を自動抽出
  • 非同期のバックグラウンド処理で生成
  • ユーザー情報や学習内容を永続化
  • retrieve_memory_records APIで検索・取得

3つの組み込みストラテジー

AgentCoreは、会話から自動的に以下の3種類の情報を抽出します:

ストラテジー 役割 デフォルト名前空間
SEMANTIC 事実や知識 「太郎です」「Pythonを勉強中」 /users/{actorId}/facts
USER_PREFERENCE ユーザーの好み 「実践的な例が好き」 /users/{actorId}/preferences
SUMMARIZATION 会話の要約 セッション全体のサマリー /summaries/{actorId}/{sessionId}
  • 名前空間を使ってユーザーごと・種類ごとにデータを分離

ID階層の3層構造

AgentCore Memoryは以下の3層でデータを管理します:

レベル ID種別 役割 具体例
1 Memory ID メモリインスタンス全体 app_mem-xxxxxxxx
2 Actor ID ユーザーを識別 user-001, user-002
3 Session ID セッションを識別 session-001-abc123...

この階層構造により、ユーザーごと・セッションごとにデータを適切に分離できます。

前提条件

  • AWSアカウント
  • IAMユーザーの作成とアクセスキーの取得
  • Python 3.11以上
  • boto3
  • AWS CLIの設定

環境構築

プロジェクトの作成

mkdir agentcore_memory_demo
cd agentcore_memory_demo

必要なファイルの作成

touch requirements.txt .env app.py
mkdir prompts
touch prompts/agent_prompt.txt

requirements.txt

python-dotenv
strands-agents
strands-agents-tools
bedrock-agentcore
bedrock-agentcore-starter-toolkit
boto3>=1.39.8
botocore>=1.33.8

Python仮想環境のセットアップ

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

環境変数の設定

.env
AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
AWS_DEFAULT_REGION=ap-northeast-1
MODEL=jp.anthropic.claude-haiku-4-5-20251001-v1:0
# MEMORY_IDは初回デプロイ後に追加します

注意: .envファイルはローカル開発用です。AgentCoreにデプロイする際は、agentcore launch --envで環境変数を渡します。

AgentCore Starter Toolkitについて

AgentCore Starter Toolkitは、AgentCoreへのデプロイを簡単にするCLIツールです。

Starter Toolkitの特徴

  • 簡単なデプロイ: agentcore configureagentcore launchだけでデプロイ完了
  • 自動インフラ構築: CodeBuildやECRなどのインフラを自動作成
  • 開発に最適: プロトタイプや学習目的に最適

本番環境でのデプロイ方法

本番環境では、より制御可能な方法が推奨されると思います:

AWS CDK
CloudFormation
Terraform

  • インフラをコードで管理でき、バージョン管理が可能
  • 複数環境(dev/staging/prod)の管理が容易

本記事では、学習目的のためStarter Toolkitを使用します。

実装:記憶機能付きエージェント

それでは、3つの組み込みストラテジーを活用したエージェントを実装していきます。

プロンプトファイル

まず、エージェントのシステムプロンプトを作成します。

prompts/agent_prompt.txt
あなたは親切で知識豊富なAIアシスタントです。ユーザーとの会話を通じて、質問に答えたり、情報を提供したりします。

【あなたの役割】
- ユーザーの質問に丁寧に答える
- 会話の文脈を理解し、自然な対話を行う
- ユーザーについて学んだ情報を覚えておく
- 必要に応じて過去の会話を参照する

【対応方針】
- 簡潔で分かりやすい説明を心がける
- 不確かな情報については、その旨を伝える
- ユーザーの意図を汲み取り、適切に応答する

app.py

試行錯誤しながら落ち着いたコードが以下です。

app.py
import os
import boto3
from dotenv import load_dotenv
from strands import Agent
from bedrock_agentcore.runtime import BedrockAgentCoreApp

load_dotenv()

MODEL = os.environ.get("MODEL", "jp.anthropic.claude-haiku-4-5-20251001-v1:0")
MEMORY_ID = os.environ.get("MEMORY_ID", "")

# AgentCore data clientの初期化
try:
    data_client = boto3.client('bedrock-agentcore', region_name='ap-northeast-1')
    print("✓ AgentCore data client initialized")
except Exception as e:
    print(f"Warning: Failed to initialize data client: {e}")
    data_client = None

def load_prompt(filename: str) -> str:
    """プロンプトファイルを読み込む"""
    prompt_path = os.path.join(os.path.dirname(__file__), "prompts", filename)
    with open(prompt_path, "r", encoding="utf-8") as f:
        return f.read()

def get_short_term_memory(actor_id: str, session_id: str) -> list:
    """短期記憶(会話履歴)を取得"""
    if not data_client or not MEMORY_ID or not session_id:
        return []
    try:
        response = data_client.list_events(
            memoryId=MEMORY_ID,
            actorId=actor_id,
            sessionId=session_id,
            maxResults=10
        )
        events = response.get('events', [])
        print(f"✓ Retrieved {len(events)} events from short-term memory")
        return events
    except Exception as e:
        print(f"短期記憶取得エラー: {e}")
        return []

def save_event(actor_id: str, session_id: str, role: str, content: str):
    """イベントを保存"""
    if not data_client or not MEMORY_ID or not session_id:
        return
    try:
        import time
        data_client.create_event(
            memoryId=MEMORY_ID,
            actorId=actor_id,
            sessionId=session_id,
            eventTimestamp=time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime()),
            payload=[
                {
                    'conversational': {
                        'role': role,
                        'content': {'text': content}
                    }
                }
            ]
        )
        print(f"✓ Event saved: {role}")
    except Exception as e:
        print(f"イベント保存エラー: {e}")

def get_semantic_facts(actor_id: str) -> list:
    """事実・知識を取得(SEMANTICストラテジー)"""
    if not data_client or not MEMORY_ID:
        return []
    try:
        namespace = f"/users/{actor_id}/facts"
        query = "user facts knowledge information"
        print(f"  Facts Namespace: {namespace}")
        
        response = data_client.retrieve_memory_records(
            memoryId=MEMORY_ID,
            namespace=namespace,
            searchCriteria={"searchQuery": query}
        )
        records = response.get('memoryRecordSummaries', [])
        print(f"✓ Retrieved {len(records)} fact records")
        return records
    except Exception as e:
        print(f"事実取得エラー: {e}")
        return []

def get_user_preferences(actor_id: str) -> list:
    """ユーザーの好みを取得(USER_PREFERENCEストラテジー)"""
    if not data_client or not MEMORY_ID:
        return []
    try:
        namespace = f"/users/{actor_id}/preferences"
        query = "user preferences likes dislikes style"
        print(f"  Preferences Namespace: {namespace}")
        
        response = data_client.retrieve_memory_records(
            memoryId=MEMORY_ID,
            namespace=namespace,
            searchCriteria={"searchQuery": query}
        )
        records = response.get('memoryRecordSummaries', [])
        print(f"✓ Retrieved {len(records)} preference records")
        return records
    except Exception as e:
        print(f"好み取得エラー: {e}")
        return []

def get_session_summaries(actor_id: str, session_id: str = None) -> list:
    """セッションサマリーを取得(SUMMARIZATIONストラテジー)"""
    if not data_client or not MEMORY_ID:
        return []
    try:
        if session_id:
            namespace = f"/summaries/{actor_id}/{session_id}"
        else:
            namespace = f"/summaries/{actor_id}"
        
        query = "session summary"
        print(f"  Summaries Namespace: {namespace}")
        
        response = data_client.retrieve_memory_records(
            memoryId=MEMORY_ID,
            namespace=namespace,
            searchCriteria={"searchQuery": query}
        )
        records = response.get('memoryRecordSummaries', [])
        print(f"✓ Retrieved {len(records)} summary records")
        return records
    except Exception as e:
        print(f"サマリー取得エラー: {e}")
        return []

def build_context_prompt_with_strategies(base_prompt: str, short_term: list, 
                                         facts: list, preferences: list, 
                                         summaries: list) -> str:
    """3つのストラテジーからの情報を統合してプロンプトを構築"""
    context_parts = []
    
    # 事実・知識
    if facts:
        context_parts.append("【ユーザーについての事実】")
        for record in facts:
            content = record.get('content', record.get('summary', ''))
            if content:
                context_parts.append(f"- {content}")
    
    # ユーザーの好み
    if preferences:
        context_parts.append("\n【ユーザーの好み】")
        for record in preferences:
            content = record.get('content', record.get('summary', ''))
            if content:
                context_parts.append(f"- {content}")
    
    # セッションサマリー
    if summaries:
        context_parts.append("\n【過去のセッション】")
        for record in summaries:
            content = record.get('content', record.get('summary', ''))
            if content:
                context_parts.append(f"- {content}")
    
    # 短期記憶(会話履歴)
    if short_term:
        context_parts.append("\n【今回の会話】")
        for event in reversed(short_term):
            payload = event.get('payload', [])
            for item in payload:
                if 'conversational' in item:
                    conv = item['conversational']
                    role = conv.get('role', '')
                    content = conv.get('content', {}).get('text', '')
                    if role == 'USER':
                        context_parts.append(f"ユーザー: {content}")
                    elif role == 'ASSISTANT':
                        context_parts.append(f"アシスタント: {content}")
    
    if context_parts:
        return "\n".join(context_parts) + f"\n\n【現在のリクエスト】\n{base_prompt}"
    return base_prompt

# AgentCore Appの初期化
app = BedrockAgentCoreApp()

@app.entrypoint
def invoke_agent(payload, context):
    """エージェントのエントリーポイント"""
    prompt = payload.get("inputText", "")
    
    # Session IDの取得
    session_id = ""
    if hasattr(context, "sessionId"):
        session_id = context.sessionId
    elif hasattr(context, "session_id"):
        session_id = context.session_id
    elif isinstance(context, dict):
        session_id = context.get("sessionId", context.get("session_id", ""))
    
    print(f"=== AgentCore Memory Demo ===")
    print(f"Session ID: {session_id}")
    
    # Session IDからUser IDを抽出
    user_id = "default"
    if session_id and session_id.startswith("session-"):
        parts = session_id.split("-")
        if len(parts) >= 2:
            user_id = parts[1]
    
    actor_id = f"user-{user_id}"
    print(f"Actor ID: {actor_id}")
    
    # 3つのストラテジーからメモリを取得
    short_term = get_short_term_memory(actor_id, session_id)
    facts = get_semantic_facts(actor_id)
    preferences = get_user_preferences(actor_id)
    summaries = get_session_summaries(actor_id)
    
    # ユーザーの入力を保存
    save_event(actor_id, session_id, "USER", prompt)
    
    # 3つのストラテジーからの情報を統合してプロンプトを構築
    full_prompt = build_context_prompt_with_strategies(
        prompt, short_term, facts, preferences, summaries
    )
    
    # エージェントを実行
    agent = Agent(
        model=MODEL,
        system_prompt=load_prompt("agent_prompt.txt")
    )
    response = agent(full_prompt)
    
    # アシスタントの応答を保存
    response_text = str(response.message)
    save_event(actor_id, session_id, "ASSISTANT", response_text)
    
    return response_text

# アプリケーションを起動
app.run()

コードの解説

ポイント:

  1. 3つのストラテジーからの取得: get_semantic_factsget_user_preferencesget_session_summariesで、それぞれの名前空間から情報を取得

  2. 名前空間の設計:

    • 事実: /users/{actorId}/facts
    • 好み: /users/{actorId}/preferences
    • サマリー: /summaries/{actorId}/{sessionId}
  3. フィールド名の注意: メモリレコードの内容はcontentフィールドに格納されている

  4. プロンプトの構造化: build_context_prompt_with_strategiesで、事実・好み・サマリー・会話履歴を明確に分けて提示

デプロイ

AgentCoreへのデプロイ

agentcore configure --entrypoint app.py

対話形式で設定します:

  • Agent name: Enterを押せばPythonファイル名に合わせてくれます。appだと見分けにくいので命名推奨。
  • 依存関係: Enter(requirements.txtを使用)
  • デプロイタイプ: Enter(Direct Code Deploy)
  • Python version: 2(Python 3.11)
  • 実行ロール: Enter(自動作成)
  • 認証: no
  • メモリ: Enter(新規作成)
  • 長期記憶: yesデフォルトはnoですが今回検証のためにONにしました

.bedrock_agentcore.yamlが生成されます。

agentcore launch

デプロイが完了したら、.bedrock_agentcore.yamlに記述されたメモリIDを確認します:
あるいは下記でも確認できます。

agentcore memory list

出力例:

Memory ID: app_mem-xxxxxxxx
Name: app-memory
Status: ACTIVE

環境変数の設定

.envファイルにメモリIDを追加:

.env
AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
AWS_DEFAULT_REGION=ap-northeast-1
MODEL=jp.anthropic.claude-haiku-4-5-20251001-v1:0
MEMORY_ID=app_mem-xxxxxxxx  # ← 追加

メモ: 今回のやり方では--envオプションで明示的に渡してもう一度デプロイしなおす必要があります:

agentcore launch --auto-update-on-conflict \
  --env MEMORY_ID=app_mem-xxxxxxxx \
  --env MODEL=jp.anthropic.claude-haiku-4-5-20251001-v1:0

参考:オブザーバビリティ

今回はメインで取り扱いませんが、AgentCore重要機能の一つであるオブザーバビリティについてマネジメントコンソールの画面を紹介します。確かにわかりやすい

Runtime metrics
Amazon Bedrock AgentCore -> エージェントランタイム -> エンドポイント -> Dashboard
image.png

メモリー
Amazon Bedrock AgentCore -> メモリー
image.png

動作確認

会話の実行

ユーザー001として会話してみます:

# 自己紹介と事実を伝える。ユーザーIDはsession-の後です。
agentcore invoke '{"inputText": "こんにちは。太郎です。Pythonのデータ分析を勉強しています"}' \
  --session-id session-001-abc123def456ghi789jkl000

# そのまま続けて好みを伝える
agentcore invoke '{"inputText": "私は実践的な例を見ながら学ぶのが好きです。理論だけだと眠くなります"}' \
  --session-id session-001-abc123def456ghi789jkl000

# 同じセッションで質問してみる
agentcore invoke '{"inputText": "私の名前は?"}' \
  --session-id session-001-abc123def456ghi789jkl000

問題なく会話を覚えていそうです

Response:
{'role': 'assistant', 'content': [{'text': 'こんにちは、太郎さん!\n\n**ここまでの会話内容をまとめます:**\n\n1. 
**自己紹介**\n   - あなたは太郎さん\n   - Pythonのデータ分析を勉強中\n   - PandasとMatplotlibを使用\n\n2. 
**あなたの学習スタイル** ⭐重要\n   - 実践的な例(コード)を見ながら学ぶのが好き...(以下略)'}]}

ログの確認

CloudWatch Logsでエージェントの動作を確認できます:

# このスクリプトはエージェント実行時にターミナルに表示されています
aws logs tail /aws/bedrock-agentcore/runtimes/app-xxxxxxxx-DEFAULT \
  --log-stream-name-prefix "2xx/xx/xx/[runtime-logs" --follow

ログには以下のような出力が表示されます:

=== AgentCore Memory Demo ===
Session ID: session-001-abc123def456ghi789jkl000
Actor ID: user-001
  Facts Namespace: /users/user-001/facts
✓ Retrieved 2 fact records
  Preferences Namespace: /users/user-001/preferences
✓ Retrieved 1 preference records
  Summaries Namespace: /summaries/user-001
✓ Retrieved 0 summary records
✓ Event saved: USER
✓ Event saved: ASSISTANT

別のユーザーで確認

ユーザー002として会話してみます:

agentcore invoke '{"inputText": "私の名前は?"}' \
  --session-id session-002-xyz123def456ghi789jkl000

ユーザー001の情報(太郎さん)は返ってこないことが確認できます。これは、名前空間によってユーザーごとにデータが分離されているためです。

Response:
{'role': 'assistant', 'content': [{'text': 
'申し訳ありませんが、これが私たちの最初の会話です。以前のお話はないようです。...(以下略)'}]}

ユーザーが002として扱われ、記憶データも入っていないことがわかります。
ログも見てみます。

# ログの抜粋
✓ AgentCore data client initialized
=== Phase 3: Built-in Strategies ===
Actor ID: user-002 # ユーザーは002
✓ Retrieved 0 events from short-term memory # 短期記憶なし
Facts Namespace: /users/user-002/facts
Query: user facts knowledge information
✓ Retrieved 0 fact records # ファクトデータ何も引用できず
Preferences Namespace: /users/user-002/preferences
Query: user preferences likes dislikes style
✓ Retrieved 0 preference records # 好みのデータ何も引用できず
Summaries Namespace: /summaries/user-002
✓ Retrieved 0 summary records # 要約データ何も引用できず
✓ Event saved: USER

長期記憶の確認

次は長期記憶の確認です。ユーザーは001としながら、別のセッションを開始した時にエージェント側は001のことを覚えられているのか確認してみます。

# ユーザーは001のままセッションID末尾を変更。会話自体は新規で開始される
agentcore invoke '{"inputText": "私のこと覚えて います?"}'   --session-id session-001-abc123def456ghi789jkl9999

正確にユーザーのことを把握しているようです。

Response:
{'role': 'assistant', 'content': [{'text': 'こんにちは、太郎さん!会話内容を整理してお伝えします。\n\n## 📚 
これまでの話の流れ\n\n**1. あなたについて**\n- Pythonのデータ分析を勉強中\n- pandasとmatplotlibを使用している\n- 
**実践的なコード例を見ながら学ぶのが好き**(理論だけだと眠くなるタイプ)\n\n**2. アシスタントの対応方針**\n- 
理論的な説明は最小限に\n- **実際に動くコード例を中心**に説明する\n- あなたのスタイルに合わせて進める\n\n**3. 
具体例**\n- 月別売上推移のようなデータ分析の実例をコードで提示しました\n\n## 🎯 
次のステップ\n\nここからどうしたいですか?例えば:\n- ✅ 具体的なデータ分析テーマを決めて練習したい\n- ✅ 
pandasの特定の操作方法を学びたい\n- ✅ matplotlibでグラフを作る方法を知りたい\n- ✅ 
新しいテーマから始めたい\n\nどんなことをやってみたいですか?'}]}

先ほど同様の方法でログを見てみます。

# ログ1部抜粋
✓ AgentCore data client initialized
=== Phase 3: Built-in Strategies ===
Session ID: session-010-abc123def456ghi789jkl999 # 新規セッション
Actor ID: user-010
✓ Retrieved 0 events from short-term memory # 新規なので短期記憶なし
Facts Namespace: /users/user-010/facts
Query: user facts knowledge information
✓ Retrieved 2 fact records # ファクト情報を検索できている
DEBUG: First record keys: ['memoryRecordId', 'content', 'memoryStrategyId', 'namespaces', 'createdAt', 'score']
DEBUG: First record content: {'text': '太郎はpandasとmatplotlibを使っている'}
Preferences Namespace: /users/user-010/preferences
Query: user preferences likes dislikes style
✓ Retrieved 2 preference records # 嗜好の話題を検索できている
Summaries Namespace: /summaries/user-010
✓ Retrieved 2 summary records # 要約を検索できている
✓ Event saved: USER

短期記憶でなく、このユーザーとの長期記憶から会話を続けようとしていることがわかります。期待通りの結果です。

メモ
体感ですが、長期記憶が固定されるまで数分かかるように思います

実装のポイント

名前空間の設計

組み込みストラテジーを使う場合、以下のデフォルト名前空間を使用します:

ストラテジー 名前空間パターン
SEMANTIC /users/{actorId}/facts
USER_PREFERENCE /users/{actorId}/preferences
SUMMARIZATION /summaries/{actorId}/{sessionId}

プロンプトの構造化

記憶の種類ごとに明確に分けて提示することで、LLMが適切に文脈を理解しやすくなると思います:

【ユーザーについての事実】
- 太郎です
- Pythonのデータ分析を勉強しています

【ユーザーの好み】
- 実践的な例を見ながら学ぶのが好き

【今回の会話】
ユーザー: 私の名前は?

【現在のリクエスト】
私の名前は?

まとめ

本記事では、Amazon Bedrock AgentCore Memoryを使って、記憶機能付きAIエージェントを実装しました。
ChatGPTやClaudeでも記憶機能は充実してきていますが、それと似たようなことが割と簡単にできるというのが結構嬉しいポイントだなと思います。

AgentCoreの他の機能

本記事ではMemoryに焦点を当てましたが、AgentCoreには他にも多くの機能があります:

AgentCore Gateway

  • 既存のAPI/Lambda関数をMCP互換ツールに変換
  • 統一的なツールアクセスを提供
  • OAuth認証、API Key認証に対応
  • Salesforce、Slack、Jiraなどの1クリック統合

AgentCore Identity

  • エージェントの認証・認可を管理
  • OAuth 2.0フロー(Authorization Code Grant、Client Credentials Grant)をサポート
  • トークンボルトで安全にクレデンシャルを保管
  • IAM、Cognito、JWT認証に対応

AgentCore Code Interpreter

  • エージェントが生成したコードを安全に実行
  • サンドボックス環境で分離
  • Python実行環境を提供

AgentCore Browser

  • エージェントがWebブラウザを操作
  • セッション分離、記録機能
  • Web自動化ワークフローに対応

AgentCore Observability

  • X-Ray、CloudWatch統合
  • エージェントの実行をステップバイステップで可視化
  • メトリクス、ログ、トレースの統合監視

これらの機能を組み合わせることで、より高度なエージェントシステムを構築できます。特に、Gateway + Identity + Memoryの組み合わせは、本番環境でのエンタープライズグレードのエージェントにかなり有用な気はしますので深掘りしていきたいなと思います。

リソースの削除

検証が終わったら、リソースを削除しておきましょう。

# エージェントとメモリを削除
agentcore destroy --agent-name app

# 確認
agentcore list
agentcore memory list

注意: メモリを削除すると、保存されていた全ての会話履歴と長期記憶が失われます。必要なデータは事前にバックアップしてください。

参考文献

AWS公式ドキュメント

AWSブログ

コミュニティ

あとがき

AWSのリソース情報を調べるのにAWS Knowledge MCP Serverが便利すぎますね。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?