

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Implantação de sistemas agênticos no Amazon Bedrock com a estrutura do CrewAI usando o Terraform
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework"></a>

*Vanitha Dontireddy, Amazon Web Services*

## Resumo
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-summary"></a>

Este padrão demonstra como implementar sistemas escaláveis multiagente de IA usando a estrutura do [CrewAI](https://www.crewai.com/) integrada ao [Amazon Bedrock](https://aws.amazon.com/bedrock/?nc1=h_ls) e ao [Terraform](https://registry.terraform.io/). A solução permite que as organizações criem, implantem e gerenciem fluxos de trabalho sofisticados de agentes de IA por meio da infraestrutura como código (IaC). Neste padrão, os recursos de orquestração multiagente da CrewAI se combinam com os modelos de base do Amazon Bedrock e a automação da infraestrutura do Terraform. Como resultado, as equipes podem criar sistemas de IA prontos para produção que lidam com tarefas complexas com o mínimo de supervisão humana. O padrão implementa as práticas recomendadas operacionais, de escalabilidade e de segurança de nível corporativo. 

## Pré-requisitos e limitações
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS com permissões apropriadas para [acessar os modelos da Amazon Bedrock Foundation](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)
+ Terraform versão 1.5 ou posterior [instalada](https://developer.hashicorp.com/terraform/install)
+ [Python versão 3.9 ou posterior instalado](https://www.python.org/downloads/)
+ Estrutura do CrewAI [instalada](https://docs.crewai.com/installation)

**Limitações**
+ As interações de agentes são limitadas pelas janelas de contexto do modelo.
+ As considerações de gerenciamento de estado do Terraform para implantações em grande escala se aplicam a este padrão.
+ Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para endpoints específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) e clique no link correspondente ao serviço desejado.

## Arquitetura
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-architecture"></a>

Neste padrão, as seguintes interações ocorrem:
+ O Amazon Bedrock fornece a base para a inteligência de agentes por meio de seu conjunto de modelos básicos (FMs). Ele permite recursos de processamento de linguagem natural (PLN), raciocínio e tomada de decisão para os agentes de IA, mantendo alta disponibilidade e escalabilidade.
+ A estrutura do CrewAI serve como a principal camada de orquestração para criar e gerenciar agentes de IA. Ela lida com protocolos de comunicação de agentes, delegação de tarefas e gerenciamento de fluxo de trabalho enquanto se integra ao Amazon Bedrock.
+ O Terraform gerencia toda a pilha de infraestrutura por meio de código, incluindo recursos computacionais, redes, grupos de segurança e funções AWS Identity and Access Management (IAM). Ele garante implantações consistentes e com controle de versão em todos os ambientes. A implantação do Terraform cria o seguinte:
  + AWS Lambda função para executar o aplicativo CrewAI
  + Buckets do Amazon Simple Storage Service (Amazon S3) para código e relatórios
  + Perfis do IAM com as permissões apropriadas
  +  CloudWatch Registro na Amazon
  + Execução programada pela Amazon EventBridge

O diagrama a seguir ilustra a arquitetura para implantar sistemas multiagente do CrewAI usando o Amazon Bedrock e o Terraform.

![\[Fluxo de trabalho para implantar sistemas multiagente do CrewAI usando o Terraform e o Amazon Bedrock.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/b46069e9-4c38-405f-b0f0-310eabb06b06/images/b3296b17-e388-46ba-8d71-2ec7ce3ed3e0.png)


O diagrama mostra o seguinte fluxo de trabalho:

1. O usuário clona o repositório.

1. O usuário executa o comando `terraform apply` para implantar os AWS recursos.

1. A configuração do modelo do Amazon Bedrock inclui a especificação do modelo de base (FM) a ser usado para configurar os agentes do CrewAI.

1. Uma EventBridge regra é estabelecida para acionar a função Lambda de acordo com o cronograma definido.

1. Quando acionada (por agendamento ou manualmente), a função Lambda inicializa e assume a função do IAM com permissões de acesso ao Amazon Bedrock. Serviços da AWS 

1. A estrutura do CrewAI carrega configurações de agentes por meio de arquivos YAML e cria agentes de IA especializados (a equipe de *auditoria de segurança da infraestrutura da AWS *). A função Lambda executa sequencialmente esses agentes para verificar AWS recursos, analisar vulnerabilidades de segurança e gerar relatórios de auditoria abrangentes.

1. CloudWatch Os registros capturam informações detalhadas de execução da função Lambda com um período de retenção de 365 dias AWS Key Management Service e AWS KMS() criptografia para requisitos de conformidade. Os logs fornecem visibilidade das atividades de agentes, do rastreamento de erros e das métricas de performance, permitindo o monitoramento e a solução de problemas eficazes do processo de auditoria de segurança.

1. O relatório de auditoria de segurança é gerado e armazenado automaticamente no bucket do Amazon S3 designado. A configuração automatizada ajuda a manter um monitoramento de segurança consistente com o mínimo de sobrecarga operacional.

Após a implantação inicial, o fluxo de trabalho fornece auditoria e relatórios de segurança contínuos para sua AWS infraestrutura sem intervenção manual.

**Visão geral dos agentes de IA**

Este padrão cria vários agentes de IA, cada um com funções, metas e ferramentas exclusivas:
+ O **agente do analista de segurança** coleta e analisa as informações AWS dos recursos.
+ O **agente testador de penetração** identifica vulnerabilidades nos recursos. AWS 
+ O **agente especialista em conformidade** verifica as configurações em relação aos padrões de conformidade.
+ O **agente redator de relatórios** compila as descobertas em relatórios abrangentes.

Esses agentes colaboram em uma série de tarefas, aproveitando suas habilidades coletivas para realizar auditorias de segurança e gerar relatórios abrangentes. (O arquivo `config/agents.yaml` descreve os recursos e configurações de cada agente dessa equipe.)

O processamento da análise de segurança consiste nas seguintes ações:

1. O agente analista de segurança examina os dados coletados sobre AWS recursos, como os seguintes:
   + Instâncias e grupos de segurança do Amazon Elastic Compute Cloud (Amazon EC2)
   + Configurações e buckets do Amazon S3
   + Políticas, permissões e perfis do IAM
   + Definições de rede e configurações de rede da nuvem privada virtual (VPC)
   + Bancos de dados e configurações de segurança do Amazon RDS
   + Configurações e funções do Lambda
   + Outros Serviços da AWS dentro do escopo da auditoria

1. O agente testador de penetração identifica possíveis vulnerabilidades.

1. Os agentes colaboram por meio da estrutura do CrewAI para compartilhar descobertas.

A geração de relatórios consiste nas seguintes ações:

1. O agente redator do relatório compila as descobertas de todos os outros agentes.

1. Os problemas de segurança são organizados por serviço, gravidade e impacto na conformidade.

1. Recomendações de remediação são geradas para cada problema identificado.

1. Um relatório abrangente de auditoria de segurança é criado em formato markdown e carregado no bucket do Amazon S3 designado. Os relatórios históricos são preservados para rastreamento de conformidade e melhoria da postura de segurança.

As atividades de registro em log e monitoramento incluem:
+ CloudWatch os registros capturam detalhes da execução e quaisquer erros.
+ As métricas de execução do Lambda são registradas para monitoramento.

**nota**  
O código para `aws-security-auditor-crew` é originado do repositório GitHub [3P-Agentic\$1Frameworks](https://github.com/aws-samples/3P-Agentic-Frameworks/blob/main/crewai/aws-security-auditor-crew/README.md), disponível na coleção Samples. AWS 

**Disponibilidade e escala**

Você pode expandir os agentes disponíveis para mais do que os quatro agentes principais. Para escalar com agentes especializados adicionais, considere os seguintes novos tipos de agentes:
+ Um agente *especialista em inteligência de ameaças* pode fazer o seguinte:
  + Monitorar os feeds de ameaças externos e correlacionar com as descobertas internas
  + Fornecer contexto sobre ameaças emergentes relevantes para sua infraestrutura
  + Priorizar vulnerabilidades com base na exploração ativa de casos reais
+ Os agentes da *estrutura de conformidade* podem se concentrar em áreas regulatórias específicas, como as seguintes:
  + Agente de conformidade com o padrão de segurança de dados do setor de cartões de pagamento (PCI DSS)
  + Agente de conformidade com a Lei de Portabilidade e Responsabilidade de Provedores de Saúde de 1996 (HIPAA)
  + Agente de conformidade com Controles de Sistema e Organização 2 (SOC 2)
  + Agente de conformidade do Regulamento Geral de Proteção de Dados (RGDP)

Ao expandir cuidadosamente os agentes disponíveis, essa solução pode fornecer insights de segurança mais profundos e especializados, mantendo a escalabilidade em grandes ambientes. AWS Para obter mais informações sobre uma abordagem de implementação, desenvolvimento de ferramentas e considerações de escalabilidade, consulte [Informações adicionais](#deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-additional).

## Ferramentas
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-tools"></a>

**Serviços da AWS**
+ [O Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html) é um serviço de IA totalmente gerenciado que disponibiliza modelos básicos de alto desempenho (FMs) para uso por meio de uma API unificada.
+ O [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ajuda você a centralizar os registros de todos os seus sistemas e aplicativos, Serviços da AWS para que você possa monitorá-los e arquivá-los com segurança.
+  EventBridgeA [Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Por exemplo, AWS Lambda funções, endpoints de invocação HTTP usando destinos de API ou barramentos de eventos em outros. Contas da AWS Neste padrão, ele é usado para agendar e orquestrar fluxos de trabalho de agentes.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
+ O [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.
+ [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)é um kit de desenvolvimento de software que ajuda você a integrar seu aplicativo, biblioteca ou script Python com o. Serviços da AWS
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados. Neste padrão, ele fornece armazenamento de objetos para artefatos de agentes e gerenciamento de estado.

**Outras ferramentas**
+ O [CrewAI](https://www.crewai.com/open-source) é uma estrutura de código aberto baseada em Python para criar sistemas de IA multiagente.
+ [O Terraform](https://www.terraform.io/) é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

**Repositório de código**

O código desse padrão está disponível no GitHub [deploy-crewai-agents-terraform](https://github.com/aws-samples/deploy-crewai-agents-terraform.git)repositório.

## Práticas recomendadas
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-best-practices"></a>
+ Implemente o gerenciamento de estado adequado para o Terraform usando um backend do Amazon S3 com bloqueio do Amazon DynamoDB. Para obter mais informações, consulte [Práticas recomendadas de back-end](https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/backend.html) em *Melhores práticas para usar o Terraform AWS Provider*.
+ Use espaços de trabalho para separar ambientes de desenvolvimento, preparação e produção.
+ Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte [Concessão de privilégio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) e [nas melhores práticas de segurança](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) na documentação do IAM.
+ Ative o registro e o monitoramento detalhados por meio do CloudWatch Logs.
+ Implemente mecanismos de repetição e tratamento de erros para operações de agentes.

## Épicos
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-epics"></a>

### Implantar a estrutura do CrewAI
<a name="deploy-crewai-framework"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Clonar o repositório. | Para clonar o repositório correspondente a este padrão em sua máquina local, execute o seguinte comando:<pre>git clone "git@github.com:aws-samples/deploy-crewai-agents-terraform.git"<br />cd deploy-crewai-agents-terraform</pre> | DevOps engenheiro | 
| Edite as variáveis de ambiente. | Para editar as variáveis de ambiente, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html) | DevOps engenheiro | 
| Crie a infraestrutura. | Para criar a infraestrutura, execute os seguintes comandos:<pre>cd terraform</pre><pre>terraform init</pre><pre>terraform plan</pre>Analise cuidadosamente o plano de execução. Se as alterações propostas estiverem adequadas, execute o seguinte comando:<pre>terraform apply --auto-approve</pre> | DevOps engenheiro | 

### Acessar os agentes do CrewAI
<a name="access-crewai-agents"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Acesse os agentes. | Os agentes da equipe de Auditoria e Relatórios de Segurança da AWS Infraestrutura são implantados como uma função Lambda. Para acessar os agentes, siga as etapas abaixo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html) | DevOps engenheiro | 
| (Opcional) Configure a execução manual dos agentes. | Os agentes são configurados para serem executados automaticamente em uma programação diária (meia-noite UTC). No entanto, é possível acioná-los manualmente usando as seguintes etapas:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html)Para obter mais detalhes, consulte [Como testar funções do Lambda no console](https://docs.aws.amazon.com/lambda/latest/dg/testing-functions.html) na documentação do Lambda. | DevOps engenheiro | 
| Acesse os logs do agente para depuração. | Os agentes do CrewAI são executados em um ambiente do Lambda com as permissões necessárias para realizar auditorias de segurança e armazenar relatórios no Amazon S3. O resultado é um relatório de redução que fornece uma análise de segurança abrangente da sua AWS infraestrutura.Para ajudar na depuração detalhada do comportamento do agente, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html) | DevOps engenheiro | 
| Veja os resultados da execução do agente. | Para visualizar os resultados da execução de um agente, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html)Os relatórios são armazenados com nomes de arquivo baseados em carimbo de data/hora da seguinte forma: `security-audit-report-YYYY-MM-DD-HH-MM-SS.md)` | DevOps engenheiro | 
| Monitore a execução do agente. | Para monitorar a execução dos agentes por meio de CloudWatch registros, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html) | DevOps engenheiro | 
|  Personalize o comportamento do agente. | Para modificar os agentes ou suas tarefas, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework.html)<pre>cd terraform </pre><pre>terraform apply</pre> | DevOps engenheiro | 

### Limpar os recursos
<a name="clean-up-resources"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Exclua os recursos criados. | Para excluir toda a infraestrutura criada por este padrão, execute o seguinte comando:<pre>terraform plan -destroy </pre>O comando a seguir excluirá permanentemente todos os recursos criados por este padrão. O comando solicitará confirmação antes de remover quaisquer recursos.Analise cuidadosamente o plano de exclusão. Se as exclusões propostas estiverem adequadas, execute o seguinte comando:<pre>terraform destroy</pre> | DevOps engenheiro | 

## Solução de problemas
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Comportamento do agente | Para obter informações sobre este problema, consulte [Test and troubleshoot agent behavior](https://docs.aws.amazon.com/lambda/latest/dg/troubleshooting-networking.html) na documentação do Amazon Bedrock. | 
| Problemas de rede relacionados ao Lambda | Para obter informações sobre estes problemas, consulte [Solucionar problemas de redes no Lambda](https://docs.aws.amazon.com/lambda/latest/dg/troubleshooting-networking.html) na documentação do Lambda. | 
| permissões do IAM | Para obter informações sobre estes problemas, consulte [Solucionar problemas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot.html) na documentação do IAM. | 

## Recursos relacionados
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-resources"></a>

**AWS Blogs**
+ [Build agentic systems with CrewAI and Amazon Bedrock](https://aws.amazon.com/blogs/machine-learning/build-agentic-systems-with-crewai-and-amazon-bedrock/)

**AWS documentação**
+ [Documentação do Amazon Bedrock](https://docs.aws.amazon.com/bedrock/)
+ [Como o Amazon Bedrock Agents funciona](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-how.html)
+ [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html)

**Outros recursos**
+ [Documentação do CrewAI](https://docs.crewai.com/introduction)
+ [Documentação do Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)

## Mais informações
<a name="deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-additional"></a>

Esta seção contém informações sobre uma abordagem de implementação, desenvolvimento de ferramentas e considerações de escalabilidade relacionadas à discussão anterior em [Automação e escala](#deploy-agentic-systems-on-amazon-bedrock-with-the-crewai-framework-architecture).

**Abordagem da implementação**

Considere a seguinte abordagem para adicionar agentes:

1. Configuração do agente:
   + Adicione novas definições de agente ao arquivo `config/agents.yaml`.
   + Defina histórias de fundo, metas e ferramentas especializadas para cada agente.
   + Configure os recursos de memória e análise com base na especialidade do agente.

1. Orquestração de tarefas
   + Atualize o arquivo `config/tasks.yaml` para incluir novas tarefas específicas de agente.
   + Crie dependências entre as tarefas para ajudar a garantir o fluxo adequado de informações.
   + Implemente a execução paralela de tarefas quando apropriado.

**Implementação técnica**

Segue abaixo uma adição ao arquivo `agents.yaml` de uma sugestão de agente especialista em inteligência de ameaças:

```
Example new agent configuration in agents.yaml
threat_intelligence_agent:
 name: "Threat Intelligence Specialist"
 role: "Cybersecurity Threat Intelligence Analyst"
 goal: "Correlate AWS security findings with external threat intelligence"
 backstory: "Expert in threat intelligence with experience in identifying emerging threats and attack patterns relevant to cloud infrastructure." 
verbose: true 
allow_delegation: true 
tools: 
- "ThreatIntelligenceTool" 
- "AWSResourceAnalyzer"
```

**Desenvolvimento de ferramentas**

Com a estrutura do CrewAI, você pode realizar as seguintes ações para melhorar a eficácia da sua equipe de auditoria de segurança:
+ Crie ferramentas personalizadas para novos agentes.
+ Integre-se com o externo APIs para obter inteligência contra ameaças.
+ Desenvolva analisadores especializados para diferentes. Serviços da AWS

**Considerações sobre escalabilidade**

Ao expandir seu sistema de auditoria e emissão de relatórios de segurança de AWS infraestrutura para lidar com ambientes maiores ou auditorias mais abrangentes, considere os seguintes fatores de escalabilidade:
+ **Recursos computacionais**
  + Aumente a alocação de memória do Lambda para lidar com agentes adicionais.
  + Considere dividir as workloads de agentes em várias funções do Lambda.
+ **Gerenciamento de custos**
  + Monitore o uso da API do Amazon Bedrock à medida que o número de agentes aumenta.
  + Implemente a ativação seletiva de agentes com base no escopo da auditoria.
+ **Eficiência da colaboração**
  + Otimize o compartilhamento de informações entre agentes.
  + Implemente estruturas hierárquicas de agentes para ambientes complexos.
+ **Aprimoramento da base de conhecimento**
  + Forneça aos agentes bases de conhecimento especializadas para seus domínios.
  + Atualize regularmente o conhecimento dos agentes com as novas práticas recomendadas de segurança.