从框架到生产:Bedrock AgentCore与Strands Agent框架深度集成实战(Memorystore+工具搜索插件)

从框架到生产:Bedrock AgentCore与Strands Agent框架深度集成实战(Memorystore+工具搜索插件) 从框架到生产Bedrock AgentCore与Strands Agent框架深度集成实战Memorystore工具搜索插件【免费下载链接】bedrock-agentcore-sdk-pythonPython SDK for transforming any AI agent into a production-ready application. Framework-agnostic primitives for runtime, memory, authentication, and tools with AWS-managed infrastructure.项目地址: https://gitcode.com/gh_mirrors/be/bedrock-agentcore-sdk-pythonBedrock AgentCore是 AWS 推出的智能体生产化托管平台其 Python SDKbedrock-agentcore提供框架无关的运行时、记忆、认证与工具原语。本文将聚焦它与开源Strands Agents框架的两项深度集成能力让智能体拥有跨会话记忆的Memorystore以及能从数百个 MCP 工具中按需加载的工具搜索插件帮你把本地 AI 智能体零基础设施地推向生产。 一条命令安装快速开始 Strands 集成两项集成都通过同一个可选依赖安装无需任何服务器、容器或扩缩容配置pip install bedrock-agentcore[strands-agents]安装后即可直接引用记忆集成src/bedrock_agentcore/memory/integrations/strands/工具搜索插件src/bedrock_agentcore/gateway/integrations/strands/plugins/agentcore_tool_search/ MemorystoreStrands 智能体的跨会话长期记忆很多智能体一开新会话就失忆。Memorystore 把 AgentCore Memory 的持久化能力直接插进 Strands分两层使用① 会话层SessionManager——短期 长期记忆AgentCoreMemorySessionManager负责在会话内持久化对话STM并支持三种服务端策略LTM策略作用命名空间示例summaryMemoryStrategy会话摘要/summaries/{actorId}/{sessionId}/userPreferenceMemoryStrategy学习用户偏好/preferences/{actorId}/semanticMemoryStrategy提取事实信息/facts/{actorId}/② 记忆管理层AgentCoreMemoryStore——直接接入 Strands MemoryManagerfrom strands import Agent from strands.memory import MemoryManager from bedrock_agentcore.memory.integrations.strands.memorystore import AgentCoreMemoryStore store AgentCoreMemoryStore( memory_idMEM_ID, actor_iddemo-user, session_iddemo-session, namespace/facts/{actorId}/, writableTrue, extractionTrue, ) agent Agent(memory_managerMemoryManager(stores[store])) agent(记住我偏好靠窗座位)多命名空间场景可用工厂函数create_agentcore_memory_stores一次构建多个 Store为每个命名空间独立配置max_search_results和min_score实现见src/bedrock_agentcore/memory/integrations/strands/memorystore/factory.py。⚠️两个关键约定至多一个可写 Store写入是命名空间无关的append 到身份流多个写入者会导致事件重复工厂函数会直接报错拦截批量写入要用上下文管理当batch_size 1时务必使用with块或显式close()否则缓冲消息会丢失。更多完整示例见 Strands 记忆集成文档。 工具搜索插件几百个 MCP 工具也能按需加载当 Gateway 上注册了几百个工具时一次性全部塞进上下文会导致 prompt 膨胀、模型选错工具。AgentCoreToolSearchPlugin的解法是每次调用前先用 LLM 从对话历史推导用户意图再通过 AgentCore Gateway 的语义搜索只加载最相关的工具。工作原理每次调用的 5 个步骤用户向 Strands 智能体发送查询插件在模型调用前通过 Hook 触发IntentProvider取最近 N 条消息调用 LLM 生成一句简洁的意图描述意图传入 Gateway 的x_amz_bedrock_agentcore_search工具做语义搜索仅将命中的工具注册到智能体模型带着用户查询 过滤后的工具被调用。三行代码接入agent Agent(plugins[AgentCoreToolSearchPlugin(mcp_clientmcp_client)]) agent(帮我找下午去纽约的航班)意图提供者IntentProvider可插拔默认StrandsIntentProvider见src/bedrock_agentcore/gateway/integrations/strands/plugins/agentcore_tool_search/intent_providers/会自动复用父智能体的模型也可指定更轻量的模型如 Haiku做意图分类降低成本只取最近 5 条用户消息message_window5可调并仅使用 user 角色消息避免工具结果中的敏感信息泄漏支持自定义 system prompt 或完全替换为你自己的IntentProvider子类。前置条件Gateway 需启用语义搜索、工具带有描述、AWS 凭证有 Gateway 访问权限。 生产化最佳实践清单✅ 每个会话使用唯一session_id同一用户跨会话保持一致actor_id✅ 为不同命名空间配置合适的top_k与relevance_score阈值多测几组再定稿✅ 高吞吐对话开启消息批量batch_size/extraction的IntervalTrigger控制节奏降低 API 调用次数✅ 为每条消息事件附加default_metadata如项目、环境方便后续用list_events过滤✅ 每次搜索前插件会自动清空上一轮加载的动态工具确保工具集始终与当前意图匹配。小结Bedrock AgentCore SDK 的 Strands 集成只解决一件事让你保留自己的智能体逻辑同时零基础设施地获得企业级的记忆、工具治理与安全托管。Memorystore 让失忆成为历史工具搜索插件让工具规模化不再是负担——装上bedrock-agentcore[strands-agents]你的 Strands 智能体就离生产只差一次部署。【免费下载链接】bedrock-agentcore-sdk-pythonPython SDK for transforming any AI agent into a production-ready application. Framework-agnostic primitives for runtime, memory, authentication, and tools with AWS-managed infrastructure.项目地址: https://gitcode.com/gh_mirrors/be/bedrock-agentcore-sdk-python创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考