O que agents faz?
Gerencie cargas de trabalho de agente com estado e persistentes usando Cloudflare Durable Objects para comunicação em tempo real e agendamento eficientes e escaláveis.
Descrição
Esta skill permite que você crie e gerencie agentes de IA que mantêm estado e são persistentes, aproveitando Cloudflare Durable Objects. Ela oferece uma maneira simples e poderosa de lidar com comunicação em tempo real e agendamento de tarefas de forma escalável, sem gerenciar infraestrutura complexa.
Principais Recursos
- Gerenciamento de Estado: Cada agente mantém seu próprio estado de forma persistente usando Durable Objects.
- Comunicação em Tempo Real: Suporte para comunicação bidirecional entre agentes e clientes.
- Agendamento de Tarefas: Agende execuções futuras de tarefas para agentes.
- Escalabilidade Automática: A infraestrutura do Cloudflare escala automaticamente com a demanda.
- Baixa Latência: Processamento próximo ao usuário final para respostas rápidas.
Como Funciona
A skill define um padrão para criar agentes como classes que estendem DurableObject. Cada instância de agente é identificada por um ID único e pode receber requisições HTTP ou mensagens via WebSocket. O estado do agente é mantido em memória e persistido automaticamente.
import { DurableObject } from "cloudflare:workers";
export class MeuAgente extends DurableObject {
async handleRequest(request: Request): Promise<Response> {
// Lógica do agente
}
}
Uso
Para usar esta skill, você precisa:
- Configurar um projeto Cloudflare Workers com Durable Objects habilitado.
- Definir suas classes de agente estendendo
DurableObject. - Registrar as classes no arquivo
wrangler.toml. - Implementar a lógica de comunicação e agendamento conforme necessário.
[[durable_objects.bindings]]
name = "MEU_AGENTE"
class_name = "MeuAgente"
[[migrations]]
tag = "v1"
new_classes = ["MeuAgente"]
Exemplo
Um exemplo de agente que responde a mensagens e agenda tarefas:
export class ChatBot extends DurableObject {
async handleRequest(request: Request): Promise<Response> {
const url = new URL(request.url);
if (url.pathname === "/mensagem") {
const { texto } = await request.json();
const resposta = await this.processarMensagem(texto);
return new Response(JSON.stringify({ resposta }));
}
return new Response("Não encontrado", { status: 404 });
}
async processarMensagem(texto: string): Promise<string> {
// Lógica de processamento
return `Você disse: ${texto}`;
}
}
Documentação Adicional
Consulte a documentação oficial do Cloudflare Durable Objects para mais detalhes sobre configuração e limitações.
Licença
Esta skill é distribuída sob a licença MIT. Veja o arquivo LICENSE para mais informações.