ИИ-агент и база данных: как начать с ответов без права записи
Выбери способ подключения базы к ИИ-агенту и собери ограниченный пилот в n8n: учебные данные, чтение PostgreSQL и проверка ответа.
Продакт спрашивает агента: «Сколько пользователей активировались в пилоте?» Ответ полезен, только если понятно, откуда взялись числа, за какой период они посчитаны и что агент мог изменить в базе. Начать стоит с одного заранее определённого набора данных и доступа только на чтение.

Запрос «база данных для ИИ-агента» может означать разные задачи. Ниже — выбор подхода и небольшой пилот в n8n. Продакт задаёт вопрос и критерии проверки; настройку доступа к PostgreSQL нужно поручить человеку, который отвечает за базу. Знание SQL для основного упражнения не требуется.
1. Определи, что именно агент должен хранить или читать
| Задача | Подход для первого пилота | Что проверить |
|---|---|---|
| Сохранять состояния небольшой автоматизации | n8n Data Tables | Кто меняет строки и как искать записи |
| Отвечать по точным числам из продукта | PostgreSQL и ограниченный инструмент чтения | Определения метрик, период, права |
| Находить смысловые фрагменты документов | Поиск по документам, RAG | Источник цитаты и полнота найденного |
Это выбор по типу данных, а не рейтинг продуктов. Историю разговора тоже не следует автоматически считать источником актуальных метрик. Если у тебя задача про документы, начни с RAG в n8n; для простого внутреннего реестра — с Data Tables.
Наш учебный вопрос: «Покажи активацию по двум сегментам за неделю 12–18 октября». Активация в примере означает завершение первого полезного действия после регистрации. Для реального продукта команда должна отдельно согласовать это событие и окно наблюдения.
2. Подготовь ограниченную таблицу для чтения
Попроси администратора создать в тестовой базе таблицу pilot_activation в схеме public со следующими учебными строками. Одна строка — один сегмент за одну неделю, не отдельный пользователь:
| week_start | segment | signups | activated |
|---|---|---|---|
| 2026-10-12 | new | 100 | 30 |
| 2026-10-12 | returning | 40 | 20 |
Для пилота достаточно этих четырёх полей. Не добавляй имена, почту и содержимое обращений. Выдай отдельной учётной записи право читать только эту таблицу; проверь, что она не может менять её и читать другие рабочие таблицы. Ограничение задаётся в базе, а не только словами в промпте. Сетевое подключение, шифрование и учётные данные пусть проверит администратор.
В узле Postgres n8n есть операция Select, и узел можно использовать как инструмент агента. Для этого упражнения зафиксируй настройки вручную:
| Поле | Значение |
|---|---|
| Operation | Select |
| Schema / Table | public / pilot_activation |
| Select Rows | week_start равно 2026-10-12 |
| Return All | Выключено |
| Limit | 10 |
| Output Columns | week_start, segment, signups, activated |
Не отдавай модели выбор таблицы, операции или произвольного SQL. Если возвращается десять строк, лимит мог обрезать данные: считать итог по такой выборке нельзя, пока не проверена полнота. В нашем наборе ожидаются ровно две строки.
3. Подключи чтение к агенту
Создай тестовую цепочку Chat Trigger → AI Agent, подключи к агенту чат-модель с настроенными credentials. Через разъём Tool добавь Postgres, выбери подготовленное подключение и настройки выше. Дай инструменту понятное описание: «Читает только учебную активацию за неделю 12 октября 2026, возвращает две строки по сегментам». Начальную настройку агента можно пройти по этому руководству.
В инструкции агента запиши:
Ты помогаешь проверить учебную активацию.
Для чисел сначала вызови инструмент чтения pilot_activation.
Он содержит только неделю с 12 октября 2026 и два сегмента.
Покажи исходные signups и activated, затем долю activated/signups.
Общий процент считай из сумм, а не как среднее процентов.
Если период другой, данных нет или инструмент завершился ошибкой,
не придумывай ответ. Укажи ограничение и запроси нужные данные.
Ничего не меняй в базе. Не делай выводов о причинах различий.
В тестовом чате спроси: «Какая активация за 12–18 октября по сегментам и в целом?» Открой выполнение workflow и посмотри, был ли вызван Postgres, какие строки он вернул и совпадает ли ответ с ними.
Контрольные значения: new — 30%, returning — 50%, всего 50 активаций из 140 регистраций, то есть примерно 35,7%. Среднее 30% и 50%, равное 40%, здесь неверно: размеры сегментов различаются. Эти значения рассчитаны по учебной таблице; ответ живого агента мы не выдаём за проверенный.
4. Проверь случаи, в которых ответ должен остановиться
Повтори запрос для другой недели: агент должен сказать, что её нет в доступном инструменте. Затем попроси изменить число активаций — никакой операции записи в цепочке быть не должно. На тестовом подключении отдельно проверь сценарий недоступной базы: ошибка не должна превращаться в «ноль активаций».
Для реального пилота добавь ещё случаи: пустая выборка, нулевые регистрации, повторная строка сегмента, неполный период. Передавай расчёты в проверенный запрос или отдельный шаг workflow, если нужна стабильная отчётность. Агенту можно оставить объяснение уже рассчитанных значений.
Моя рекомендация: первое подключение базы должно отвечать на один вопрос, который ты умеешь проверить вручную. Расширяй доступ после проверки чисел и обработки ошибок.
Когда расширять пилот
Сначала согласуй определения метрик, затем добавляй новые периоды и фильтры. Сохрани журнал: вопрос, вызванный инструмент, полученные строки, ответ и замечание проверяющего. Такой набор поможет понять, где ошибается система: в данных, выборе инструмента или объяснении. Разбор подобных сценариев есть на курсе по ИИ-агентам.
В статье проверены документация и арифметика учебного набора. Подключение PostgreSQL, права доступа и живой workflow n8n здесь не тестировались: это обязательные проверки при внедрении.
Собери своего ИИ-агента и проверь результат
«AI Agents: от vibe coding к AI-команде»: desktop agents, MCP, skills, evals и harness. Отдельные воркшопы — от подключения инструментов до контроля качества.
7 практических воркшопов · записи · вопросы автору в чате
Посмотреть программу курса ↗