Skip to content
imarch.dev
Назад в блог
· 7 мин чтения

Контент-агент: AI который пишет как ты, а не как ChatGPT

ai продукт LinkedIn автоматизация

Неделю назад я запустил чатбот на сайте. Через пару дней научил его собирать заявки. Потом возник следующий вопрос: а можно ли сделать так, чтобы AI не просто отвечал на вопросы посетителей, а управлял контентом целиком - парсил новости, генерировал посты, публиковал в LinkedIn? Не абстрактный “AI-помощник”, а конкретный инструмент, который работает в моей инфраструктуре.

OpenClaw (платформа для AI-агентов с размещением на своём сервере) попался мне на глаза какое-то время назад. Смотрел, крутил, но применения не было. А тут всё совпало: нужна автоматизация браузера для LinkedIn, Telegram как канал управления, система скиллов для разных задач. Наконец нашёл ему применение.

На практике оказалось, что техническая часть - Docker, CDP, Telegram API - заняла несколько часов. А вот 8 часов я боролся с тем, чтобы агент вызывал нужный инструмент вместо того чтобы выдумывать отмазки. И ещё полдня - с тем, чтобы он писал комментарии как живой человек, а не как корпоративный чатбот.

Контент-агент: AI который пишет как ты, а не как ChatGPT

Что он умеет

Контент-конвейер работает так: 40 статей из шести tech-источников (O’Reilly, InfoQ, Martin Fowler и другие) собираются автоматически каждое утро через cron. Парсер проходит по RSS-фидам, извлекает заголовки, описания и ссылки, сохраняет в PostgreSQL. Пишу в Telegram “статус” - получаю сводку: сколько новых статей, сколько ждёт обработки, сколько уже сгенерировано.

Конвейер генерации поста ($0.46)
RSS-источники
PostgreSQL
Telegram
Claude Sonnet
DALL-E 3
GitHub PR
3 локали (ru/en/kk) + обложка WebP + frontmatter

Генерация поста выглядит так: кидаю ссылку на статью в Telegram, агент парсит полный текст, отправляет его в Claude Sonnet 4.6 с системным промптом, который описывает мой стиль. На выходе - блог-пост на русском. Отдельный вызов переводит на английский и казахский. DALL-E 3 рисует обложку. Всё это собирается в Pull Request в GitHub с правильным frontmatter, тремя markdown-файлами и WebP-картинкой. Один пост - $0.46 суммарно.

LinkedIn тоже управляется через Telegram. “Покажи ленту” - агент открывает headless Chromium через Chrome DevTools Protocol, делает скриншот, показывает что происходит в ленте. Может лайкнуть пост, написать комментарий, отправить запрос на контакт. Всё через тот же Telegram-бот, без необходимости открывать LinkedIn в браузере.

Голос: самая сложная часть

И вот тут начинается по-настоящему интересное. Когда AI пишет комментарий в LinkedIn от твоего имени, он должен звучать как ты. Не как “helpful assistant”. Не как корпоративный блог. Как конкретный человек, с конкретным опытом и конкретной манерой общения.

Я потратил полдня на руководство по голосу - файл, где описано как я пишу. Не длинный, но максимально конкретный. Вместо абстрактного “пиши неформально” - конкретные примеры и антипаттерны.

Шаблонный AI
"Great insight! I completely agree with your perspective on microservices"
Нет информации, видно за километр
Живой голос
"Мы внедряли Camunda в похожем контексте, главная проблема была не в технике а в том что бизнес не хотел формализовать процессы"
Конкретный опыт, конкретная проблема

Первый вариант - это шаблонный AI-комментарий, который не несёт информации и который видно за километр. Второй - конкретный опыт, конкретная проблема, конкретный вывод. Вместо вылизанного текста - пропущенные союзы и “если честно” вместо “по моему экспертному мнению”.

Ключевой принцип руководства по голосу: AI должен опираться только на мой реальный опыт. Если в посте обсуждается технология, с которой я работал - агент комментирует от первого лица с конкретикой из моих проектов. Если не работал - молчит. Это связано напрямую с границами компетенций (ниже), но на уровне голоса проявляется так: никаких общих фраз типа “интересный подход”, только конкретные наблюдения, привязанные к реальному опыту.

Не знаю пока, насколько это работает на практике. В теории звучит правильно, но реальные комментарии ещё не тестировал на живых людях. Может окажется, что руководства по голосу недостаточно и нужна дотренировка или примеры прямо в промпте. Может окажется, что даже идеальный голос не поможет, потому что LinkedIn-аудитория чувствует автоматизацию на каком-то другом уровне.

Одно правило точно правильное, и я уверен в нём больше всего: если агент не уверен в комментарии - он не публикует. Присылает мне в Telegram “Не уверен, тема спорная. Мой вариант: [текст]. Публиковать?” и ждёт подтверждения. Это не просто предохранитель - это фундаментальное архитектурное решение. Лучше пропустить десять постов, чем написать одну глупость от моего имени. Репутационный ущерб от одного неуместного комментария перевешивает любую автоматизацию.

Границы

Я установил три ограничения для агента. Каждое из них - компромисс. Может их недостаточно, может наоборот слишком жёстко - увижу по результатам.

Компетенции
Архитектура, DevOps, BPM, engineering leadership. Всё остальное - пропускает.
География
Только Казахстан - IT-специалисты, архитекторы, CTO. Свой рынок = быстрее вижу ошибки.
Безопасность
Не раскрывает что AI. Нет политики. Провокации - игнор. Сомнения - в Telegram.

Компетенции. Агент комментирует только темы, в которых я разбираюсь: архитектура, DevOps, BPM, engineering leadership. Если пост про маркетинг, HR или data science - пропускает. Логика простая: некомпетентный комментарий хуже отсутствия комментария. Список тем зашит в руководстве по голосу, и агент сверяется с ним перед каждым действием. Это сужает охват, но повышает качество того, что публикуется.

География. Нетворкинг только по Казахстану - IT-специалисты, архитекторы, CTO из казахстанских компаний. Ограничение осознанное: свой рынок я знаю лучше всего, могу оценить релевантность комментария и заметить ошибку агента. Если агент напишет что-то не то в локальном контексте, я увижу это быстрее, чем в незнакомом рынке. Потом, когда пойму паттерны ошибок и настрою промпт, можно будет расширять.

Безопасность. Агент не раскрывает что он AI. Не вступает в политику и не комментирует спорные социальные темы. Если кто-то провоцирует - игнорирует. Если не уверен в уместности ответа - спрашивает меня через Telegram. Это три отдельных правила в IDENTITY.md, каждое с конкретными примерами ситуаций. Без примеров модель интерпретирует “не вступать в политику” слишком узко или слишком широко - примеры задают калибровку.

Честный итог

Работает? В целом да. Но с серьёзными оговорками, которые стоит проговорить честно.

Дешёвая модель (Haiku за $1/$5 за миллион токенов) экономит деньги, но плохо следует сложным инструкциям. Трижды за день агент отказался открывать LinkedIn и предлагал “подключить Browser Relay” - штуку, которую он сам выдумал. Проблема в том, как Haiku обрабатывает негативные инструкции: я писал “НИКОГДА не упоминай Browser Relay”, а модель видела термин “Browser Relay” в своём контексте и воспроизводила его. Переписывал инструкции три раза, пока нашёл формулировку, которая работает: позитивная команда (“ВЫЗОВИ browser tool”) вместо негативной (“НЕ упоминай Browser Relay”) и позиция в самом начале system prompt.

LinkedIn-сессия слетает при рестарте контейнера. Cookies сохраняются в Docker volume, но LinkedIn, видимо, сбрасывает сессию при долгом отсутствии активности. Добавил периодический пинг - скрипт, который с рандомным интервалом (8-16 часов) заходит на LinkedIn через CDP, чтобы cookies не протухли. Рандомизация нужна чтобы паттерн не выглядел как бот. Поможет ли - посмотрим, причина может быть в другом.

Генерацию постов через полный конвейер ещё толком не тестировал. 40 статей ждут в очереди. Это следующий шаг, и я честно не знаю, сколько из них дадут нормальный контент. Парсер может не извлечь текст из статьи за подпиской, Claude может сгенерировать пост с фактическими ошибками, DALL-E может нарисовать обложку с текстом (что я запрещаю в промпте, но модель иногда игнорирует).

Инфраструктура (Docker, CDP, Telegram, GitHub API)~1 день
Вызов нужного инструмента (борьба с галлюцинациями)~8 часов
Голос и стиль (руководство, итерации промптов)~4 часа + ∞

Пока главный вывод такой: техническую часть - Docker, CDP, Telegram, GitHub API - я настроил за один день. Инфраструктура работает стабильно. А вот научить AI звучать как живой человек, сомневаться когда нужно сомневаться и не лезть туда куда не просят - это оказалось на порядок сложнее. Не в техническом смысле (промпты пишутся быстро), а в смысле итераций: каждая правка промпта меняет поведение непредсказуемо, и нужно десятки тестовых прогонов чтобы понять, улучшилось ли что-то. Я далеко не уверен, что уже решил эту задачу.


Серия про AI-инструменты на imarch.dev: чатбот, защита, лид-генерация, гибридный RAG.

Поделиться:

Похожие статьи