Инструменты и действия ИИ
В чате с Admin AI Assistant модель не угадывает — у неё набор инструментов для чтения данных и действий. Статья документирует инструменты, чтобы вы понимали, что ИИ делает за кулисами.
Инструменты доступны только для админ-чата. Участнический чат без инструментов, read-only.
Шесть админ-инструментов
| # | Tool | What It Does | Modifies Data? |
|---|---|---|---|
| 1 | create_announcement |
Черновик объявления | Да — неактивный черновик после подтверждения |
| 2 | create_event |
Черновик мероприятия | Да — неактивный черновик после подтверждения |
| 3 | search_events |
Поиск по дате/ключевому слову | Нет — read-only |
| 4 | search_people |
Поиск по имени/статусу | Нет — read-only |
| 5 | update_person_status |
Обновление membership/active у одного человека | Да — после подтверждения |
| 6 | query_database |
Read-only counts, lists, averages, group-bys | Нет — read-only |
Гарантия подтверждения: каждый инструмент, пишущий в БД, сначала показывает предпросмотр и ждёт явного «Create» / «Confirm». ИИ не может тихо менять данные.
1. create_announcement
Черновик объявления с предпросмотром.
- Inputs:
title(required),content(required),category(optional:general,urgent,event,ministry) - Output: всегда
is_active = false(черновик). Публикуете вручную из Announcements.
2. create_event
Черновик мероприятия с предпросмотром.
- Inputs:
title(required),starts_at(required,YYYY-MM-DD HH:MM),ends_at(optional),location(optional),description(optional) - Output: неактивное. Активируете в Events.
3. search_events
Поиск без изменений.
- Inputs:
start_date,end_date,keyword(all optional) - Output: title, date, time, location для каждого совпадения.
4. search_people
Поиск по имени или статусу членства.
- Inputs:
name,membership_status(member,regular_attender,visitor,inactive),is_active(boolean) — all optional - Output: имена и базовая информация в scope разрешений (team leaders — только назначенные группы).
5. update_person_status
Обновление статуса членства или active flag одного человека.
- Inputs:
person_id(required),membership_status,is_active,reason(optional, e.g. "Moved out of state") - Output: текущее vs предлагаемое, затем подтверждение. Требуется admin permission.
6. query_database — data DSL
Самый мощный инструмент. Принимает небольшой JSON DSL; ИИ переводит вопрос на естественном языке в вызов.
Schema
{
"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
}
Entities
- people — записи общины (с анонимизацией)
- events — мероприятия календаря
- groups — группы и классы
- announcements — объявления
- attendance — записи посещаемости
Operations
| Operation | What It Does | Example Question |
|---|---|---|
count |
Одно число | «Сколько активных members?» |
average |
Среднее числового поля | «Средний возраст молодёжи?» |
sum |
Сумма числового поля | «Сколько записей посещаемости за прошлый месяц?» |
list |
Строки (cap limit) |
«Все visitors» |
min / max |
Минимум / максимум | «Самый старший участник?» |
group_by |
Подсчёт по полю | «Членство по статусу» |
Filter Examples
ИИ строит filters из вопроса:
{"membership_status": "member"}{"is_active": true}{"gender": "female"}{"age_min": 18, "age_max": 30}{"birth_month": 2}— февраль{"birth_day": 14}{"created_after": "2026-01-01"}
Sample Translations
| You ask | AI calls |
|---|---|
| "How many active members?" | entity: people, operation: count, filters: {membership_status: member, is_active: true} |
| "Average age of women under 40" | entity: people, operation: average, field: age, filters: {gender: female, age_max: 40} |
| "Birthday list for March" | entity: people, operation: list, filters: {birth_month: 3}, limit: 50 |
| "Group sizes" | entity: groups, operation: list, field: member_count |
| "Membership status breakdown" | entity: people, operation: group_by, group_by: membership_status |
Audit Logging
Каждый вызов инструмента логируется:
- имя инструмента и аргументы;
- ID пользователя;
- church ID;
- timestamp.
Каждый запрос инструмента и каждое подтверждённое действие записываются в системный журнал.
Safety Recap
- No deletes. Ни один инструмент не удаляет записи.
- Drafts only. Все
create_*— неактивные. - Preview + confirm. Каждая запись требует явного клика.
- Permission-scoped. Team leaders не запрашивают вне своих групп.
- Read-only by default. Четыре из шести — только чтение.
Связанные статьи
- ИИ-чат для администраторов — пользовательский опыт
- Что знает ИИ — поля и записи каждого инструмента
- Устранение неполадок ИИ — ошибки инструментов