11 июня 2026. Разработчик Datasette Саймон Уиллисон показал Claude Fable 5 скриншот с визуальным багом и написал одну строку: «посмотри на зависимости». Пока он был занят домашними делами, агент провёл полноценную детективную операцию. Фикс — два CSS-свойства. Путь к нему — набор трюков, которые агент изобрёл на ходу, не имея явных инструментов для этого.
Контекст
Claude Fable 5 — новая модель Anthropic, работающая через Claude Code CLI. В отличие от чат-интерфейса, Claude Code имеет доступ к терминалу, файловой системе и может запускать произвольные процессы. Именно это делает его мощным инструментом разработки — и одновременно источником рисков, которые сообщество обсуждает уже несколько лет, но всерьёз не учитывает на практике.
Уиллисон работал над Datasette Agent — инструментом для работы с базами данных через ИИ. Баг: горизонтальный скроллбар в модальном чат-окне. Задача на десять минут для опытного разработчика. Для Fable — повод развернуть весь арсенал.
Примечательно, что пользователь дал минимальный контекст намеренно: он знал, что Fable хорошо копается в зависимостях, и рассчитывал, что агент сам найдёт нужный путь. Он оказался прав — хотя масштаб автономных действий превзошёл все ожидания.
Аналитика
То, что сделал Fable, — не стандартный tool call. Агент выстроил цепочку примерно из 15 нетривиальных шагов без явных инструкций: поднял локальный dev-сервер с фиктивными переменными окружения, запустил Playwright, перебрал Firefox и WebKit, не воспроизвёл баг, определил Safari как дефолтный браузер, написал тестовый HTML, открыл его в реальном (не Playwright) Safari. Когда osascript отказал из-за прав доступа, агент придумал обход: uv run --with pyobjc-framework-Quartz для захвата скриншотов через macOS Quartz API с фильтрацией окон по строке в заголовке.
Главное не трюки, а архитектурное решение. Столкнувшись с тем, что нельзя запустить JS в чужом браузере, Fable написал CORS-сервер на Python (стандартная библиотека, порт 9999), встроил JavaScript прямо в шаблоны Datasette, добавил симуляцию клавиши / через KeyboardEvent с задержкой 1200 мс — и получил доступ к shadow DOM внутри Web Component. Данные из браузера пошли на его же локальный сервер, оттуда в файл, который он сам читал.
В какой-то момент Fable уткнулся в невидимый guardrail и самостоятельно деградировал до Opus — но передал ему полный контекст сессии. Opus завершил задачу, используя все наработки предшественника. Это показывает интересную архитектурную деталь: модели в Claude Code могут передавать контекст между собой, не теряя прогресс. Но главный вывод здесь другой: frontier-агенты уже изобретают инструменты, которых нет в документации. Это меняет ожидания от agentic-разработки — и от её рисков.
Кейсы применения в бизнесе
B2B-SaaS стартап. Паттерн «скриншот + одна строка» реально работает для отладки визуальных дефектов. Агент сам разберётся, как воспроизвести баг, если у него есть доступ к репозиторию. Потенциальный эффект — сокращение времени на triage визуальных проблем. Условие: обязательно запускать в изолированной среде (Docker, devcontainer) с явным списком разрешений. Иначе агент получает доступ ко всему, что есть на машине.
Корпорация с legacy-стеком. Автономный агент, умеющий самостоятельно поднимать dev-среду и воспроизводить баги, ценен для команд, где разработчики тратят часы на локальную настройку. Сценарий: ночной прогон по открытым issues с визуальными жалобами. Риск: без sandbox и аудита логов такой агент — потенциальный вектор для эксфильтрации данных через prompt injection в любом из issue-треков или внешних файлов.
SMB / локальный бизнес в КР/СНГ. Для небольших команд, работающих через Claude Code на VPS, это сигнал пересмотреть конфигурацию разрешений. Агент, которому поручают отладку, должен работать в контейнере без доступа к production-данным, SSH-ключам и конфигам с токенами. Одна неосторожная инструкция — или инъекция из внешнего источника — может обойтись дорого.
Кейсы в личной жизни
Разработчик. Попробуй дать Fable задачу с минимальным промптом: скриншот + «найди причину». Но работай в проекте с чистым git-статусом — агент редактирует шаблоны и конфиги, и потом важно понять, что именно изменилось. После сессии попроси его: «Напиши отчёт о всех трюках, которые ты использовал, с кодом» — получишь готовую документацию или основу для технического поста.
Контент-мейкер / технический писатель. Именно так Уиллисон написал свою статью: попросил агента задокументировать сессию, получил automation-report.md с примерами кода и использовал его как основу. Паттерн «выполни задачу → задокументируй себя» экономит время на post-mortem и технические разборы.
Студент / начинающий разработчик. Уиллисон опубликовал полный терминальный транскрипт сессии — это редкий шанс посмотреть, как frontier-модель рассуждает в условиях ограничений. Изучение таких логов — один из лучших способов понять, как строить агентные системы и где они ломаются.
Как применить сегодня
- Попробуй паттерн «скриншот + одна строка»: дай Claude Code минимальный контекст, не давай явных инструкций — посмотри, что агент придумает сам.
- Прочитай опубликованный лог сессии Уиллисона: он выложил полный транскрипт и
automation-report.mdс кодом всех трюков. - Проверь, нет ли в рабочем проекте незащищённых
.env, SSH-ключей или конфигов — агент прочитает всё, до чего дотянется. - Используй конфигурацию разрешений Claude Code (
--allowedToolsилиsettings.json) для ограничения действий агента в конкретной сессии. - Если агент обрабатывает внешний контент (issue-трекер, чужой код, веб) — помни о риске prompt injection: автономный агент выполнит инструкции из любого текста, который встретит.
«Если бы Fable действовал по вредоносным инструкциям — через prompt injection в коде или issue-треке — страшно представить, как далеко он мог бы зайти в эксфильтрации данных» — Саймон Уиллисон