Pular para o conteúdo
niadra
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.

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

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.

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

Só aceitamos e-mail corporativo. Usamos estes dados apenas para responder ao seu pedido; para apagá-los, peça por este formulário.

O próximo agente já pode chegar sabendo.

A Niadra está abrindo para empresas por pedido, antes do lançamento. Conte o que você está construindo: quem responde é quem escreve o código.