Ferramentas e Ações de IA
Quando você conversa com o Assistente de Chat de IA para Administradores, o modelo não está adivinhando respostas — ele tem um conjunto de ferramentas que pode chamar para ler seus dados e realizar ações. Este artigo documenta essas ferramentas para que você entenda exatamente o que a IA pode fazer nos bastidores.
Essas ferramentas estão disponíveis apenas para o chat de administração. O chat voltado aos membros não tem ferramentas e é somente leitura.
As Seis Ferramentas de Administração
| # | Ferramenta | O Que Faz | Modifica Dados? |
|---|---|---|---|
| 1 | create_announcement |
Redige um novo anúncio | Sim — como rascunho inativo, após sua confirmação |
| 2 | create_event |
Redige um novo evento | Sim — como rascunho inativo, após sua confirmação |
| 3 | search_events |
Encontra eventos por intervalo de datas ou palavra-chave | Não — somente leitura |
| 4 | search_people |
Encontra pessoas por nome ou status | Não — somente leitura |
| 5 | update_person_status |
Atualiza status de membro/ativo de uma pessoa | Sim — após sua confirmação |
| 6 | query_database |
Executa contagens, listas, médias e agrupamentos somente leitura | Não — somente leitura |
Garantia de confirmação: Toda ferramenta que grava no banco de dados retorna uma prévia primeiro e aguarda seu clique explícito em «Criar» / «Confirmar». A IA não pode modificar seus dados silenciosamente.
1. create_announcement
Redige um novo anúncio e mostra uma prévia.
- Entradas:
title(obrigatório),content(obrigatório),category(opcional:general,urgent,event,ministry) - Saída: Sempre salvo como
is_active = false(rascunho). Você publica manualmente na lista de Anúncios.
2. create_event
Redige um novo evento e mostra uma prévia.
- Entradas:
title(obrigatório),starts_at(obrigatório,YYYY-MM-DD HH:MM),ends_at(opcional),location(opcional),description(opcional) - Saída: Salvo como inativo. Você ativa manualmente na lista de Eventos.
3. search_events
Encontra eventos sem modificar nada.
- Entradas:
start_date,end_date,keyword(todos opcionais) - Saída: Título, data, horário, local de cada correspondência.
4. search_people
Encontra pessoas por nome ou status de membro.
- Entradas:
name,membership_status(member,regular_attender,visitor,inactive),is_active(booleano) — todos opcionais - Saída: Nomes e informações básicas, limitados às suas permissões (líderes de equipe veem apenas seus grupos atribuídos).
5. update_person_status
Atualiza o status de membro ou flag ativo de uma pessoa.
- Entradas:
person_id(obrigatório),membership_status,is_active,reason(opcional, ex.: «Mudou de estado») - Saída: Mostra estado atual versus proposto, depois aguarda sua confirmação. Permissão de administrador obrigatória.
6. query_database — a DSL de dados
Esta é a ferramenta mais poderosa. Ela aceita uma pequena DSL JSON descrevendo o que você quer, e a IA converte sua pergunta em linguagem natural na chamada correta.
Esquema
{
"entity": "people | events | groups | announcements | attendance",
"operation": "count | average | sum | list | min | max | group_by",
"field": "age | birthdate | created_at | ...",
"filters": { "...": "..." },
"group_by": "membership_status | gender | age_group",
"limit": 20
}
Entidades
- people — registros da congregação (com anonimização aplicada)
- events — eventos do calendário
- groups — grupos e classes
- announcements — registros de anúncios
- attendance — entradas de presença
Operações
| Operação | O Que Faz | Exemplo de Pergunta |
|---|---|---|
count |
Retorna um único número | «Quantos membros ativos?» |
average |
Média de um campo numérico | «Qual é a idade média dos nossos jovens?» |
sum |
Soma de um campo numérico | «Quantas entradas de presença no total no mês passado?» |
list |
Retorna linhas (limitadas por limit) |
«Mostre todos os visitantes» |
min / max |
Menor / maior valor | «Quem é nosso membro mais velho?» |
group_by |
Contagens agrupadas por um campo | «Detalhe a membresia por status» |
Exemplos de Filtros
A IA constrói o objeto filters a partir da sua pergunta. Formas comuns:
{"membership_status": "member"}{"is_active": true}{"gender": "female"}{"age_min": 18, "age_max": 30}{"birth_month": 2}— aniversários de fevereiro{"birth_day": 14}— dia específico do mês{"created_after": "2026-01-01"}
Traduções de Exemplo
| Você pergunta | A IA chama |
|---|---|
| «Quantos membros ativos?» | entity: people, operation: count, filters: {membership_status: member, is_active: true} |
| «Idade média de mulheres menores de 40» | entity: people, operation: average, field: age, filters: {gender: female, age_max: 40} |
| «Lista de aniversários de março» | entity: people, operation: list, filters: {birth_month: 3}, limit: 50 |
| «Tamanhos dos grupos» | entity: groups, operation: list, field: member_count |
| «Detalhamento por status de membro» | entity: people, operation: group_by, group_by: membership_status |
Registro de Auditoria
Toda execução de ferramenta é registrada com:
- O nome da ferramenta e os argumentos
- O ID do usuário que executou
- O ID da igreja
- Data e hora
Cada solicitação de ferramenta e cada ação confirmada é registrada no log do sistema para que você veja exatamente o que a IA fez e quando.
Resumo de Segurança
- Sem exclusões. Nenhuma ferramenta pode excluir registros.
- Apenas rascunhos. Todas as ferramentas
create_*salvam como inativas. - Prévia + confirmação. Toda gravação exige seu clique explícito de confirmação.
- Limitado por permissão. As ferramentas respeitam sua função; líderes de equipe não podem consultar dados fora dos seus grupos.
- Somente leitura por padrão. Quatro das seis ferramentas são leituras puras.
Artigos Relacionados
- Assistente de Chat de IA para Administradores — a experiência voltada ao usuário
- O Que a IA Sabe — quais campos e registros cada ferramenta pode ver
- Solução de Problemas de IA — quando uma ferramenta retorna um erro