Simon Willison — автор Datasette и один из самых известных LLM-практиков — запустил через Claude Code асинхронную задачу: установить DSPy, подключить Datasette Agent и автоматически оценить системный промпт для функции SQL-запросов. Claude Fable 5 провёл исследование, выбрал для тестирования GPT-4.1 mini и GPT-4.1 nano, и нашёл конкретную проблему. Промпт передавал схему только с именами таблиц — без колонок, — но при этом запрещал вызывать describe_table «если информация уже есть». Агент начинал угадывать имена вроде page_count или first_name, ошибался, уходил в retry-петли. Классический production-баг без внешнего eval.
Контекст
DSPy — фреймворк из Стэнфорда, который меняет сам подход к работе с промптами. Вместо ручного перебора формулировок вы задаёте метрики качества и набор примеров, а DSPy компилирует и оптимизирует промпты программно. Это ближе к машинному обучению, чем к традиционному prompt crafting — отсюда и название: Declarative Self-improving Python.
Datasette Agent — плагин для Datasette, open-source инструмента публикации SQLite-баз в браузере. Агент принимает вопрос на естественном языке и транслирует его в read-only SQL-запрос. Паттерн text-to-SQL встречается в десятках продуктов: BI-инструменты, корпоративные аналитические платформы, чат-боты поверх баз данных.
Примечательна сама механика эксперимента: Willison не занимался этим вручную — он делегировал исследование агенту. Агент исследовал, как улучшить другого агента. Это рабочий паттерн, который всё чаще используется в разработке AI-продуктов: вместо того чтобы самому копаться в трейсах, вы ставите задачу Claude Code и получаете результат асинхронно.
Аналитика
Найденный баг показывает системную проблему SQL-агентов: неполная схема в промпте ведёт к деградации под нагрузкой реальных запросов. Агент видит таблицу, но не знает колонки. Промпт говорит не запрашивать метаданные лишний раз. Агент угадывает — и ошибается. Без автоматического eval этот баг может годами жить в production под видом «иногда агент тупит».
DSPy переводит оценку промптов из субъективного в измеримое: вы задаёте входные вопросы, ожидаемые результаты, метрику — фреймворк прогоняет baseline, находит слабые места, предлагает улучшения. Для агентов с SQL-доступом к реальным данным это вопрос надёжности, а не удобства. Ошибочный запрос к боевой базе — уже инцидент.
Важнее сама культурная сдвижка: раньше цикл был «написал промпт → попробовал на паре примеров → задеплоил». Теперь появляется инструментарий для систематического eval до деплоя. В контексте роста числа agentic-систем — где агенты вызывают инструменты, работают с реальными данными и принимают последовательные решения — это уже не опциональная практика. Это инженерная гигиена.
Кейсы применения в бизнесе
B2B-SaaS стартап с аналитическим модулем. Если у вас есть фича «задай вопрос своим данным» — добавьте DSPy в CI. Соберите 50–100 реальных пользовательских вопросов, разметьте ожидаемые SQL-результаты, запустите eval перед каждым релизом. Промпт, который деградировал после очередного «небольшого улучшения», будет пойман до прода.
Корпорация с legacy SQL-базами. У вас скорее всего схемы с сотнями таблиц и неочевидными именами колонок. Именно там баг «угадывание колонок» проявляется сильнее. Решение прямое: включите колонки в схему, которую получает агент. DSPy поможет найти оптимальный формат — насколько детальная схема нужна, чтобы агент не терялся, но и не захлёбывался контекстом.
SMB в КР и СНГ. Небольшой e-commerce или логистика с базой на PostgreSQL или SQLite может использовать Datasette как быстрый способ дать команде аналитику без SQL-знаний. Это не корпоративный BI — это инструмент на несколько часов настройки. DSPy для такого масштаба может оказаться избыточным, но принцип «включи колонки в схему агента» применим напрямую к любому промпту сразу.
Кейсы в личной жизни
Разработчик, строящий AI-агента с доступом к данным. Возьмите DSPy, создайте eval-набор из 20–30 вопросов к вашей базе с ожидаемыми результатами. Запустите оценку текущего системного промпта. Высока вероятность найти проблемы, похожие на описанные: неполная схема, противоречивые инструкции, edge cases. Это займёт день — сэкономит недели отладки в production.
Data analyst или исследователь. Datasette позволяет быстро опубликовать любой CSV или SQLite как интерактивную базу, а Datasette Agent — задавать вопросы на естественном языке прямо к данным. Полезно для журналистов, исследователей, аналитиков, которые хотят быстро исследовать набор данных без написания SQL-запросов вручную.
Студент или начинающий разработчик. DSPy — практическое введение в оптимизацию LLM-систем. Берёте реальную задачу, например text-to-SQL на учебном датасете, пишете метрики, запускаете. Вы поймёте на практике, почему качество промпта зависит от структуры данных, а не только от формулировок — и это понимание дороже любого курса.
Как применить сегодня
- Установите DSPy:
pip install dspy. Если есть любой SQL-агент — начните с него, Datasette необязателен. - Соберите eval-набор: 20–50 пар «вопрос пользователя → ожидаемый SQL или результат». Реальные вопросы от пользователей работают лучше придуманных.
- Запустите baseline: прогоните текущий промпт через DSPy-evaluator, зафиксируйте метрики — точность, количество tool calls, retry. Это точка отсчёта.
- Проверьте схему в промпте: если агент получает только имена таблиц — добавьте колонки с типами. Это самое быстрое улучшение по кейсу Willison, применимое без DSPy прямо сейчас.
- Делегируйте исследование агенту: задача «проверь и улучши промпт X с помощью DSPy» хорошо решается в асинхронном режиме Claude Code — вы получаете конкретные находки без ручной работы с трейсами.