Agentes de Apps
Agentes de apps são agentes de IA customizados que você constrói para o domínio específico do seu app. Eles combinam as ferramentas integradas do IronFlock com ferramentas personalizadas que você escreve.
Criando um Agente de App
Defina seu agente em App Settings → AI Agent:
- System Prompt — Descreva o propósito, capacidades e limites do agente
- Ferramentas — Selecione ferramentas integradas e adicione ferramentas customizadas
- Modelo — Escolha o provedor e modelo de LLM
- Memória — Configure o tamanho da janela de contexto
Escrevendo Ferramentas Customizadas
Para lógica de domínio personalizada, escreva ferramentas Python que se integram à sua fonte de dados:
from ironflock.ai import Tool, AgentContext
class ProductionEfficiencyTool(Tool):
name = "get_production_efficiency"
description = "Calcula eficiência de produção para uma linha específica"
parameters = {
"line_id": {"type": "string", "description": "ID da linha de produção"},
"shift": {"type": "string", "description": "Turno: morning, afternoon, night"}
}
async def execute(self, context: AgentContext, line_id: str, shift: str):
data = await context.db.query(
"SELECT AVG(output_rate) / MAX(target_rate) as efficiency "
"FROM production_data WHERE line_id = $1 AND shift = $2 "
"AND time > NOW() - INTERVAL '8 hours'",
line_id, shift
)
return {"efficiency_pct": round(data[0]["efficiency"] * 100, 1)}Integrando com o Dashboard
O assistente de IA aparece como um chat no canto do dashboard do seu app. Os usuários podem interagir em linguagem natural enquanto visualizam os dashboards.
Exemplo: Agente para Monitoramento de Compressores
agent = Agent(
system_prompt="""Você é um especialista em manutenção de compressores de ar.
Você monitora pressão, temperatura, vibração e horas de uso.
Você pode identificar sinais de desgaste precoce e recomendar manutenção preventiva.
Você nunca faz alterações de controle sem aprovação explícita do operador.""",
tools=[
QueryTimeseriesTool(), # Ferramenta integrada
GetActiveAlertsTool(), # Ferramenta integrada
CompressorHealthScoreTool(), # Ferramenta customizada
MaintenanceHistoryTool(), # Ferramenta customizada
]
)Last updated on