Расширение conversational memory в Kiro CLI с помощью Amazon Bedrock AgentCore Memory — ИИ для бизнеса

Расширение conversational memory в Kiro CLI с помощью Amazon Bedrock AgentCore Memory

Прослушать статью

Agentic IDE, которые забывают, что вы говорили в прошлых сессиях, не слишком полезны. Вы работаете с большой кодовой базой и сложными бизнес-требованиями днями или неделями. Однако ваша IDE помнит вас только в текущей сессии и не может восстановить историю диалога, предпочтения, выведенные из разговоров, или дополнительные выводы. В результате вам приходится снова и снова передавать один и тот же контекст в каждой новой сессии. Такая необходимость повторно настраивать контекст снижает продуктивность.

В этом материале мы показываем, как расширить conversational memory в Kiro CLI с помощью кастомного сервера Model Context Protocol (MCP), который интегрируется с Amazon Bedrock AgentCore Memory. С помощью Kiro CLI можно взаимодействовать с AI-агентами Kiro прямо из терминала. Amazon Bedrock AgentCore Memory — это полностью управляемый сервис, который позволяет AI-агентам сохранять информацию из прошлых взаимодействий, делая диалоги более интеллектуальными и контекстно-осведомленными. За счет кастомного MCP-сервера вы можете дать Kiro CLI инструменты для сохранения и извлечения контекста разговора, мониторинга использования памяти и управления инфраструктурой Bedrock AgentCore Memory.

Обзор решения

Решение состоит из трех основных компонентов, которые работают вместе:

  1. Amazon Bedrock AgentCore Memory — полностью управляемый сервис, который хранит и извлекает контекст разговоров, обеспечивая постоянную память с встроенным семантическим поиском. AgentCore Memory предоставляет мощные возможности для поддержки как краткосрочной рабочей памяти, так и долгосрочной интеллектуальной памяти, чтобы AI-агенты могли сохранять контекст, учиться на взаимодействиях и обеспечивать действительно персонализированный опыт.
  2. Custom MCP Server предоставляет возможности Amazon Bedrock AgentCore Memory через MCP, делая операции с памятью доступными для MCP-совместимых клиентов.
  3. Kiro CLI подключается к MCP-серверу через протоколы STDIO, чтобы сохранять и извлекать историю диалогов.
Architecture diagram showing Kiro CLI integration with Amazon Bedrock AgentCore Memory and MCP Server

MCP-сервер выступает мостом между Kiro CLI и Amazon Bedrock AgentCore Memory, позволяя Kiro CLI сохранять историю разговоров и контекст между сессиями. MCP-сервер предоставляет инструменты, сгруппированные в три категории.

  • Инструменты для разговоров — можно искать историю диалогов по теме или временному периоду, сохранять разговоры с единообразным отслеживанием сессий, извлекать полный текст беседы и перечислять ранее сохраненные сессии.
  • Инструменты мониторинга — можно просматривать статистику использования памяти и конфигурацию MCP-сервера.
  • Инструменты управления — можно удалять отдельные сессии и удалять сохраненные данные при необходимости.

Решение использует двухэтапную стратегию извлечения: сначала оно пытается выполнить семантический поиск с помощью API retrieve_memory_records Bedrock AgentCore Memory для концептуального сопоставления, а затем переходит к прямому сопоставлению на уровне событий, сканируя сырые полезные нагрузки разговоров, сохраненные в сессиях AgentCore Memory. Такой каскадный подход гарантирует, что разговоры можно будет извлечь независимо от того, завершила ли семантическая стратегия обработку данных. В запросе можно использовать временные рамки вроде recent, last night или yesterday, чтобы найти релевантные разговоры.

Такая архитектура делает Kiro CLI контекстно-осведомленным. Он запоминает ваши предпочтения, детали проекта и рабочие процессы между сессиями, поэтому вам не нужно постоянно повторять одну и ту же информацию.

Пошаговое руководство

Для этой демонстрации вам понадобятся следующие условия:

Пользователь AWS Identity and Access Management (IAM), которого вы используете, должен иметь разрешения на выполнение необходимых вызовов AWS-сервисов и управление AWS-ресурсами, упомянутыми в этом материале. При назначении разрешений этому IAM-пользователю следуйте принципу наименьших привилегий.

Выполните следующие шаги из терминала:

  1. Выполните следующую команду, чтобы клонировать репозиторий:

    git clone https://github.com/aws-samples/sample-amazon-bedrock-agentcore-memory-mcp-server.git
    
  2. Выполните следующую команду, чтобы создать виртуальное окружение Python и установить зависимости:

    cd sample-amazon-bedrock-agentcore-memory-mcp-server
    python3 -m venv venv;
    source venv/bin/activate;
    pip3 install -r requirements.txt;
    
  3. Выполните следующую команду, чтобы создать ресурс Amazon Bedrock AgentCore Memory и сгенерировать конфигурацию агента Kiro. Обратите внимание, что выполнение этого шага может занять несколько минут:

    python3 setup_bedrock_agentcore_memory.py
    

Когда появится запрос, выберите один из следующих вариантов идентификатора actor. Диалоги сохраняются относительно этого идентификатора.

  • Вариант 1: User ID (по умолчанию) — рекомендуется для личного использования. Использует имя пользователя вашей системы из переменной окружения USER. Предыдущая команда устанавливает ACTOR_ID_TYPE=userid in agent/kiro_memory.json
  • Вариант 2: Project ID — рекомендуется для изоляции памяти на уровне команды или проекта. Когда появится запрос, нужно указать projectid и your-project-id. Предыдущая команда устанавливает ACTOR_ID_TYPE=projectid и PROJECT_ID=your-project-id в agent/kiro_memory.json

Используемая стратегия namespace: /strategy/semanticMemoryStrategy/actor/{actorId}/session/{sessionId}

  1. Настройте конфигурацию агента kiro:

    mkdir -p ~/.kiro/agents/
    mkdir -p ~/.kiro/hooks/
    cp -p agent/kiro_memory.json ~/.kiro/agents/
    cp -p hooks/cache-prompt.sh ~/.kiro/hooks/
    cp -p hooks/load-preferences.sh ~/.kiro/hooks/
    cp -p hooks/store-conversation.sh ~/.kiro/hooks/
    chmod 755 ~/.kiro/hooks/*
    
  2. Сделайте агент kiro_memory агентом по умолчанию.

Добавьте следующее в файл cli.json в каталоге ~/.kiro/settings/, чтобы использовать агент kiro_memory по умолчанию: {"chat.defaultAgent": "kiro_memory"}

  1. Войдите в Kiro CLI

Для входа в Kiro CLI вам понадобится либо AWS Builder ID, либо активная подписка Kiro вашей организации.

Если у вас нет ни того ни другого, вы можете создать AWS Builder ID, выполнив шаги из Create your AWS Builder ID.

kiro-cli login --use-device-flow

Debug console screenshot showing Kiro CLI login method selection with Builder ID and IDC Account options

В качестве метода входа с помощью клавиш со стрелками выберите Use for Free with Builder ID и нажмите Enter.

Будет сгенерирован URL для создания нового Builder ID. Выберите Open this URL или вставьте ссылку в новую вкладку браузера.

AWS Builder ID sign-in page with email input field, Continue button, and Google authentication option

Войдите с Builder ID, который вы только что создали.

Появится запрос на подтверждение. Выберите Confirm and continue.

После этого вас попросят дать разрешение на доступ Kiro CLI к данным. Нажмите Allow access.

AWS permission dialog asking user to allow Kiro CLI to access their data, with Allow and Deny options

Теперь вернитесь в локальный терминал, и вы должны увидеть сообщение Logged in successfully. Введите в терминале следующую команду:

kiro-cli --classic

Теперь в Kiro CLI введите команду /mcp, чтобы увидеть список MCP-серверов, настроенных в этой сессии.

Kiro CLI terminal showing agentcore-memory-mcp-server loaded in 1.15 seconds with a context hooks tip

После успешной инициализации MCP-сервера выполните команду /tools, чтобы вывести список инструментов, доступных в сессии.

Kiro CLI tools permission matrix showing built-in tools and agentcore-memory-mcp-server operations with trust levels

Обратите внимание, что через agentcore-memory-mcp-server в сессии доступны следующие инструменты.

  • clear_all_data — удаляет информацию из определенного namespace в памяти
  • delete_session — удаляет конкретную сессию
  • get_direct_conversation_history — дает доступ к полному содержимому разговора для выбранных сессий
  • get_memory_stats — использует list_memory_records для предоставления обзора памяти
  • get_server_config — предоставляет конфигурацию MCP-сервера
  • get_session_details — предоставляет информацию о конкретной сессии
  • list_sessions — перечисляет ранее сохраненные сессии
  • search_conversation_history — инструмент для поиска истории разговоров по теме или временному периоду
  • search_memories — еще один инструмент для поиска долговременной памяти
  • store_conversation — сохраняет разговоры с единообразными идентификаторами сессий

Проверка решения

Kiro CLI вызывает MCP-серверы в зависимости от функциональности, необходимой для ответа или действия по вашему запросу. Хуки Kiro CLI срабатывают и сохраняют разговор после каждого диалога. Ниже приведены примеры использования:

What is AWS DevOps agent? Is it GA yet?

Разрешите доступ к инструменту, если Kiro запросит подтверждение для его использования. После получения ответа завершите работу Kiro CLI, введя /quit.

Снова войдите в Kiro CLI и задайте вопрос:

What have we discussed about AWS DevOps agent?

Разрешите запрос Kiro CLI на использование инструмента. Kiro использует agentcore-memory-mcp-server, чтобы получить релевантную информацию из Bedrock AgentCore memory.

Можно задавать уточняющие вопросы, например:

Can I integrate GitHub with AWS DevOps agent?
What is the pricing for AWS DevOps agent?

Снова завершите сеанс Kiro CLI командой /quit и войдите снова через некоторое время. Попросите Kiro CLI в естественной форме получить предыдущий разговор об AWS DevOps Agent. Kiro покажет вам сводку предыдущего обсуждения.

Подробнее см. в записанной демонстрации ниже:

Очистка

Если вы выполняли все только ради демонстрации, чтобы избежать будущих расходов, выполните следующую команду для удаления ресурсов, созданных в этом материале:

python3 cleanup_bedrock_agentcore_memory.py

Удалите конфигурацию агента, созданную в этом материале, из каталога kiro (~/.kiro/agents/kiro_memory.json)

Удалите хуки, созданные в этом материале, из каталога kiro (~/.kiro/hooks/)

Заключение

В этом материале мы показали, как усилить сохранение контекста в Kiro CLI с помощью кастомного MCP-сервера, который интегрируется с Amazon Bedrock AgentCore Memory. Кастомный MCP-сервер предоставляет полный набор инструментов для хранения и извлечения контекста разговоров, мониторинга использования памяти и управления инфраструктурой постоянной памяти. Благодаря функциям интеллектуального поиска, временным рамкам на естественном языке и каскадным стратегиям fallback вы можете надежно получать доступ к истории разговоров, не повторяя один и тот же контекст снова и снова.


Материал — перевод статьи с английского.

Оригинал: Extending conversational memory in Kiro CLI using Amazon Bedrock AgentCore Memory