English
AI / automation engineer · Санкт-Петербург

Павел Кириков

Собираю AI-ассистентов, которые делают реальную работу: агенты на Claude, RAG на своих данных, автоматизация через n8n и Telegram. Учусь в открытую и показываю, что сломалось и как починил.

Что делаю

Агенты и RAG

Claude API, tool use, prompt caching, pgvector, эмбеддинги на своём сервере, гибридный поиск

Автоматизация

n8n: AI Agent, подпроцессы, расписания, Telegram Bot API 10.x (rich-сообщения, черновики, Mini Apps)

Инфраструктура

Linux, Docker, Coolify, Traefik, Postgres 17, мониторинг и алерты без лишних зависимостей

Подход

Одна функция за раз, измерение до оптимизации, честные ограничения в документации, аудит перед публикацией

Кейс

«Второй мозг» — личный ассистент в Telegram

Заметки, траты и бюджет, задачи и напоминания, утренняя сводка, память о владельце, состояние сервера. Один агент, 23 инструмента, свои эмбеддинги, мониторинг с алертами и мини-приложение с графиками.

Как проходит сообщение

  1. Telegramсообщение или голосовое в тему чата
  2. n8nчерновик «Думаю…», распознавание речи, контекст темы
  3. АгентClaude выбирает инструмент: 23 SQL-инструмента и поиск по смыслу
  4. Postgresзаметки, траты, задачи, факты, векторы, история
  5. Ответпечатается кадрами, итог — rich-сообщение с таблицами
Claude Opusn8nPostgreSQL + pgvectorHugging Face TEITelegram Bot APIPythonDockerCoolifyTraefikGroq WhisperAstro + React

Так это выглядит

 

Демонстрация с вымышленными данными: реплики печатаются так же, как в боте.

Что сломалось и как починил

Подписанные рассуждения

Claude подписывает блоки thinking, а n8n пересчитывал время в промпте на каждом шаге — подпись переставала сходиться, и тихо отвечала запасная модель. Решение: время фиксируется один раз за запуск, рассуждения вырезаются триггером в базе.

Prompt injection через пересланный пост

Rich-разметка Telegram умеет медиа по URL — чужая инструкция могла унести данные без клика. Решение: собственный шлюз к Bot API с белым списком методов и фильтром разметки.

Бесплатная запасная модель

Молча подменяла основную и получала инструменты удаления. Убрана по итогам мультиагентного аудита; теперь бот честно пишет «не ответил».

Мониторинг без n8n

Если падает оркестратор, алерт всё равно должен дойти. Сборщик метрик на systemd пишет в Bot API сам: гистерезис, «прошло», тишина ночью.

23инструмента агента
7тем в одном чате
6/6поиск по смыслу в тесте
1 миншаг мониторинга и напоминаний
Связаться

Открыт к проектам и предложениям

Боты и ассистенты с памятью, RAG по вашим документам, автоматизация рутины в n8n, аудит уже собранных агентов.