# Memória para crews do CrewAI: contexto nos inputs do kickoff e as ferramentas do histórico | Niadra

> Como dar memória de cliente a uma crew do CrewAI: before_kickoff põe o contexto nos inputs como niadra_context, after_kickoff registra a resposta final, e tools entrega o histórico com o esquema do kit. A memória da própria crew continua do CrewAI. Código do SDK e limites.

URL: https://niadra.com/integracoes/crewai

Integração · CrewAI

# Memória para crews do CrewAI.

NiadraCrew entrega before\_kickoff, que põe o contexto nos inputs da crew como niadra\_context, after\_kickoff, que registra a resposta final, e tools. A memória de curto prazo, de longo prazo e de entidades da crew continua do CrewAI; a Niadra é a memória da empresa sobre o cliente, compartilhada com todos os outros agentes.

[Pedir acesso antecipado](/enterprise)[Documentação do adaptador(abre docs.niadra.com)](https://docs.niadra.com/integrations/crewai)

A memória do CrewAI é da crew: o que os agentes dela viram e aprenderam, nos armazenamentos que ela mesma mantém. Ela serve à crew. Não serve ao agente de voz de outro fornecedor que vai atender a mesma cliente amanhã, nem ao agente de cobrança que age no ERP, e não recebe o que esses fizeram.

Com a Niadra, a crew recebe no kickoff o contexto que a empresa tem da cliente, pelo input niadra\_context, que a descrição da tarefa ou o backstory do agente usa depois do seu texto. A resposta final da crew volta para a memória, e qualquer agente, de qualquer fornecedor, lê o que ela decidiu.

O exemplo mínimo, como está na documentação

```
pip install 'niadra[crewai]'   # crewai 1.15 or newer, below 2; Python 3.11 to 3.13
```

```
"""A CrewAI crew whose task reads the customer's context."""

from crewai import Agent, Crew, Task

from niadra import Niadra, phone
from niadra.integrations.crewai import NiadraCrew

niadra = Niadra(channel="chat")
memory = NiadraCrew(niadra.conversation("thread-81", subject=phone("+5511912345678")))
support = Agent(role="Support", goal="Help the customer", backstory="You work for Acme.", tools=memory.tools)
answer = Task(
    description="Answer the customer: {message}\n\nWhat the company knows:\n{niadra_context}",
    expected_output="A short, specific answer.",
    agent=support,
)
crew = Crew(
    agents=[support],
    tasks=[answer],
    before_kickoff_callbacks=[memory.before_kickoff],
    after_kickoff_callbacks=[memory.after_kickoff],
)
print(crew.kickoff(inputs={"message": "Where is my replacement lid?"}).raw)
```

-   Python

O mesmo código está em examples/crewai\_crew.py nos repositórios dos SDKs, onde roda na CI contra os tipos reais do framework e o emulador da Niadra. Para testar sem a nuvem da Niadra, niadra-mock e NIADRA\_BASE\_URL=http://127.0.0.1:8765.

## Como o adaptador se liga

As cinco primitivas de toda integração da Niadra, nos pontos de extensão deste framework.

Contexto

before\_kickoff acrescenta niadra\_context aos inputs da crew: as notas do agente (com agent\_memory=), o contexto e o turn\_block. Ponha {niadra\_context} na descrição de uma tarefa ou no backstory de um agente, depois do seu texto.

Turnos

O input em message (ou message\_key=) é o turno do cliente, registrado antes de a crew começar; a resposta final da crew é o turno do agente, registrado quando ela termina.

Ferramentas

tools: ferramentas do CrewAI cujo esquema de argumentos é o do kit, amarradas ao cliente.

Verificação

conversation.verify() antes do kickoff.

Transbordo

transferred\_to\_agent() e transferred\_to\_human() registram a transferência.

## O que o agente recebe

O contexto é compilado quando a memória muda e servido pronto, sem modelo de IA na leitura. O que outro canal disse durante a conversa chega como delta, no fim do prompt.

-   Quem é o cliente, pelo que a conversa já provou: o nível de verificação decide o que entra
-   Fatos, pendências e promessas, com a data e o canal de origem
-   O que outros agentes fizeram por dentro, confirmado pelo sistema de registro
-   Padrões calculados por regra, com as evidências e o prazo
-   As três ferramentas do histórico: buscar, linha do tempo e abrir um item, amarradas ao cliente no seu código
-   Comprovante de cada leitura, encadeado por SHA-256

[Ver o contexto por dentro](/produtos/contexto)

## O que o adaptador não faz

-   A memória da própria crew (curta, longa, de entidades) continua do CrewAI; a Niadra é a memória da empresa sobre o cliente, compartilhada com todos os outros agentes.
-   Só Python 3.11 a 3.13: o armazenamento vetorial do CrewAI depende do onnxruntime, que não tem wheels para o 3.10. Os extras crewai, pipecat e openai-agents fixam versões incompatíveis de uma dependência comum: instale um por ambiente.
-   Só a resposta final da crew é registrada como turno do agente, não cada passo.
-   Testado contra crewai 1.15 com o modelo substituído por um fake e a Niadra no emulador.

## Perguntas frequentes

### Devo desligar a memória do CrewAI?

Não precisa. A memória da crew guarda o que os agentes dela aprenderam sobre as tarefas; a Niadra guarda o que a empresa sabe de cada cliente, de todos os canais. Uma complementa a outra, e a crew continua rodando como hoje.

### Como o agente da crew acha o contexto?

Pelo input niadra\_context, que o before\_kickoff acrescenta. A descrição da tarefa diz {niadra\_context} depois do seu texto, como qualquer input interpolado do CrewAI. As ferramentas do histórico vão em tools, para o agente consultar o que o contexto não responde.

### Cada passo da crew vira um turno?

Não. Só a resposta final da crew é registrada como turno do agente, e o input em message como turno do cliente. É o que outros agentes precisam saber: o que a cliente pediu e o que a crew decidiu.

### Preciso trocar de modelo, de prompt ou de fornecedor?

Não. O adaptador coloca o contexto depois das suas instruções e o delta no fim do prompt, nos pontos de extensão que o framework já tem. O seu modelo, o seu prompt e o seu fornecedor continuam os mesmos, e trocar qualquer um deles depois não apaga a memória.

### Onde ficam os dados e quanto custa?

Os dados ficam numa região só, informada no contrato, cifrados com AES-256-GCM e chave exclusiva por empresa, protegida em HSM FIPS 140-3. O preço é por conversa ou tarefa em que um agente leu a memória: de US$ 2 a 3 a cada mil, conforme o volume, com leituras, buscas e eventos de sistema incluídos. A Niadra está abrindo para empresas por pedido, antes do lançamento.

## Outras integrações

-   [LiveKit Agents](/integracoes/livekit)
-   [Pipecat](/integracoes/pipecat)
-   [Vapi](/integracoes/vapi)
-   [Retell AI](/integracoes/retell)
-   [ElevenLabs Agents Platform](/integracoes/elevenlabs)
-   [Twilio](/integracoes/twilio)
-   [WhatsApp Cloud API](/integracoes/whatsapp)
-   [OpenAI Agents SDK](/integracoes/openai-agents)
-   [LangGraph](/integracoes/langgraph)
-   [LangChain](/integracoes/langchain)
-   [Vercel AI SDK](/integracoes/ai-sdk)
-   [n8n](/integracoes/n8n)
-   [As 36 integrações, na documentação(abre docs.niadra.com)](https://docs.niadra.com/integrations/overview)

## Conte o que você está construindo.

E-mail corporativo e duas linhas sobre os seus agentes bastam. Quem responde é quem escreve o código, com uma proposta de acesso antecipado para o seu caso.

[Prefere contar mais sobre a sua empresa? Use o formulário completo](/enterprise)
