Видимый CoT не улучшает генерацию SQL и pandas-кода универсально: новое исследование
Препринт arXiv 2610.10639 проверяет популярный совет «думай шаг за шагом» на генерации аналитического кода. Один и тот же запрос ставили в двух вариантах, SQL и Python (pandas), а результат оценивали по исполнению кода. Универсального выигрыша от видимой цепочки рассуждений не обнаружено. Стабильной пользы от рассуждения на языке целевого кода («think in SQL») тоже нет. Результат зависит от персоны в промпте, целевого языка, модели и режима внутреннего рассуждения. • Видимый CoT не универсальный оптимизатор. • Совпадение языка рассуждения и кода ничего не гарантирует. • Режим внутреннего рассуждения иногда важнее промпта.
AI-обработка оригинала arXiv cs.LG; редакция Hamidun News
Исследователи проверили один из самых тиражируемых советов по промптингу, «пусть модель думает вслух», на задаче с объективной проверкой: генерации аналитического кода, который можно запустить. Препринт arXiv 2610.10639 сравнивает SQL и Python (pandas) на одинаковых запросах. Авторы не нашли ни универсального выигрыша в точности от видимой цепочки рассуждений (Chain-of-Thought), ни стабильной пользы от рассуждения «на языке задачи». Эффект зависит от персоны в промпте, целевого языка, конфигурации модели и режима внутреннего рассуждения.
Как устроен эксперимент
Аналитический код — удобный полигон. Запрос на естественном языке двусмысленен, модели нужно привязаться к схеме данных, а результат подчиняется жёстким правилам целевого языка. Один и тот же вопрос про данные можно решить и SQL-запросом, и pandas-скриптом. Поэтому авторы собрали бенчмарк, где запросы сопоставлены между двумя языками, и проверили распространённое допущение: видимое рассуждение работает лучше, если записано в том же представлении, что и ответ, то есть «думай в SQL» или «думай в Python».
В эксперименте скрестили несколько факторов:
- формулировку персоны в промпте;
- целевой язык: SQL или Python (pandas);
- формат видимого CoT, включая рассуждение в представлении целевого языка;
- контрольные префиксы;
- прямую генерацию без видимых рассуждений;
- конфигурации внутреннего рассуждения модели.
Качество оценивали по исполнению кода, а не по сходству текста с эталоном. Численных результатов и названий моделей в аннотации нет, их придётся смотреть в полном тексте.
Что показали результаты
Главный вывод отрицательный, зато практичный. Видимый CoT не даёт общего прироста точности. Согласование представления рассуждения с целевым языком тоже не работает как правило: где-то помогает, где-то нет. Знак и размер эффекта определяются сочетанием персоны, языка, модели и настроек внутреннего рассуждения.
Отдельную ценность имеют контрольные абляции. Они разделяют влияние содержания рассуждения и влияние формата промпта. Часть изменений в качестве может объясняться тем, что дополнительный шаблон или префикс просто сдвигает поведение модели, независимо от того, рассуждает она по делу или нет. Авторы формулируют это так: видимое рассуждение иногда улучшает исполнимую генерацию, а иногда в основном возмущает поведение модели. В ряде конфигураций решающим фактором оказывается внутреннее рассуждение, а не то, что показано в ответе.
Что делать командам, которые строят text-to-SQL и аналитических агентов
Промпт «think step-by-step» не стоит считать значением по умолчанию. Его нужно проверять на собственных данных так же, как любой другой параметр. Вот минимальный набор практик, который следует из работы:
- Держите прямую генерацию без видимого CoT как обязательный базовый вариант и сравнивайте с ней по результату исполнения запросов.
- Тестируйте промпт вместе с моделью, персоной, целевым языком и режимом thinking. Перенос настроек между связками ненадёжен.
- Добавляйте контрольные префиксы, чтобы отличить пользу рассуждения от эффекта длинного шаблона.
- Для reasoning-моделей отдельно проверяйте, не мешает ли видимый CoT внутреннему рассуждению.
- Не вшивайте советы вроде «думай в SQL» в системный промпт без замера на вашей схеме.
Ограничения тоже очевидны. Это препринт версии v1 без рецензии, а по аннотации нельзя оценить масштаб эффектов и охват моделей. Но как методический каркас для ответа на вопрос, где CoT помогает исполнимому коду, где только шумит, а где важнее настройки модели, работа полезна любой команде с аналитическим ассистентом в продакшене.
- 23 окт. 2026 г.Питтсбургский университет ищет 3D-карту внутри VLM: как модель видит комнату
- 23 окт. 2026 г.Apple и CMU ускорили ИИ-агентов в 10 раз, заменив рассуждение выбором
- 23 окт. 2026 г.Moonshot выложила Kimi Vendor Verifier: 6 тестов для проверки провайдеров K2.6
- 22 окт. 2026 г.Исследование: переобучение и лишний compute съедают 68% прироста от эволюции харнесса
❓ Вопросы и ответы по материалу
Что известно по теме: как устроен эксперимент?
Аналитический код — удобный полигон. Запрос на естественном языке двусмысленен, модели нужно привязаться к схеме данных, а результат подчиняется жёстким правилам целевого языка. Один и тот же вопрос про данные можно решить и SQL-запросом, и pandas-скриптом. Поэтому авторы собрали бенчмарк, где запросы сопоставлены между двумя языками, и проверили распространённое допущение: видимое рассуждение работает лучше, если записано в том же представлении, что и ответ, то есть «думай в SQL» или «думай в Python». В эксперименте скрестили несколько факторов: формулировку персоны в пром
Что известно по теме: что показали результаты?
Главный вывод отрицательный, зато практичный. Видимый CoT не даёт общего прироста точности. Согласование представления рассуждения с целевым языком тоже не работает как правило: где-то помогает, где-то нет. Знак и размер эффекта определяются сочетанием персоны, языка, модели и настроек внутреннего рассуждения. Отдельную ценность имеют контрольные абляции. Они разделяют влияние содержания рассуждения и влияние формата промпта. Часть изменений в качестве может объясняться тем, что дополнительный шаблон или префикс просто сдвигает поведение модели, независимо от того, рассужда
Что известно по теме: что делать командам, которые строят text-to-SQL и аналитических агентов?
Промпт «think step-by-step» не стоит считать значением по умолчанию. Его нужно проверять на собственных данных так же, как любой другой параметр. Вот минимальный набор практик, который следует из работы: Держите прямую генерацию без видимого CoT как обязательный базовый вариант и сравнивайте с ней по результату исполнения запросов. Тестируйте промпт вместе с моделью, персоной, целевым языком и режимом thinking. Перенос настроек между связками ненадёжен. Добавляйте контрольные префиксы, чтобы отличить пользу рассуждения от эффекта длинного шаблона. Для reasoning-моделей отде
Соберите и запустите AI-продукт без классического кодинга
Практический интенсив Жемала Хамидуна по вайб-кодингу в Claude Code и Cursor на hamidun.com/vibecoding: от идеи и архитектуры до рабочего продакшн-сервиса, ботов и пайплайнов.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.