ESPNBroncos' striking resemblance to Denver's last Super Bowl winnersPunchNorth Korea women thrash Bangladesh 10-0 in Asian Games openerInquirerManibela asks Marcos for jeepney fare hike on his birthdayDaily MaverickReimagining agricultural education as AI transforms farming and future jobsוואלה7 שנות מאסר לסייעת בגן ילדים בנתניה שהורשעה בהתעללות ב-12 פעוטותRTP DesportoDjokovic fora do top 10 ATP, Zverev ameaça SinnerThe Jerusalem PostIsrael's oldest Holocaust survivor dies at at 107 on Rosh HashanahUOLNo 1º turno, Lula sobe para 42% e Flávio Bolsonaro cai a 37%, mostra pesquisa BTG/NexusColliderOne of the Greatest Sci-Fi Books of the 21st Century Is Under 200 PagesХабрПриз за то, чего вы не сделали: соревнование по кибербезопасности для тех, кто не пишет кодکیهان لندن«توافق دفاعی مکه» موش زائید؟! چشم امید بن‌سلمان به حمایت اسرائیلThe Hollywood Reporter‘Sunday in the Park With George’ Revival Scrapped After Ariana Grande and Jonathan Bailey Exit
The Daily Newsstand · Free, Always
Monday, September 14, 2026

Админка больше не обязательна: как я дал Codex API к сайту и получил новый интерфейс управления контентом

Translate

У большинства проектов, где контентом нужно регулярно управлять, есть админка. Иногда она действительно удобная и хорошо продуманная, иногда — собранная на скорую руку, а иногда это вообще стандартный интерфейс фреймворка, который формально позволяет редактировать данные, но пользоваться им каждый день мучительно.

Недавно я решил проверить другой подход. В одном из своих давних проектов я сделал API для управления контентом и отдельный skill для Codex, в котором описал структуру данных, связи между сущностями, правила заполнения и требования к самому контенту. В итоге получилось не просто автоматизировать часть рутины, а фактически заменить значительную часть работы с админкой на обычные текстовые команды агенту.

Что именно я сделал

В проекте много разных типов контента: статьи, места, события, объявления и другие сущности со своими полями, связями, изображениями, локализациями и правилами заполнения. Поэтому просто дать агенту один универсальный endpoint было бы недостаточно: ему нужно понимать, что именно он редактирует и по каким правилам.

Я добавил API, через которое можно:

  • получать существующие данные;

  • создавать новые записи;

  • обновлять записи;

  • работать со связанными сущностями;

  • загружать и привязывать изображения;

  • проверять текущее состояние перед изменением.

Отдельно сделал skill для Codex. В нем описал не только endpoint’ы, но и предметную область: какие сущности существуют, какие поля обязательны, как они связаны, какие значения допустимы, что нужно проверять перед записью и каким должен быть сам контент.

Получилось удобное разделение: API определяет, что системе технически разрешено сделать, а skill — как с этой системой правильно работать. Именно эта связка и оказалась наиболее важной.

Вместо заполнения форм — задача на естественном языке

Раньше добавление нового материала выглядело примерно одинаково: найти информацию, проверить источники, подготовить текст, подобрать изображение, открыть админку, заполнить нужные поля, выбрать категории и связи, загрузить картинку, сохранить и проверить результат. Само по себе это несложно, но при большом количестве сущностей превращается в длинную цепочку мелких ручных действий.

Теперь я могу написать агенту, например:

Найди три интересных места такого-то типа в этом регионе, которых еще нет на сайте. Проверь информацию по надежным источникам, подготовь данные в формате проекта и добавь записи.

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

Для меня здесь самое интересное даже не экономия времени. Меняется сам интерфейс работы с системой: вместо последовательности действий «открыть сущность → заполнить поле → выбрать значение → сохранить» я формулирую конечный результат.

Админка — это тоже язык между человеком и системой

Классическая CMS или административная панель обычно построена вокруг структуры данных. Есть сущность, у нее есть поля, и пользователь должен правильно их заполнить. Это вполне нормальная модель, и десятилетиями она была практически безальтернативной.

Но человек обычно мыслит не полями и сущностями. Ему нужно добавить новое мероприятие, обновить информацию о месте, найти устаревшие записи, перевести материал или проверить, где не хватает изображений. Админка в этом смысле — просто способ перевести человеческое намерение в структуру данных, понятную системе.

Теперь эту роль может выполнять LLM-агент. Он понимает задачу на естественном языке, а затем превращает ее в конкретные операции с API.

Человек
  ↓
Codex / Claude / другой агент
  ↓
Skill проекта
  ↓
Content API
  ↓
Бизнес-логика
  ↓
База данных

Именно это для меня стало главным результатом эксперимента: агент оказался не дополнением к админке, а отдельным интерфейсом управления приложением.

Ценность не в генерации текста

Самое очевидное применение LLM в CMS — попросить модель написать статью или описание. Но в реальной работе это только один этап, причем далеко не всегда самый трудоемкий.

Чтобы добавить новое место на сайт, агенту может понадобиться сначала проверить, нет ли его уже в базе, затем найти актуальную информацию, сверить факты, определить подходящую категорию, подготовить краткое и полное описание, заполнить SEO-поля, подобрать изображение и только после этого сохранить все через API. То есть агент выполняет не отдельную микрозадачу, а весь процесс целиком.

С изображениями ситуация тоже сильно изменилась. Для части материалов подходящую иллюстрацию можно сгенерировать в рамках того же процесса, но здесь особенно важны правила: сгенерированная обложка для статьи и выдуманная «фотография конкретного ресторана» — совершенно разные вещи. Такие ограничения тоже имеет смысл явно описывать в skill, а не надеяться, что модель сама всегда выберет правильный вариант.

Почему API, а не прямой доступ к базе

Технически можно было пойти самым коротким путем и дать агенту прямой доступ к базе данных. Я сознательно этого не делал, потому что API дает намного больше контроля и сохраняет бизнес-логику приложения.

Через API можно валидировать входные данные, ограничивать набор доступных операций, проверять права, вести аудит изменений и не позволять обходить внутренние правила системы. Кроме того, внутренняя структура базы со временем может меняться, а внешний контракт для агента при этом останется прежним.

По сути агент становится еще одним клиентом приложения. И чем активнее он с ним работает, тем важнее, чтобы этот клиент взаимодействовал не с таблицами напрямую, а с понятным и предсказуемым прикладным интерфейсом.

Для агентов хороший API становится еще важнее

Когда системой пользуется человек через UI, странности backend’а можно долго маскировать интерфейсом. С агентом они становятся заметнее: неоднозначные методы, неожиданные побочные эффекты и плохо описанные ошибки быстро начинают мешать.

Для агентской работы особенно полезны:

  • понятные и узкие операции;

  • строгая валидация;

  • предсказуемые ошибки;

  • идемпотентность там, где она нужна;

  • разделение чтения и изменения данных;

  • возможность перечитать объект после записи;

  • аудит действий.

Для потенциально опасных операций я бы вообще придерживался простой схемы:

прочитать состояние → подготовить план → подтвердить изменения → выполнить → перечитать результат

Такой подход полезен не только для контента. Чем больше агент получает возможностей менять реальные данные, тем важнее четко разделять чтение, подготовку и фактическое изменение состояния.

Нужны ли тогда админки вообще

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

Поэтому я не думаю, что административные интерфейсы исчезнут. Скорее их роль станет уже: админка останется удобным инструментом обзора, контроля и ручной работы, а агент будет забирать задачи, где одновременно есть поиск информации, подготовка контента, небольшие решения и много механических действий.

Именно таких задач в реальной работе оказалось гораздо больше, чем я ожидал.

Это интересно не только для старых проектов

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

Обычно административную часть продукта проектируют примерно так:

backend → API → admin frontend

Теперь я бы в некоторых случаях сначала сделал хороший domain API, подключил к нему агента и некоторое время поработал через него. После этого уже можно понять, какие операции действительно требуют отдельного визуального интерфейса, а какие можно оставить агенту.

Вполне возможно, что вместо двадцати административных экранов реально понадобятся пять. Если системе достаточно строгого и безопасного способа создать или изменить объект, а агент умеет правильно перевести человеческий запрос в эту структуру, отдельная форма для каждой операции уже не выглядит обязательной.

Что получилось в итоге

Изначально я хотел всего лишь автоматизировать рутинную работу с контентом. В результате получил другой способ управлять сайтом.

Теперь вместо длинной последовательности действий в админке я могу написать:

Добавь на сайт три новых события на следующий месяц.

Проверь эту запись и обнови устаревшую информацию.

Найди материалы без нормальных изображений и подготовь их.

Сделай версии этих записей на других языках.

Агент сам превращает такую задачу в поиск данных, проверку, подготовку контента и набор API-вызовов. Для меня это оказалось намного интереснее, чем привычный сценарий «LLM пишет текст» или «AI помогает программисту писать код».

По сути агент становится новым интерфейсом к прикладной системе. И после этого эксперимента я уже не уверен, что в следующем проекте начну проектировать управление контентом с макетов админки: скорее сначала сделаю хороший API, а потом посмотрю, какие интерфейсы действительно еще нужны человеку.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

0%Да, с удовольствием заменил бы большую часть работы с админкой на команды агенту0

0%Да, но только если все изменения можно проверять и подтверждать перед публикацией0

0%Использовал бы гибрид: агент для рутины, админка для контроля и сложных случаев0

0%Нет, мне удобнее привычная админка0

0%Не уверен — сначала хотел бы попробовать на реальном проекте0

View the original on Хабр

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.