Amazon Bedrock AgentCore lança SDK Spring AI para desenvolvimento de agentes de IA em Java
\n
A Amazon anunciou a disponibilidade geral do Spring AI AgentCore SDK, uma biblioteca open source que integra as funcionalidades do Amazon Bedrock AgentCore ao ecossistema Spring AI. A novidade permite que desenvolvedores Java criem agentes de inteligência artificial prontos para produção e os executem na infraestrutura altamente escalável do AgentCore Runtime.
\n\n
O que é o Spring AI AgentCore SDK e para quem ele serve?
\n
O SDK foi criado para simplificar o desenvolvimento de agentes autônomos e inteligentes que superam o modelo tradicional de interação por prompts e respostas, possibilitando sistemas capazes de planejar, executar e completar tarefas complexas em múltiplas etapas. A plataforma Agentic AI da Amazon Bedrock oferece infraestrutura gerenciada com recursos como escalabilidade, segurança, observabilidade, memória de curto e longo prazo, automação de navegação web e execução segura de código.
\n
O Spring AI AgentCore SDK abstrai a complexidade de implementar controladores personalizados, streaming via Server-Side Events (SSE), monitoramento de saúde, e limitações de taxa, permitindo que desenvolvedores foquem apenas na lógica do agente, utilizando os padrões familiares do Spring, como anotações e auto-configuração.
\n\n
Principais recursos e funcionamento do SDK
\n
- \n
- Contrato AgentCore Runtime: o SDK implementa automaticamente os endpoints necessários, como
/invocationspara requisições e/pingpara monitoramento de saúde, incluindo o suporte a tarefas assíncronas e status de ocupação para evitar escalonamento indevido. - Streaming de respostas: suporta respostas via SSE com gerenciamento de framing, backpressure e ciclo de vida de conexão.
- Memória integrada: oferece suporte a memória de curto e longo prazo, permitindo que agentes mantenham contexto e aprendam com interações anteriores, usando estratégias semânticas, preferências do usuário, resumos e memória episódica.
- Ferramentas especializadas: integração com navegador automatizado para extração e interação com conteúdo web e interpretador de código para execução segura de scripts Python, JavaScript e TypeScript.
- Desenvolvimento baseado em anotações: com a anotação
@AgentCoreInvocation, qualquer método Spring pode se transformar em um endpoint compatível com AgentCore, facilitando a criação rápida de agentes. - Flexibilidade de implantação: além do AgentCore Runtime gerenciado, o SDK pode ser usado modularmente em ambientes como Amazon EKS, ECS, EC2 ou on-premises.
\n
\n
\n
\n
\n
\n
\n\n
Como começar: pré-requisitos e passos básicos
\n
Para utilizar o SDK, é necessário:
\n
- \n
- Java 17 ou superior (recomenda-se Java 25)
- Spring Boot 3.5 ou superior
- Conta AWS ativa
- Maven ou Gradle para gerenciamento de dependências
\n
\n
\n
\n
\n\n
- \n
- Adicionar dependência do SDK ao projeto Maven:\n
<dependencyManagement>\n <dependencies>\n <dependency>\n <groupId>org.springaicommunity</groupId>\n <artifactId>spring-ai-agentcore-bom</artifactId>\n <version>1.0.0</version>\n <type>pom</type>\n <scope>import</scope>\n </dependency>\n </dependencies>\n</dependencyManagement>\n<dependencies>\n <dependency>\n <groupId>org.springaicommunity</groupId>\n <artifactId>spring-ai-agentcore-runtime-starter</artifactId>\n </dependency>\n</dependencies>\n\n
- Criar a classe do agente com a anotação
@AgentCoreInvocation:\n@Service\npublic class MyAgent {\n private final ChatClient chatClient;\n\n public MyAgent(ChatClient.Builder builder) {\n this.chatClient = builder.build();\n }\n\n @AgentCoreInvocation\n public String chat(PromptRequest request) {\n return chatClient.prompt()\n .user(request.prompt())\n .call()\n .content();\n }\n}\n\nrecord PromptRequest(String prompt) {}\n\n
- Configurar o Amazon Bedrock no arquivo
application.properties:\nspring.ai.bedrock.aws.region=us-east-1\nspring.ai.bedrock.converse.chat.options.model=global.anthropic.claude-sonnet-4-5-20250929-v1:0\n\n
- Testar localmente:\n
mvn spring-boot:run\ncurl -X POST http://localhost:8080/invocations \\\n -H "Content-Type: application/json" \\\n -d '{"prompt": "O que é Spring AI?"}'\n\n
- Adicionar streaming de respostas: alterar o método para retornar
Flux<String>para respostas em tempo real via SSE.\n - Incorporar memória ao agente: configurar memória de curto e longo prazo para manter contexto e aprendizado contínuo, adicionando dependência e habilitando autodiscovery.\n
- Estender agentes com ferramentas: integrar Browser e Code Interpreter para navegação web automatizada e execução segura de código, respectivamente.\n
\n
\n
\n
\n
\n
\n
\n
\n\n
Modelos suportados e flexibilidade
\n
Embora o post destaque o uso do Amazon Bedrock para acessar modelos foundation, o Spring AI também suporta múltiplos provedores de LLMs, como OpenAI e Anthropic. Isso permite escolher diferentes modelos para casos de uso variados, como agentes que combinam busca na web e análise de dados financeiros em uma única conversa.
\n\n
Opções de implantação e segurança
\n
- \n
- AgentCore Runtime: implantação gerenciada que exige empacotar a aplicação como container ARM64, enviar para o Amazon Elastic Container Registry (ECR) e criar um runtime AgentCore que gerencia escalabilidade e monitoramento.
- Standalone: uso modular das funcionalidades em ambientes como Amazon EKS, ECS, EC2 ou on-premises, ideal para adoção incremental.
- Autenticação: suporte a IAM SigV4 para chamadas entre serviços AWS e OAuth2 para aplicações voltadas ao usuário, com integração transparente no runtime e possibilidade de controle fino via Spring Security.
- AgentCore Gateway: permite que agentes Spring AI acessem ferramentas organizacionais via Model Context Protocol (MCP) com autenticação e registro semântico, facilitando a integração corporativa.
\n
\n
\n
\n
\n\n
Próximos recursos e evolução do SDK
\n
A equipe do Spring AI AgentCore SDK planeja implementar:
\n
- \n
- Observabilidade avançada com integração a Amazon CloudWatch, LangFuse, Datadog e Dynatrace via OpenTelemetry.
- Frameworks de avaliações para testes e qualidade das respostas dos agentes.
- Gerenciamento avançado de identidade para aprimorar segurança e contexto.
\n
\n
\n
\n\n
Links úteis
\n
