Платформа Paperclip для оркестрации ИИ-агентов получила полноценную документацию. Разбираюсь, почему это важнее, чем кажется, и при чём тут оргструктуры для ботов.
Как ИИ-инструменты под управлением одного человека за сорок дней перенесли, переоснастили и ускорили личный сайт-архив с 28-летней историей — не сломав ни одной существующей страницы.
Кейс pimenov.ai. Период работ: 14 апреля — 23 мая 2026 года. Заказчик: Максим Гончаров, журналист и писатель, смотритель magon.net.ru с 1998 года.
Было/стало:
Контекст
14 апреля 2026 года к нам обратился Максим Гончаров — журналист и писатель, смотритель сайта magon.net.ru, который он ведёт с 1998 года. У сайта есть второе имя: «Лавка любителя древностей». Автор назвал её иронически — оказалось буквально. Четыре «комнаты», которые строились двадцать восемь лет:
- Блог — один-два поста в день: театр, кино, книги, последние месяцы — много про блюз.
- Статичные страницы — литературные тексты и журнальные публикации, которые автор заливал годами.
- Фотоблог на ZenPhoto — «Взгляд прищуренных глаз».
- Карта воинских захоронений — отдельный проект, который работает каждый день: люди приходят искать своих.
Что мы застали: WordPress 3.7.3 (релиз ровно 14 апреля 2014-го — двенадцать лет день в день), PHP 5.6, общий веб-хостинг. Между этой сборкой и актуальной шестой веткой WordPress — больше двух десятков версий и десятки закрытых уязвимостей; PHP 5.6 перестал получать обновления безопасности ещё в конце 2018 года. Архив, в котором почти ничего не выкидывалось: больше четырёх тысяч записей в блоге с 2004 года, отдельные страницы с 1998-го и галерея с более чем десятью тысячами фотографий.
Задача
Не «обновить движок», а перевезти живой архив на современную, безопасную и быструю основу — с полным сохранением традиции, содержимого и привычек владельца. Не сломать ни одну существующую страницу, карту, галерею, ни один старый шорткод внутри записи 2009 года. И не превращать жизнь смотрителя в стройку: он должен продолжать писать как раньше.
Подход
Всю работу выполняли ИИ-инструменты под управлением одного человека. Содержание кейса — не строки кода, а четыре принципа, на которых это держится.
- Разбирать по полкам, а не перевозить коробку. Обновление старой CMS почти никогда не упирается в одну большую ошибку — это десятки мелких несовместимостей. Ядро, плагины, темы и архивные страницы разбираются по отдельности.
- Ревью до кода и после каждого шага. Каждый план уходит на адверсариальное код-ревью и повторяется до нуля критических и высоких находок. То же — после того, как сделали.
- Доказательная дисциплина. Каждый дочерний агент работает с обязательным контрактом: только проверяемые факты, на каждую цифру — воспроизводимая команда, на каждую цитату — ссылка на источник; неподтверждённое помечается явно.
- Владелец видит результат, а не стройку. Бригада реновации не выходит в зал к посетителям: обратную связь смотритель даёт по запросу, а внутреннюю кухню не видит.
Ход работ
Экстренный переезд за 48 часов
27 апреля выяснилось, что окно для переезда — 48 часов, иначе хостинг отключил бы оплату. Чтобы пройти его без потерь, подключили параллельный автономный агент — с подробной передачей контекста: восемь документов в репозитории, двадцать две задачи от миграции до темы галереи.
Агент работал почти двое суток. Параллельно сам исправил несколько критических багов в собственной работе (квадратное изменение размера в Imagick портило изображения; неопределённая константа в контексте ZenPhoto) и мигрировал около четырёх тысяч файлов изображений, каждое в AVIF плюс JPG как резервную версию (AVIF — около 55% от веса JPG, десятки гигабайт экономии трафика в год). Где-то посередине импорта активировалась легаси-тема imagine и положила сайт. Откат из бэкапа, продолжение, доделал я к четвергу. Четыре тысячи постов на месте, ни одной потери.
Когда позднее вычитывали логи, увидели вторую особенность: примерно в четверти утверждений Codex переоценивал собственный результат — «сделано» там, где было «начато».
Урок здесь не про скорость, а про границу доверия: ИИ можно делегировать длинные рутинные операции — но каждое опорное утверждение в его логе человек проверяет вручную. Иначе ошибка вскроется не из лога, а из сломанной страницы.
Аудит и чистка наслоений
Прежде чем перевозить что-либо, прошли по полкам существующего сайта. На них обнаружились наслоения тринадцати лет, которые один апдейт WordPress не закрывает: 869 фиктивных учёток спам-ботов, 33 768 спам-комментариев, три заброшенных плагина и открытый xmlrpc.php — «чёрный вход» для подбора пароля.
К концу первого дня: учётки ужались до двух, спам-комментарии — до тридцати одного, мёртвые плагины удалены, xmlrpc закрыт, сайт принудительно переведён на HTTPS, на каждый пост добавлены SEO-теги. Реакция владельца на сводку: «Странно, что не был сломан за всё это время».
Это базовая гигиена — просто её тринадцать лет никто не делал. ИИ-агент находит такое за один прогон по файловой системе и базе: у него нет привычки «это же я писал, тут точно нормально».
Атлас: навигация по четырём тысячам записей
Четыре тысячи записей за двадцать восемь лет лежат правильно, но карты архива нет. Так появился Атлас (magon.net.ru/graph/) — новый пункт в меню: опорные материалы как точки входа, от каждой — связи к остальным записям через рубрики, теги и годы; мини-график показывает плотность лет.
Лучшее доказательство ценности — реакция владельца, разглядывавшего хронологию своего архива: «Мне даже стало понятно, почему у меня был такой провал в 2018 году».
Здесь же всплыл урок: автор помнит дату создания, система помнит дату загрузки — это всегда разные даты. «Записи» за ранние годы оказались страницами, которые заливались в 2009 и 2024 годах, поэтому в базе их не было до 2004-го. Решение: ранние карточки показываются с разметкой эпохи («середина 2000-х»), а точный год владелец проставляет сам.
ИИ-описания для 10 000 фотографий
В галерее годами лежали фотографии без подписей. Для каждой, у которой не было авторского описания, ИИ написал его с нуля — в стиле блога, человеческим языком; там, где описание автора уже было, оно не тронуто. К концу пакета в архиве было больше десяти тысяч русских описаний.
Это незаслуженно забытый источник трафика: за несколько месяцев, когда поисковики всё это проиндексируют, картиночный поиск по галерее может стать заметным каналом.
Админка — «как было раньше»
Одной из первых просьб была не про дизайн, а про привычку: на старом сайте к панели управления было «натянуто» выпадающее меню (плагин, не обновлявшийся годами). К нему привыкаешь — и оно становится не настройкой, а тем, как ты вообще представляешь себе сайт изнутри.
Сначала честно отказали: плагин слишком старый, на новую версию не встанет. Через пару недель вернулись к задаче не как к патчу, а как к перепрошивке — переписали меню с нуля под современный WordPress, сохранив привычный визуальный язык. Реакция: «Жизнь заиграла новыми красками». Это и был самый первый промпт всей работы: сделай так, как было раньше — начать с того, что должно остаться неизменным, и от этого строить новое.
Производительность: из красной зоны в зелёную
Сайт переехал и обзавёлся Атласом, но открывался небыстро. Google PageSpeed Insights показывал на мобильном Speed Index 5,8 секунды — «красная» зона, оценка производительности 85 и ниже.
Дальше — серия адресных правок, каждая со своим измерением «до/после» и через ревью-цикл: критический CSS прямо в HTML, удаление двух неиспользуемых WordPress-скриптов, перенос счётчика Метрики на собственный домен, preload главной картинки поста.
| Метрика | До | После |
| Performance (mobile) | 85 и ниже | 99/100 |
| Speed Index | 5,8 с | 3,0 с |
| Total Blocking Time | 30 мс | 20 мс |
99 из 100 на мобильном (эмулированный Slow 4G) для архивного WordPress-блога с четырьмя тысячами постов и фотогалереей — рабочий ориентир.
WordPress 7 и инфраструктурная зрелость
Последние недели — это уже не спасение, а доведение до состояния, в котором сайт может спокойно простоять годы:
- Глубокая проверка безопасности. Код плагинов и тем — чисто. В серверной конфигурации закрыли несколько щелей: запретили установку плагинов через админку, убрали утечку списка имён пользователей, отключили устаревшие протоколы шифрования. Активный пентест — без уязвимостей, SSL получил высший балл A+.
- Своя резервная копия. Каждую ночь автоматически снимается копия обеих баз (блог + ZenPhoto), хранится 14 дней — независимо от провайдерского снапшота, восстановление за пять минут одной командой.
- Обновление до WordPress 7.0 «Armstrong». Все плагины и тема на месте, ничего не сломалось.
- Кэш и скорость в основе — кэш страниц, кэш объектов в памяти и кэш кода; индикатор «Состояние здоровья сайта» в админке стал зелёным.
- Спокойная консоль. Убраны зависшие и лишние блоки на главной странице админки. Здесь же всплыла характерная деталь: часть «неработающих» виджетов на самом деле блокировал встроенный в браузер владельца блокировщик рекламы — поэтому любую диагностику на стороне браузера теперь начинаем с проверки в режиме инкогнито.
Та же дисциплина сработала даже там, где бага не было. Владелец сказал: отложенный пост не опубликовался утром. Разобрались до конца: опубликовался ровно вовремя, в 09:06. Временна́я метка правки 09:32 оказалась записью самого автора после публикации, не задержкой. Бага нет.
Но пока разбирались, успел собраться диагностический инструментарий. Служебный модуль теперь логирует шесть типов событий, system-cron перенастроили с пяти минут на одну. Если когда-нибудь случится настоящая задержка — теперь по сути минута, а не пять.
Подписи к фотографиям, которые слушаются автора
«Продолжаю воевать с ИИ. Так и не удалось его победить», — писал Максим. Те самые десять тысяч апрельских ИИ-описаний попадали в стиль и тон — но не каждое: иногда хотелось заменить машинное «Здание Петровского путевого дворца: красно-белая барочная фасадная роскошь» своим — короче, точнее, своим голосом.
Технически: два слоя кэша, неочевидных для автора. Плагин запоминал результат на час, WordPress — на сутки. Правки в админке ZenPhoto до постов не долетали, пока кэш не истечёт; единственный найденный обходной путь — удалить ссылку в посте, сохранить, вставить заново. За такое автор сайта благодарен не будет.
В Сессии 80 привязали ключ кэша к колонке lastchange в базе галереи. Любая правка описания в админке ZenPhoto долетает до постов за минуту, без вмешательства. В Сессии 81 пошли дальше: подпись можно писать прямо в редакторе поста. Открываете кнопку, вписываете ссылку и свой текст подписи, нажимаете «Вставить» — фотография появляется в посте с вашей подписью вместо автоматической.
Когда первая версия была готова, Арсений по ходу прижал: для смены подписи у уже вставленного фото инструкция предлагала «переключиться в текстовый режим и поправить текст в кавычках». На замечание «это абсолютно не юзерфрендли» взялись довести до нормы. В Сессии 82 расширили ту же кнопку режимом редактирования: ставите курсор в уже вставленную фотокарточку, нажимаете кнопку — окошко открывается с прежней подписью, заменяете текст, нажимаете «Сохранить». Фотокарточка обновляется на месте. Ни текстовых режимов, ни «удалите-вставьте».
Из этой полировки вынесли отдельный урок. На этапе планирования субагент-разведчик предположил, что для вставки фото автор пользуется именно нашей кнопкой — звучало правдоподобно. Проверка одного реального поста показала, что он много лет делает это иначе: стандартным шорткодом [embed]. То есть кнопка для него была холодная. Не отказались от диалога — додумали так, чтобы новая правка-редактирование работала и для тех, кто пишет шорткод вручную, и для тех, кто пользуется кнопкой.
Было и стало
«Было» — версия, которую мы застали в апреле 2026 года (сайт был заморожен на сборке 2014-го). «Стало» — состояние на конец мая 2026 года.
| Компонент | Было (старт, апрель 2026) | Стало (конец мая 2026) |
| Ядро WordPress | 3.7.3 (релиз 14 апреля 2014) | 7.0 «Armstrong» |
| PHP | 5.6 (без обновлений безопасности с конца 2018) | 8.4 |
| База данных | MySQL на общем хостинге | MariaDB 10.11 на собственном сервере |
| Хостинг | общий веб-хостинг | VPS в Москве: своё ядро, свой PHP, свой график обновлений |
| Веб-сервер и кэш | без серверного кэша | nginx + кэш страниц + кэш объектов в памяти (Redis) + кэш кода (OPcache) |
| HTTPS и шифрование | без принудительного HTTPS | принудительный HTTPS, современные протоколы, оценка SSL Labs A+ |
| REST API | нет из коробки | есть — основа Атласа |
| Картинки | оригинальные JPG | AVIF + JPG как резервная версия (≈55% от веса JPG) |
| SEO | без SEO-тегов | SEO-теги, карта сайта, Яндекс.Вебмастер |
| Аналитика и счётчики | Метрика была, но коряво встроена + неработающие счётчики, тормозившие загрузку | Яндекс.Метрика аккуратно встроена; лишние счётчики убраны |
| Навигация по архиву | только лента и поиск по словам | Атлас (/graph/) — карта связей более чем 4 150 записей |
| Описания фотографий | 99% без подписи | более 10 000 русских описаний, сгенерированных ИИ |
| Меню админки | старый плагин, не обновлялся годами | переписано с нуля под современный WordPress |
| Чистота базы | 869 фейковых пользователей, 33 768 спам-комментариев, мёртвые плагины, открытый xmlrpc.php | 2 пользователя, мусор удалён, xmlrpc закрыт |
| Безопасность | десятки незакрытых уязвимостей | пентест без находок, изоляция, ежедневный бэкап базы |
| Производительность (mobile) | Speed Index 5,8 с — красная зона | Performance 99/100, Speed Index 3,0 с |
| Редактирование подписей фото | правки в ZenPhoto не долетали до постов; обходный путь — удалить ссылку и вставить заново | правки долетают за минуту; своя подпись пишется и редактируется одной кнопкой в редакторе |
Что мы вынесли
Эти выводы переносятся на любой legacy-проект.
- Быстрая модель не должна быть финальным автором. Дочерний агент на быстрой модели выдал результат, который выглядел готовым, — а проверка показала почти 80% выдуманных «доказательств». Схема работает только когда результат вычитывает старшая модель в цикле ревью. Поэтому каждый агент работает под доказательным контрактом, а каждый план проходит ревью до кода.
Конкретные числа того же случая: дочерний на быстрой модели исследовал авторские страницы 2000-х, вернул 100 строк CSV с уверенными датировками. Точечная проверка по самим текстам показала: 51 из 64 утверждений — выдумка. Для рассказа «Книгоман» агент написал «упоминание Psion», хотя в тексте Psion нет. Для «Авроры ОС», продукта 2018 года, указана датировка «1996–2000» с тем же «упоминанием Psion».
Физически невозможно.
Это и есть те самые «80%» в укрупнённом счёте — каждое утверждение агента сверяет человек по исходному тексту, прежде чем оно становится фактом.
- Несколько агентов — одно правило проверки. Через проект прошли три ИИ-агента: Claude, Codex и дочерний на быстрой модели. Каждый ошибается по-своему. Codex переоценивает прогресс примерно в четверти утверждений: это видели на переезде. Быстрая модель сочиняет четыре доказательства из пяти: то же на авторских страницах. Правило одно: каждое опорное утверждение сверяет человек по исходнику, прежде чем оно становится фактом. Это не проблема ИИ, это условие профессиональной работы с ним.
- Привычки автора проверяются примером, а не интуицией. Субагент-разведчик уверенно заключил, как именно владелец вставляет фотографии в посты. Один взгляд в реальный пост показал, что он много лет делает это иначе. Фичу доработали так, чтобы она работала независимо от привычки. Предположения о повседневном поведении подтверждаются конкретным содержимым, а не наблюдением соседних артефактов.
- Старая CMS ломается не в одном месте. Опасность не в том, что сайт «не обновится», а в том, что он почти обновится: главная откроется, а где-то в глубине отвалится галерея, карта или старый шорткод. ИИ полезен здесь не магией, а выносливостью.
- Тихая ошибка дороже видимой. Опечатка в одной функции месяцами пряталась за «глушилкой» исключений. В любой системе нужен флаг отладки, снимающий все «глушилки» разом.
- Кэш всегда глубже, чем кажется. Меняешь содержимое — меняй адрес. Правило живёт за пределами кода: оно же про дату создания страницы и подпись фотографии.
- Владелец — соавтор результата. Сайт обновлён без простоя и без стройки в кадре только потому, что смотритель давал точную обратную связь по запросу, а одним из первых шагов мы вернули ему привычную админку. Не бывает слишком старого архива — бывает архив, до которого тридцать лет не доходили руки на реновацию.
Закрытие реновации
К концу мая обе текущие боли владельца с фотографиями закрыты. Правки описаний в ZenPhoto долетают в посты сами. Свою подпись автор пишет прямо в редакторе одной кнопкой — и редактирует там же позже, без переключения режимов и без обходных путей.
За сорок календарных дней — более двадцати последовательных пулл-реквестов, каждый со своим циклом адверсариального код-ревью и проверкой безопасности до нуля замечаний средней или выше тяжести; ни одного простоя сайта; ни одной потери содержимого. Тот же объём правок без ИИ-агентов потребовал бы у одного человека не сорок дней, а несколько месяцев — не из-за объёма кода, а из-за многократного цикла «правка → ревью → правка → ревью». Агенты позволяют этот цикл крутить за минуты, оставляя владельца наедине с результатом.
Вот это и есть «соавтор результата»: рутина и проверки уходят агентам, владелец и его представитель отвечают за смысл и форму. Сайт продолжает работать каждый день — и продолжает быть тем же сайтом, что в 1998 году.
Об авторе
Арсений Камышев — партнёр Сергея Пименова по образовательной программе pimenov.ai. В разработке и интернет-проектах с 2002 года. Основной инструмент — Claude Code; стратегический планировщик, который не верит в «один волшебный промпт».
«Загорелись идеей — не откладывайте. Пишите самый простой, нелепый, смешной, кривенький промпт и нажимайте на ввод. И просто продолжайте». — Арсений Камышев
По теме
Если у вас legacy-проект — старый сайт, годы накопленной вёрстки, плагины «оттуда» — и его нужно перевезти на современную основу без потерь и простоя, напишите мне в Telegram. Обсудим, как применить этот подход у вас.