As aplicações Agent-Lab compartilham um único modelo de domínio, definido em
agent_lab/domain/. O mesmo modelo alimenta os schemas da API REST, a camada de
persistência e o runtime dos agentes — aprenda-o uma vez e você saberá o que cada
endpoint lê e grava.

Entidades
| Entidade | O que ela modela |
|---|---|
| Agent | Uma instância de agente de LLM — agent_name, agent_type (validado contra o registro), flag de ativo e timestamps. Uma implementação, muitas instâncias configuradas. |
| AgentSettings | Configuração chave-valor de uma instância de agente: prompts (templates Jinja2), nomes de coleções, temperatura, valores personalizados. Até 16.000 caracteres por valor — é aqui que o comportamento do agente é ajustado via POST /agents/update_setting. |
| LanguageModel | Um modelo de linguagem disponível para os agentes, com a conexão com seu fornecedor. |
| LanguageModelSettings | Parâmetros por modelo (temperatura, máximo de tokens, …), gerenciados pelos endpoints /llms. |
| Integration | Uma integração externa (por exemplo, um fornecedor de IA) e sua configuração. Os segredos são armazenados no Vault, nunca no banco de dados. |
| Message | Um turno de conversa: papel (human / assistant / tool), conteúdo, response_data e vínculos de thread (replies_to). Persistida com a memória do agente por meio de checkpoints do LangGraph. |
| Attachment | Um arquivo anexado a uma mensagem: conteúdo bruto, conteúdo processado e a referência à coleção de embeddings usada na recuperação. |
Um exemplo de configurações de agente persistidas — prompts e valores personalizados do agente de memos de voz — extraído de notebooks/08_test_agent_type-multiagent-voice-assistant.ipynb:

Onde os dados ficam
O Agent-Lab usa três bancos de dados PostgreSQL (além do Redis) — provisionados
pelo guia de implantação e configurados via db.url, db.vectors e
db.checkpoints (consulte a Referência de configuração):
| Armazenamento | Conteúdo |
|---|---|
db.url |
Dados relacionais: agentes, configurações, modelos, integrações, mensagens, anexos |
db.vectors |
Embeddings pgvector — busca vetorial e recuperação (/attachments/embeddings) |
db.checkpoints |
Dados de checkpoint do LangGraph — memória do agente entre interações |
Redis (broker.url) |
Broker pub/sub para atualizações de status de operações de longa duração; também armazena os clients OAuth do MCP |
Segurança e gerenciamento de segredos
Os segredos — credenciais de integrações, chaves de API de modelos, o próprio payload de configuração — são gerenciados com o Vault. O banco de dados armazena referências; os valores sensíveis são recuperados do Vault na inicialização e sob demanda. Consulte Segredos com Vault e a Referência de configuração.