amazon-bedrock
amazon-bedrock — официальный навык AWS для создания generative AI-приложений на Amazon Bedrock. Источник охватывает вызов моделей через Converse API и InvokeModel, RAG с Knowledge Bases, Bedrock Agents, Guardrails и сервисы AgentCore, включая managed agent loop Harness. Дополнительно он маршрутизирует задачи по prompt caching, проверке квот и throttling, учёту стоимости, миграции между поколениями Claude и выбору модели. Навык не предназначен для custom model training, Rekognition или Comprehend; это важные границы области, поскольку название Bedrock само по себе не означает поддержку любого AWS AI-сценария. В API landscape источник разделяет control plane bedrock, runtime bedrock-runtime, OpenAI-compatible bedrock-mantle, agent control bedrock-agent и agent data bedrock-agent-runtime. Для AgentCore отдельно перечислены bedrock-agentcore-control и bedrock-agentcore, а также gateway endpoint конкретного gateway. Неправильный клиент приводит к ошибкам вроде UnknownOperationException, поэтому перед вызовом нужно сопоставить цель с endpoint: список моделей и управление throughput относятся к bedrock, вызов моделей — к bedrock-runtime или соответствующему Mantle API, Knowledge Bases и классические agents имеют собственные control/data plane. Для текущих деталей skill направляет к официальным reference-файлам и AWS documentation. Для обычного вызова модели источник рекомендует Converse API вместо InvokeModel, потому что Converse даёт единый формат запросов и ответов для разных моделей. InvokeModel следует оставлять для provider-specific возможностей; его body отличается для Anthropic, Titan, Llama и Nova, и неправильный формат даёт Malformed input request. В любом случае maxTokens нужно задавать явно: отсутствие значения может зарезервировать максимум модели и привести к неожиданному ThrottlingException. Для streaming-чатов используется SDK с ConverseStream, поскольку AWS CLI не поддерживает streaming операции; для batch/backend подходит обычный Converse. Перед вызовом нужно проверить доступность конкретной модели в целевом регионе через aws bedrock list-foundation-models. RAG-сценарии разделяются по режиму работы Knowledge Base. Retrieve-and-generate подходит для ответа с цитатами, Retrieve возвращает сырые chunks для собственной post-processing логики, а full control означает отдельный retrieve и последующий вызов Converse с собственным prompt или reranking. Для создания Knowledge Base исходник требует прочитать и выполнить отдельную семишаговую процедуру; для запроса существующей базы нужно выбрать один из трёх режимов и свериться с соответствующим reference-файлом. Пустые результаты после создания могут означать, что ingestion job ещё не завершён; качество retrieval требует проверки chunking и metadata filtering, а не только повторной отправки запроса. Навык также различает классические Bedrock Agents и AgentCore. Для конфигурационного managed loop без собственного orchestration code предлагается AgentCore Harness; для написанного самостоятельно agent loop — AgentCore Runtime. Gateway предназначен для публикации REST API, Lambda или MCP-серверов как tools. После изменения конфигурации классического агента необходимо запускать prepare-agent, иначе агент может продолжить работать со старым поведением. При миграции старого Bedrock Agent к AgentCore Harness нужно читать отдельный migration reference, а не заменять процедуру общими командами. До любой команды источник требует проверить наличие AWS CLI, конфигурацию credentials, свежую версию CLI, доступ моделей в целевом регионе и наличие нужных инструментов. Для новых рабочих потоков рекомендуется AWS CLI v2; старые версии могут не содержать Converse API и AgentCore. Навык требует заранее объяснять план и смысл каждого шага, останавливаться при отказе пользователя и отдельно подтверждать destructive или irreversible операции. Поэтому он полезен как безопасный маршрут диагностики и настройки, но не является разрешением менять ресурсы AWS без проверки account, region, permissions и целевого имени. Безопасность рассматривается как обязательная часть применения: использовать IAM roles вместо IAM users, ограничивать действия и resource ARNs вместо bedrock:*, хранить API keys и OAuth secrets в AWS Secrets Manager с rotation, добавлять confused-deputy conditions SourceAccount и SourceArn, считать параметры агента недоверенными и проверять их перед Lambda, включать CloudTrail. Для PII-данных нужно шифровать CloudWatch Logs через KMS, ограничивать доступ и задавать retention. Эти пункты не являются полноценным security audit, но задают минимальные проверки, которые нельзя пропускать при переносе примера в production. Для диагностики источник связывает тип ошибки с конкретным действием. AccessDeniedException может быть связан с IAM, отключённым доступом модели, SCP, просроченными credentials или задержкой распространения роли. ThrottlingException требует явного maxTokens, adaptive retry, проверки service quota и при необходимости inference profile. Prompt cache с нулевым cacheReadInputTokens нужно проверять по поддержке модели, порогу токенов, идентичности контента, TTL и расположению cache point. Неправильный endpoint или устаревший SDK объясняет UnknownOperationException, а неполный model ID и регион — проблемы cross-region availability. Такой список помогает выбрать следующий reference-файл, но фактическая причина должна подтверждаться логом и ответом AWS. Выбор модели остаётся проверяемым решением: источник приводит быстрые ориентиры — Claude Sonnet для общего назначения, Claude Haiku или Nova Micro для скорости и стоимости, Titan Embeddings V2 для embeddings, Llama для open-source и fine-tuning и Titan Image Generator для изображений. Эти значения не заменяют текущую проверку доступа и региональной доступности; для актуальных model IDs нужно выполнить list-foundation-models и учесть data residency при выборе geographic или global inference profile. Практический результат навыка — правильное направление к Converse, Knowledge Bases, Agents, Guardrails, AgentCore, quotas, costs или migration references с явными ограничениями, а не обещание, что один пример безопасно подходит любой AWS-учётной записи.
Для чего подходит
- Вызов моделей через Bedrock API
- Создание RAG и Bedrock Agents
- Настройка Guardrails и AgentCore
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-core/skills/amazon-bedrock