Simon Willison выпустил datasette-agent-edit 0.1a0 — базовый плагин для Datasette Agent, реализующий три инструмента агентного редактирования текста: view, str_replace и insert. Дизайн взят напрямую из Claude text editor tool — именно его Willison называет лучшим опубликованным решением для agentic-редактирования. Цель — создать переиспользуемую базу для всех плагинов, которым нужно работать с текстом: Markdown, SQL-запросы, SVG-файлы.
Контекст
Datasette — open-source инструмент для публикации и интерактивного исследования данных через SQLite, созданный Simon Willison. Datasette Agent — надстройка, которая позволяет работать с данными через AI-агентов: задавать вопросы на естественном языке, строить запросы, визуализировать результаты. Willison — один из самых методичных наблюдателей LLM-экосистемы: его блог читают разработчики по всему миру, он создал LLM CLI и несколько десятков инструментов для работы с языковыми моделями.
Паттерн view / str_replace / insert — это то, что Anthropic реализовал в Claude's text editor tool. Логика проста: view показывает фрагмент файла с номерами строк; str_replace ищет точную строку и заменяет её — с явным отказом, если строка не уникальна; insert добавляет текст после указанной строки. Никакой магии, но именно эта простота делает паттерн надёжным.
Willison планирует несколько плагинов поверх этой базы: совместное редактирование Markdown, обновление больших SQL-запросов, редактирование SVG-файлов. Вместо того чтобы каждый раз переизобретать те же три инструмента, он создал единый базовый слой — datasette-agent-edit — который плагины могут адаптировать под свои нужды.
Аналитика
Проблема агентного редактирования реальная. Когда LLM пытается «переписать файл целиком», это работает только для коротких документов. На реальных SQL-запросах в 200 строк или на SVG с тысячей атрибутов модель начинает галлюцинировать, теряет контекст, вносит регрессии. Паттерн str_replace решает это через атомарность: агент делает точечное изменение, а не перегенерирует весь документ. Проверка уникальности строки — явный контракт: либо замена однозначна, либо операция не выполняется. Никаких тихих ошибок.
«Моя любимая опубликованная реализация — инструмент редактирования текста в Claude: view, str_replace, insert. Я решил создать базовый плагин, чтобы не воссоздавать эти паттерны для каждого плагина заново» — Simon Willison, 7 июня 2026.
Важно, что это не изобретение Willison — он портирует проверенный дизайн Anthropic. Сам факт такого переноса говорит о том, что инструментальные паттерны для работы с текстом начинают стандартизироваться. Как REST стал стандартом для API, так view/str_replace/insert может стать базовым словарём для агентов, работающих с файлами. Хорошие паттерны должны тиражироваться.
Более широкий сигнал: экосистема вокруг агентов быстро переходит от «давайте попробуем» к «давайте сделаем правильно». Базовые плагины, переиспользуемые инструменты, явные контракты на ошибки — это признаки зрелости. Тот же сдвиг происходит в MCP: от «подключи модель к БД» к «как правильно описать операции, чтобы агент не сломал данные». datasette-agent-edit — маленький, но характерный пример этого движения.
Кейсы применения в бизнесе
B2B-SaaS стартап с базой знаний: если продукт содержит Markdown-документацию, которую нужно обновлять под клиентов или локализовывать — агент с паттерном str_replace может точечно менять конкретные блоки, не трогая остальной документ. Структура сохраняется, форматирование не ломается. Подходит для changelog-автоматизации, персонализации onboarding-документов, обновления SQL-шаблонов в BI-инструментах.
Корпорация с legacy SQL: в корпоративных аналитических системах SQL-запросы часто живут годами и разрастаются до сотен строк. Агент с view/str_replace может безопасно обновлять конкретные условия фильтрации, имена таблиц или метрики — без риска случайно сломать остальную логику. Особенно ценно там, где нет полного покрытия юнит-тестами для SQL.
SMB и локальный бизнес в КР/СНГ: небольшие команды, работающие с шаблонами договоров, коммерческих предложений или отчётов в Markdown — могут внедрить агентное редактирование для точечного обновления реквизитов, сумм, дат. Вместо «скопируй шаблон и замени руками» — агент вносит изменения по инструкции, оставляя остальной текст нетронутым.
Кейсы в личной жизни
Разработчик: если вы пишете собственные инструменты на базе LLM и хотите добавить агентное редактирование файлов — datasette-agent-edit даёт готовый референсный паттерн. Три инструмента можно адаптировать под любой формат: конфиги YAML, Terraform-файлы, Jupyter-ноутбуки. Логика уникальности строк уже реализована — не нужно изобретать заново.
Контент-мейкер: если вы ведёте блог или базу знаний в Markdown и используете Claude или другие LLM для редактирования — просите модель работать через str_replace-логику: «найди эту точную фразу и замени на…». Результат предсказуем, без случайного переформатирования всего документа.
Студент или фрилансер с длинными документами: при редактировании технических текстов через AI описывайте задачу как «замени точно эту формулировку», а не «улучши этот раздел». Модель делает меньше произвольных изменений — вы сохраняете контроль над итоговым документом.
Как применить сегодня
- При задачах агентного редактирования любых файлов — явно описывайте инструменты view, str_replace, insert в system prompt агента; это работает лучше, чем «редактируй файл как нужно».
- Добавьте проверку уникальности в str_replace: если искомая строка встречается больше одного раза — агент должен уточнить контекст, а не делать замену наугад.
- Для SQL-запросов в корпоративных системах — попробуйте агентное редактирование через str_replace вместо полной регенерации: передайте весь запрос через view, укажите что именно изменить, получите точечную правку.
- Если работаете с Datasette — установите datasette-agent-edit и изучите реализацию трёх инструментов как референс для своих агентных пайплайнов.
- Изучите дизайн Claude text editor tool в официальной документации Anthropic — один из немногих опубликованных эталонных паттернов для file-editing агентов, который уже работает в проде.