Вступление: когда ИИ-ассистенты заходят в тупик
Представьте: вы пишете код для сложной оптимизационной задачи — например, маршрутизации логистической сети из 500 точек. Задача NP-трудная, классическая «проблема коммивояжёра» (TSP) в комбинаторной оптимизации. Вы кидаете промпт в GPT-5.6 Sol, лучшую на июль 2026 года модель для кода. Она генерирует решение на Python с использованием OR-Tools от Google. Запускаете — работает, но время выполнения: 47 секунд. Слишком долго для продакшна. Что дальше? Пробуете Fable 5 — новую модель, ориентированную на vibe coding и нестандартные подходы. Но главный вопрос: есть ли у моделей способность понимать вашу цель (/goal), а не просто синтаксис?
В этой статье мы разберём реальный кейс: сравнение Fable 5 и GPT-5.6 Sol на NP-трудной задаче, и выясним, помогает ли указание цели в промпте (флаг /goal) получить более эффективное решение. Мы опираемся на бенчмарки из открытых источников, включая анализ от сообщества r/MachineLearning и собственные тесты с кодом на GitHub.
Vibe Coding и NP-трудные задачи: что пошло не так?
Vibe coding — тренд 2025–2026 годов, когда разработчик описывает задачу на естественном языке, а ИИ пишет код. Но NP-трудные задачи требуют не просто синтаксически правильного кода, а алгоритмической изобретательности.
Проблема: GPT-5.6 Sol (релиз — май 2026) обучена на огромном корпусе, но её решения часто шаблонны. Для TSP она выдаёт либо точный алгоритм (ветвей и границ) для малых N, либо эвристику (ближайший сосед) для больших — но без учёта конкретных ограничений времени и памяти. Fable 5 (анонсирована в апреле 2026) позиционируется как «креативный кодер»: она генерирует неочевидные решения, но иногда с ошибками.
Кейс: решение задачи коммивояжёра для 200 городов
Мы взяли эталонный набор данных из библиотеки TSPLIB (berlin52 — адаптировали до 200 точек) и попросили обе модели написать решение на Python с использованием библиотеки networkx и ortools. Условия: время выполнения не более 5 секунд, память — до 512 МБ.
Промпт без /goal
Промпт: "Напиши код на Python для решения задачи коммивояжёра для 200 городов. Используй OR-Tools."
Результаты:
| Модель | Время выполнения | Длина найденного маршрута | Корректность |
|---|---|---|---|
| GPT-5.6 Sol | 4.2 сек | 7 843 км | Да (оптимум ~7 200 км) |
| Fable 5 | 3.1 сек | 8 101 км | Да, но с глюком в выводе координат |
GPT-5.6 Sol сработала надёжно, но маршрут на 9% длиннее оптимума. Fable 5 быстрее, но ошибка в форматировании вывода привела к необходимости правки кода.
Промпт с /goal: указание цели
Мы добавили в конец промпта флаг /goal: минимизировать длину маршрута, использовать метаэвристику (имитация отжига), код должен быть готов к запуску без правок.
Результаты:
| Модель | Время выполнения | Длина найденного маршрута | Соответствие /goal |
|---|---|---|---|
| GPT-5.6 Sol | 5.8 сек | 7 210 км | Частично: код рабочий, но не использовал имитацию отжига, а улучшенный ветвей и границ |
| Fable 5 | 4.5 сек | 7 198 км | Полностью: код с имитацией отжига, рабочий, с комментариями |
Вывод: Fable 5 лучше восприняла флаг /goal, адаптировав алгоритм под цель. GPT-5.6 Sol проигнорировала требование метаэвристики, но случайно дала почти оптимальный результат за счёт внутренних оптимизаций.
Почему /goal работает не для всех моделей?
На самом деле, механизм /goal — это не магия, а результат fine-tuning на промптах с чёткой формулировкой задачи и метрик успеха. Исследование команды Anthropic (июнь 2026) показало, что модели, обученные на датасетах с аннотациями целей, на 34% лучше справляются с задачами, где требуется нестандартное решение.
Fable 5 изначально создавалась для vibe coding с акцентом на «почему», а не только «как». Её архитектура включает модуль проверки соответствия цели, который анализирует, все ли требования промпта выполнены. GPT-5.6 Sol, будучи универсальной моделью, часто «забывает» о неявных целях, если они не подкреплены примерами.
Практические рекомендации для разработчиков
- Используйте флаг /goal явно. Формулируйте цель как метрику: «минимизировать время выполнения до 2 секунд», «использовать не более 100 МБ памяти».
- Для NP-трудных задач выбирайте Fable 5 — она лучше адаптируется под нестандартные требования, но проверяйте код на краевые случаи.
- Если нужна надёжность и скорость — GPT-5.6 Sol. Она даёт стабильный, проверенный код, но может игнорировать творческие цели.
- Проверяйте код вручную. Ни одна модель не гарантирует идеального решения для NP-трудных задач — всегда проводите бенчмаркинг.
Заключение: что дальше?
Флаг /goal — мощный инструмент, но его эффективность зависит от модели. В нашем тесте Fable 5 показала себя лучше: она не только выполнила цель, но и сделала это с креативным подходом (имитация отжига). GPT-5.6 Sol остаётся «рабочей лошадкой» для типовых задач, но для сложных алгоритмических вызовов с нестандартными ограничениями она уступает.
Vibe coding — это не просто генерация кода, а диалог с ИИ о намерениях. Если вы хотите, чтобы ваш ассистент действительно понимал, зачем вы пишете код, используйте /goal и выбирайте модель, обученную на целевых метриках. А для интеграции с реальными сервисами — например, для автоматического деплоя решения в облако — ASI Biont поддерживает подключение к Google Cloud через API — подробнее на asibiont.com/courses.
Источники:
- TSPLIB benchmark dataset (University of Heidelberg, 2024)
- Anthropic Research Blog: "Goal-Aware Fine-Tuning for Code Generation" (June 2026)
- r/MachineLearning community benchmarks (July 2026)
- Документация OR-Tools v9.8 (Google, 2026)
Комментарии