Para reproduzir a camada semântica EDB Postgres AgentCore, o exemplo técnico da AWS coloca uma base de conhecimento semântica do AIDB dentro do EDB Postgres AI e conecta a ela um agente no Amazon Bedrock AgentCore por MCP. A camada indexa metadados do esquema; o PostgreSQL aplica os privilégios da função usada na consulta. O fluxo abaixo acompanha a demonstração com dados C360, sem tratar os resultados dessa amostra como medidas de desempenho.

O que a camada semântica indexa

A base de conhecimento semântica (SemKB) procura informações sobre tabelas, colunas, views, comentários e relações entre tabelas. Ela não indexa as linhas de dados. O agente usa esse contexto para localizar estruturas e significados úteis antes de formular consultas.

No exemplo, comentários COMMENT ON explicam o sentido de campos e termos de negócio. Chaves estrangeiras descrevem relações e caminhos de junção; views registram definições reutilizáveis. Um alias semântico pode expor uma consulta SELECT somente para leitura, parametrizada e acompanhada de uma descrição em linguagem natural.

Prepare o esquema e escreva as definições

  1. Carregue os dados C360. O tutorial usa quatro arquivos CSV, organizados no esquema c360 em quatro tabelas: customers, locations, products e purchases. O exemplo também cria a view derivada big_spender.
  2. Documente o significado dos campos e das relações. Use comentários do PostgreSQL para explicar o que cada coluna representa e configure as chaves estrangeiras para que as relações entre tabelas possam ser identificadas. Na amostra, purchases.price representa o total do pedido, não o preço unitário. Essa definição muda o resultado de uma consulta que, de outro modo, poderia multiplicar o total pela quantidade.
  3. Explicite os termos de negócio nas views e nos aliases. A view big_spender define como grande comprador quem fez ao menos um pedido acima de US$ 250. O alias big_spenders_by_state oferece uma consulta somente para leitura, parametrizada por estado. Esses critérios são definições da demonstração, não significados universais de “grande comprador”.

Configure a SemKB e escolha o processamento

  1. Crie a base de conhecimento para o esquema C360. A configuração usada no tutorial chama a SemKB de c360_kb, associa o esquema c360 ao modelo bge-small-en-v1.5-f16 e define auto_processing como Live. Quando há mais de uma SemKB, as buscas precisam especificar kb_name.

O tutorial descreve três modos para processar mudanças no esquema:

ModoComportamento diante de mudanças no esquemaComo atualizar
LiveUsa gatilhos de eventos do PostgreSQL para processar mudanças.O processamento acompanha os eventos do esquema.
BackgroundProcessa as mudanças de forma assíncrona, por um worker.O worker trata as mudanças em segundo plano.
DisabledNão processa as mudanças automaticamente.Execute aidb.refresh_semantic_kb() explicitamente.

Habilite e conecte o endpoint MCP

  1. Ative o servidor MCP do AIDB. No PostgreSQL, habilite edb.endpoints_mcp_enabled e inclua aidb em shared_preload_libraries; depois, reinicie o servidor. O exemplo usa a porta 8765. Para aceitar conexões fora do loopback, configure um certificado TLS e sua chave.
  2. Conecte o Gateway ao endpoint. Na arquitetura do tutorial, um Application Load Balancer (ALB) HTTPS encaminha as solicitações ao endpoint edb-endpoints do AIDB, que atende ao Model Context Protocol (MCP) por HTTP em fluxo contínuo. O AgentCore Gateway registra esse endpoint como destino MCP. Como o endpoint já fala MCP, essa rota não exige uma camada de tradução com AWS Lambda.

Na configuração descrita, o grupo de destino do ALB usa HTTPS na porta 8765, mas não valida a cadeia do certificado do servidor de destino. O tutorial recomenda conectividade privada pela VPC para produção.

Como identidade e credenciais chegam ao PostgreSQL

Fluxo da identidade do usuário e das credenciais do banco até a aplicação de permissões no PostgreSQL, com uma ramificação para rastros SQL.
  1. Separe a identidade do usuário da credencial do banco. No fluxo demonstrado, o Amazon Cognito emite o JWT do usuário. O AgentCore Gateway valida esse token e avalia a política de acesso às ferramentas. O AgentCore Identity fornece ao destino MCP a credencial da função PostgreSQL por autenticação HTTP Basic. O código do agente não recebe essa credencial.
  2. Defina os privilégios no PostgreSQL. A função associada à credencial controla o que a consulta pode ler. No teste da AWS, uma função restrita recebe erro de permissão ao tentar acessar customers.ssn; privilégios por coluna e segurança em nível de linha (RLS) fazem a restrição valer no banco. Gateway e Identity cuidam de etapas diferentes do fluxo, enquanto os privilégios e a RLS são aplicados pelo PostgreSQL.

Confira consultas, permissões e rastros

Teste as mesmas perguntas com as funções autorizadas e restritas. A demonstração mostra que o mesmo agente e as mesmas ferramentas podem produzir resultados de acesso diferentes conforme a credencial usada. O erro ao consultar customers.ssn verifica a restrição de coluna; regras de RLS podem limitar as linhas visíveis.

Para acompanhar as execuções, o AIDB pode registrar rastros de SQL no esquema aidb_otel quando a telemetria está configurada. Separadamente, o AgentCore envia rastros de chamadas de ferramentas e modelos, além do uso de tokens, para o CloudWatch Transaction Search.

Valide definições e atualidade à parte

Permissão para consultar uma coluna não resolve se a consulta aplicou o significado de negócio pretendido. Em uma demonstração comunitária separada, feita com Snowflake e uma amostra de 34 fornecedores, “ativo” produziu contagens de 25, 24 e 21 conforme a definição usada: compras ou faturas nos últimos 12 meses, atividade nos últimos 90 dias ou um campo de status do ERP. O exemplo ilustra que a camada pode aplicar uma definição escolhida, mas a organização ainda precisa decidir qual definição aprova.

Em discussões sobre agentes em bancos grandes, profissionais também relataram conferir consultas com perguntas de resultado conhecido, examinar o plano da consulta e registrar a definição de negócio utilizada. Um participante descreveu comparar impressões digitais de versões do esquema e sinalizar definições que apontam para tabelas alteradas; outro relato atribuiu um saldo desatualizado à defasagem de uma réplica. São práticas e experiências relatadas por usuários, não recursos específicos do AIDB.

A amostra C360 tem quatro tabelas e uma view. A configuração descrita serve para entender a sequência de integração e os pontos de controle; por si só, ela não mede como a arquitetura se comporta em esquemas maiores.