Menu Docs
Página inicial do Docs
/ /
Centro de Arquitetura Atlas
/ / /

Framework para implantação rápida de agentes de AI

O MongoDB Atlas permite o desenvolvimento rápido de agentes de AI em diversos setores.

Casos de uso: Análise por aplicativo, Gen AI

Setores: Fabricação e mobilidade, serviços financeiros, seguros, varejo, saúde, telecomunicações

Produtos: MongoDB Atlas, Atlas Vector Search, Atlas Database

Parceiros: LangChain, Cohere, AWS Bedrock

Em 2025, os aplicativos de IA agêntica não são mais apenas um projeto de passatempo. Empresas ao redor do mundo estão investindo em software para integrar agentes de IA em seus fluxos de trabalho empresariais. O uso mais comum de um agente de IA é auxiliar na análise de pesquisa ou na escrita de código. A pesquisa recente da LangChain com mais de 1.000 profissionais em vários setores mostrou que mais de 51% já implantaram agentes em produção, com 60% usando os agentes para tarefas de pesquisa e resumo.

No entanto, utilizar um agente de AI para tarefas mais complexas do que pesquisar e resumir apresenta certos desafios, principalmente quando isso é implementado em larga escala.

  • Integração e manipulação de dados complexos: os agentes de AI dependem com frequência de fontes de dados e formatos díspares (logs estruturados, texto não estruturado e fluxos de sensores), o que dificulta a unificação dos dados para a tomada de decisões em tempo real. Armazenar todos os dados relevantes em um único banco de dados para o agente consumir ajuda a acelerar o processo de desenvolvimento.

  • Alta concorrência e baixa latência: os agentes em produção devem lidar com um grande volume de solicitações e responder rapidamente, o que pode sobrecarregar bancos de dados que não foram criados para alta taxa de transferência e desempenho. Embora a inferência de LLM possa adicionar latência, o desempenho do banco de dados ainda é crucial, especialmente à medida que os agentes são dimensionados. Os agentes de produção serão executados em paralelo, farão múltiplas chamadas de ferramentas e dependerão de informações atualizadas para tomar decisões. Um banco de dados lento se torna um gargalo que aumenta o tempo total de resposta, diminuindo a capacidade do agente de atuar em tempo real.

  • Governança e segurança de dados: dados confidenciais, como logs de usuários, leituras de sensores e PII, devem ser armazenados e acessados com segurança, mantendo a compliance (por exemplo, GDPR e SOC 2). Bancos de dados seguros como o MongoDB Atlas fornecem controles de segurança avançados e integrados, como criptografia no nível do campo no lado do cliente, queryable encryption e amplos recursos de auditoria. Esses recursos garantem que os agentes acessem somente os dados que estão autorizados a ver e que a rastreabilidade seja mantida.

A Figura 1 mostra os principais componentes de um agente de AI. O agente primeiro receberá uma tarefa de um humano ou por meio de um trigger automatizado e, em seguida, usará um LLM para gerar uma cadeia de raciocínio ou seguir um fluxo de trabalho predeterminado. O agente utilizará várias ferramentas e modelos durante sua execução, bem como armazenará e recuperará dados de um provedor de memória como o MongoDB Atlas.

O principal objetivo desta solução, o framework agêntico, é acelerar o desenvolvimento de fluxos de trabalho orientados por AI, fornecendo uma base flexível e extensível. Em vez de oferecer um conjunto fixo de ferramentas ou funcionalidades, o framework foi projetado para servir como ponto de partida para a construção de agentes inteligentes adaptados a casos de uso específicos em diversos setores.

Você pode seguir essa solução e configurar facilmente um kit de ferramentas alimentado pelo MongoDB Atlas e o LangGraph, e então usá-lo para criar muitos agentes com fluxos de trabalho lineares. A simplicidade da solução permite que os usuários compreendam rapidamente como criar um agente básico apenas manipulando os arquivos de configuração. Para casos de uso mais complexos ou agentes avançados, você pode expandir o framework adicionando novas ferramentas, nós, condições ou fluxos de trabalho conforme necessário.

Priorizando a adaptabilidade e a modularidade, o framework agêntico capacita os desenvolvedores a criar agentes de AI que não são apenas eficientes, mas também altamente personalizáveis para atender às demandas exclusivas de seus setores ou projetos.

Diagnóstico em tempo real de turbina eólica

Figura 1. Componentes básicos de um agente de AI

O framework agêntico é um assistente de recomendação versátil com tecnologia de AI, projetado para compreender seus dados, executar um fluxo de trabalho de diagnóstico em várias etapas usando o LangGraph e gerar informações acionáveis. Ele integra perfeitamente várias tecnologias: lê dados de série temporal de um arquivo CSV ou MongoDB (simulando diversas fontes de dados), gera embeddings de texto e realiza pesquisas vetoriais para identificar queries semelhantes anteriores. O framework também armazena os dados de sessão e de execução permanentemente, gerando uma recomendação de diagnóstico.

O MongoDB serve como a espinha dorsal para armazenar perfis de agente, recomendações históricas, dados de série temporal e logs de sessão, garantindo a rastreabilidade total do processo de diagnóstico, ao mesmo tempo em que permite consultas e reutilização eficientes de perspicácias anteriores.

Diagnóstico em tempo real de turbina eólica

Figura 2. Arquitetura de referência da AI agêntica

O MongoDB desempenha uma função fundamental na viabilização da AI agêntica. Sua combinação única de flexibilidade, desempenho e escalabilidade faz dele a escolha ideal para viabilizar a inteligência artificial. O document model do MongoDB possibilita a recuperação e o armazenamento nativos de dados estruturados, semiestruturados e não estruturados e lida de forma eficiente com conjuntos de dados diversos e complexos. Com o MongoDB, os agentes de AI reagem dinamicamente a novas informações, mantêm estados internos em tempo real e aprendem e evoluem continuamente.

Modelo de dados flexíveis: a arquitetura do MongoDB oferece uma base poderosa para sistemas de AI de agente, oferecendo flexibilidade incomparável no armazenamento de dados. O document model permite armazenar dados variados, como logs de séries temporais, perfis de agente e saídas de recomendações, em um único formato unificado. Essa flexibilidade significa que você não precisa redesenhar o esquema do banco de dados toda vez que seus requisitos de dados evoluírem. O esquema flexível do MongoDB permite que agentes de AI armazenem estados complexos e hierárquicos de agentes com documentos aninhados que podem se adaptar dinamicamente às características variáveis dos agentes e aos contextos de interação. O MongoDB é uma escolha ideal para manter estados complexos de agentes em várias interações. Ele oferece suporte a controle de versão e acompanhamento da evolução do agente, com a capacidade de pausar e retomar contextos do agente de forma contínua.

Pesquisa vetorial: o MongoDB Atlas oferece suporte nativo à pesquisa vetorial, possibilitando pesquisas rápidas e eficientes de similaridade em incorporações vetoriais. Isso é crucial para corresponder queries atuais com dados históricos a fim de melhorar a precisão do diagnóstico e oferecer recomendações mais pertinentes. A pesquisa vetorial ajuda no reconhecimento de padrões e na recuperação contextual, melhorando significativamente a qualidade e as decisões dos agentes de AI. A pesquisa vetorial permite recuperar informações mais sofisticadas ao utilizar um algoritmo de similaridade para fornecer resultados mais precisos, reduzindo a alucinação do LLM. O MongoDB lida com correspondência semântica, pesquisa contextual e análise de dados multidimensional com eficiência, todos cruciais para os fluxos de tomada de decisão dos agentes de AI.

Escalabilidade, desempenho e alta disponibilidade: o MongoDB é projetado para dimensionamento horizontal, tornando-o capaz de lidar com grandes volumes de dados em tempo real. A escalabilidade horizontal perfeita do MongoDB tem suporte para aplicativos de AI distribuídos em grande escala com requisitos crescentes de dados para cargas de trabalho de AI por meio de arquitetura distribuída e de fragmentação. Com o MongoDB, os agentes de AI podem dimensionar horizontalmente, distribuir o armazenamento e a carga computacional, além de manter alta disponibilidade, garantindo desempenho consistente mesmo quando o volume de dados cresce exponencialmente. Os conjuntos de réplicas do MongoDB fornecem alta disponibilidade robusta pronta para uso, que sustenta a confiabilidade e a resiliência dos agentes de AI.

A Coinbase, uma das maiores corretoras de criptomoedas dos Estados Unidos, aproveitou o MongoDB para melhorar significativamente a escalabilidade da sua plataforma em 700 clusters MongoDB e superar picos de tráfego imprevisíveis e de alto volume do mercado.

Coleções de séries temporais: as coleções de séries temporais do MongoDB são desenvolvidas para ingerir grandes volumes de dados com alto desempenho e escalabilidade. Essas coleções especializadas permitem que os agentes de AI acompanhem e analisem interações sequenciais, padrões de aprendizado e mudanças de estado ao longo do tempo, o que é essencial para manter o contexto, entender padrões comportamentais e implementar processos de tomada de decisão adaptativos. Ao oferecer otimizações nativas de séries temporais, como compactação automática de dados, melhor eficiência de armazenamento e respostas rápidas a queries baseadas em tempo, o MongoDB permite que os agentes de AI mantenham extensos registros atuais e históricos de suas interações, iterações de aprendizado e métricas de desempenho sem comprometer o desempenho computacional ou a integridade dos dados.

Integração perfeita: a integração perfeita do MongoDB com frameworks como o LangGraph acelera o desenvolvimento de sistemas de AI agênticos, complexos e com estado. Através do suporte nativo a documentos parecidos com JSON, além do suporte a esquema dinâmico e a funcionalidades de indexação poderosas, o MongoDB permite que agentes de AI com tecnologia LangGraph mantenham estruturas sofisticadas de dados e de memória, acompanhem processos de raciocínio em várias etapas e implementem gerenciamento avançado de estado que pode armazenar entre sessões e fornecer auditabilidade abrangente dos processos de tomada de decisão da AI.

1

Os dados devem ser relevantes para o seu caso de uso e respeitar as seguintes diretrizes:

  • O arquivo CSV deve conter uma linha de cabeçalho com os nomes das colunas.

  • A primeira coluna deve se chamar “timestamp” e conter data/hora no formato YYYY-MM-DDTHH:MM:SSZ, por exemplo, 2025-02-19T13:00:00Z.

  • As colunas restantes devem conter dados relevantes para o seu caso de uso.

  • Não há limite de colunas nem de linhas, mas para fins de teste do framework, a sugestão é manter o tamanho dos dados o menor possível.

Dados de amostra:

timestamp,gdp,interest_rate,unemployment_rate,vix
2025-02-19T13:00:00Z,2.5,1.75,3.8,15
2025-02-19T13:05:00Z,2.7,1.80,3.7,18
2025-02-19T13:10:00Z,2.6,1.85,3.9,22
2025-02-19T13:15:00Z,2.4,1.70,4.0,10
2025-02-19T13:20:00Z,2.3,1.65,4.1,20

Dentro da mesma pasta, você precisa adicionar um arquivo de queries. Este arquivo conterá as queries que serão usadas para demonstrar as funcionalidades de pesquisa vetorial como parte do fluxo de trabalho agentic. O arquivo deve seguir as seguintes diretrizes:

  • O arquivo CSV deve conter uma linha de cabeçalho com os nomes das colunas.

  • A primeira coluna deve se chamar "query" e conter as queries.

  • A segunda coluna deve ser chamada “recommendation” e conter as recomendações esperadas.

  • Não há limite de colunas ou linhas, mas para fins de teste do framework, recomenda-se manter o tamanho dos dados o menor possível.

Dados de amostra:

query,recommendation
GDP growth slowing,Consider increasing bond assets to mitigate risks from potential economic slowdown.
GDP showing strong growth,Increase equity assets to capitalize on favorable investment conditions.
Interest rates rising,Shift focus to bond assets as higher rates may impact borrowing-sensitive sectors.
Interest rates falling,Increase real estate assets to take advantage of lower borrowing costs.
Unemployment rate increasing,Reduce equity assets to account for potential economic weakness and reduced consumer spending.
Unemployment rate decreasing,Increase equity assets to benefit from improved economic conditions and corporate profits.
VIX above 20,Reduce equity assets to manage risks associated with high market volatility.
VIX below 12,Increase equity assets to capitalize on low market volatility and investor confidence.
VIX within normal range (12-20),Maintain current asset allocation as market conditions are stable.
Combination of rising interest rates and high VIX,Focus on bond assets to hedge against market volatility and borrowing cost impacts.
2

Conecte-se ao MongoDB Atlas e crie um banco de dados chamado "agentic_<SEU_CASO_DE_USO>", por exemplo, “agentic_macro_indicators”. Certifique-se de que o nome seja refletido nas variáveis de ambiente.

Crie as seguintes coleções:

  • Agent_profiles (para armazenar perfis de agentes): você pode importar alguns dados de amostra para esta coleção usando este arquivo.

  • Queries (para armazenar queries): você deve importar as queries do arquivo queries.csv criado na etapa 1.

3

Acesse a pasta de configuração e crie ou atualize o arquivo JSON config.json. O arquivo deve conter a seguinte estrutura:

{
"CSV_DATA": "data/csv/<YOUR_FILE_NAME>.csv",
"MDB_DATABASE_NAME": "<YOUR_MONGODB_DATABASE_NAME>",
"MDB_TIMESERIES_COLLECTION": "<YOUR_MONGODB_TIMESERIES_COLLECTION_NAME>",
"DEFAULT_TIMESERIES_DATA": [
{
"timestamp": "<DEFAULT_TIMESTAMP_IN_YYYY-MM-DDTHH:MM:SSZ>"
// Your default data here, check config_example.json for better understanding
}
],
"CRITICAL_CONDITIONS": {
// Below is an example of a critical condition for GDP growth
"gdp": {"threshold": 2.5, "condition": "<", "message": "GDP growth slowing: {value}%"}
// Other critical conditions for your use case here, check config_example.json for better understanding
},
"MDB_TIMESERIES_TIMEFIELD": "<YOUR_TIMESTAMP_FIELD_NAME>",
"MDB_TIMESERIES_GRANULARITY": "<YOUR_TIMESERIES_GRANULARITY>",
"MDB_EMBEDDINGS_COLLECTION": "queries", // Using "queries" collection name for storing queries
"MDB_EMBEDDINGS_COLLECTION_VS_FIELD": "query_embedding", // Using "query_embedding" field for storing embeddings
"MDB_VS_INDEX": "<YOUR_MONGODB_DATABASE_NAME>_queries_vs_idx", // Replace <YOUR_MONGODB_DATABASE_NAME> with your MongoDB database name
"MDB_HISTORICAL_RECOMMENDATIONS_COLLECTION": "historical_recommendations", // Using "historical_recommendations" collection name for storing recommendations
"SIMILAR_QUERIES": [
// Below is an example of default similar queries for GDP growth
{
"query": "GDP growth slowing",
"recommendation": "Consider increasing bond assets to mitigate risks from potential economic slowdown."
}
// Other similar queries for your use case here, check config_example.json for better understanding
// This ones are going to be used for the vector search tool in case something is not found in the queries collection
],
"MDB_CHAT_HISTORY_COLLECTION": "chat_history", // Using "chat_history" collection name for storing chat history
"MDB_CHECKPOINTER_COLLECTION": "checkpoints", // Using "checkpoints" collection name for storing checkpoints
"MDB_LOGS_COLLECTION": "logs", // Using "logs" collection name for storing logs
"MDB_AGENT_PROFILES_COLLECTION": "agent_profiles", // Using "agent_profiles" collection name for storing agent profiles
"MDB_AGENT_SESSIONS_COLLECTION": "agent_sessions", // Using "agent_sessions" collection name for storing agent sessions
"AGENT_PROFILE_CHOSEN_ID": "<YOUR_AGENT_PROFILE_ID>", // Replace <YOUR_AGENT_PROFILE_ID> with the agent profile ID you want to use, check config_example.json for better understanding
// Below is an example default agent profile for Portfolio Advisor
"DEFAULT_AGENT_PROFILE": {
"agent_id": "DEFAULT",
"profile": "Default Agent Profile",
"role": "Expert Advisor",
"kind_of_data": "Specific Data",
"motive": "diagnose the query and provide recommendations",
"instructions": "Follow procedures meticulously.",
"rules": "Document all steps.",
"goals": "Provide actionable recommendations."
},
"EMBEDDINGS_MODEL_NAME": "Cohere Embed English V3 Model (within AWS Bedrock)", // Describing the embeddings model used for creating the chain of thought
"EMBEDDINGS_MODEL_ID": "cohere.embed-english-v3", // Model ID for the embeddings model
"CHATCOMPLETIONS_MODEL_NAME": "Anthropic Claude 3 Haiku (within AWS Bedrock)", // Describing the chat completions model used for generating responses
"CHATCOMPLETIONS_MODEL_ID": "anthropic.claude-3-haiku-20240307-v1:0", // Model ID for the chat completions model
// Below is a sample agent workflow graph that uses the tools defined in the agent_tools.py file
// PLEASE BE CAREFUL WHEN MODIFYING THIS GRAPH, CONSIDER THAT THE TOOLS DEFINED IN THE AGENT TOOLS FILE ARE USED HERE AS WELL AS THE IMPORTS
"AGENT_WORKFLOW_GRAPH": {
"nodes": [
{"id": "reasoning_node", "tool": "agent_tools.generate_chain_of_thought_tool"},
{"id": "data_from_csv", "tool": "agent_tools.get_data_from_csv_tool"},
{"id": "process_data", "tool": "agent_tools.process_data_tool"},
{"id": "embedding_node", "tool": "agent_tools.get_query_embedding_tool"},
{"id": "vector_search", "tool": "agent_tools.vector_search_tool"},
{"id": "process_vector_search", "tool": "agent_tools.process_vector_search_tool"},
{"id": "persistence_node", "tool": "agent_tools.persist_data_tool"},
{"id": "recommendation_node", "tool": "agent_tools.get_llm_recommendation_tool"}
],
"edges": [
{"from": "reasoning_node", "to": "data_from_csv"},
{"from": "data_from_csv", "to": "process_data"},
{"from": "process_data", "to": "embedding_node"},
{"from": "embedding_node", "to": "vector_search"},
{"from": "vector_search", "to": "process_vector_search"},
{"from": "process_vector_search", "to": "persistence_node"},
{"from": "persistence_node", "to": "recommendation_node"},
{"from": "recommendation_node", "to": "END"}
],
"entry_point": "reasoning_node"
}
}

Assim que o arquivo de configuração for atualizado, é necessário configurar as variáveis de ambiente e criar as incorporações vetoriais. Por fim, o índice de pesquisa vetorial deve ser criado.

Confira o readme para explicações detalhadas de todas as etapas.

Diagnóstico em tempo real de turbina eólica

Figura 3. Arquitetura lógica

A AI de agente introduz um novo tipo de software que tem a capacidade de alterar drasticamente a forma como processamos dados para alcançar resultados mais ricos e eficientes no processamento de dados empresariais. Para aproveitar agentes em aplicativos de negócios, as equipes de entrega de software precisarão aprender:

  • Como os agentes recebem instruções para reagir em fluxos de trabalho predefinidos.

  • Como os agentes acessam e interagem com ferramentas como APIs e bancos de dados.

  • Como os agentes mantêm e gerenciam o estado.

Muitos desses itens podem ser considerados atividades básicas e configuração para equipes de entrega de software, independentemente do caso de uso real, fluxo de trabalho ou contexto do setor para o qual um agente ou fluxo de trabalho de agente será implantado.

Para equipes de alto desempenho na entrega de software, o uso de um framework para abstrair tarefas e componentes comuns tem sido frequentemente empregado para acelerar o desenvolvimento e a implantação de soluções de software empresariais, bem como diminuir a complexidade subsequente de sua manutenção. Este framework de agente facilita para as equipes de entrega de software começarem a construir soluções agenciais, bem como mantê-las, por meio de componentes e ativos comuns e configuráveis.

Além de ensinar suas equipes de software e você a criar soluções agênticas, esse framework pode ajudá-los a criar padrões e componentes replicáveis que facilitem o dimensionamento e a manutenção de soluções de negócios a longo prazo.

  • Julian Boronat, MongoDB

  • Peyman Parsi, MongoDB

  • Jeff Needham, MongoDB

  • Luca Napoli, MongoDB

  • Humza Akthar, MongoDB

Voltar

RAG sensível ao contexto para documentos técnicos

Nesta página