Ограничения и типичные сбои
Конкретные, повторяющиеся способы, которыми AI-ассистент ошибается. Это не повод от него отказаться — наоборот: знание того, где инструмент отказывает, и позволяет уверенно пользоваться им во всех остальных случаях.
Почему это важно. Опасны не громкие сбои, а тихие. Ассистент, который отказался отвечать, безвреден; ассистент, который выдал уверенный и незаметно неверный ответ, обходится дороже, чем отказ от него вовсе, — он забрал не только время, но и внимание.
Что нужно понимать
- Что модель действительно видит, а что додумывает
- На каких классах задач она стабильно слаба
- Почему гладкость формулировок здесь никак не связана с правильностью
- Как она ведёт себя, когда не знает ответа, — сказать об этом прямо она умеет редко
- Где незаметно вытесняется ваше собственное суждение
Ключевые темы
Границы знаний
- Дата отсечки обучающих данных и уверенные ответы про библиотеки, которые с тех пор изменились
- Путаница с версиями: API, существовавший два мажорных релиза назад
- Редкие и внутренние фреймворки, по которым почти не на чем было учиться
- Ответы как среднее по интернету — вместе с его устаревшим большинством
Границы контекста
- Модель знает только то, что ей дали, остальное достраивает
- Большие кодовые базы, где нужный файл так и не был прочитан
- Потеря ранее заданных ограничений на длинной сессии
- Чтение пересказа кода вместо самого кода
Границы рассуждения
- Длинные цепочки, где ранняя ошибка уверенно тащится дальше
- Согласованность между файлами: каждый файл верен, целое — нет
- Глубокие правила предметной области, которых в коде нигде нет
- По-настоящему новые задачи — в отличие от перекомбинаций известного
Поведенческие сбои
- Согласие с неверной правкой просто потому, что вы возразили
- Гора текста там, где честным ответом был бы уточняющий вопрос
- Переписывание работающего кода, который не был причиной проблемы
- Оптимизация названной метрики мимо сути задачи
Что из этого следует на практике
- Всё, что зависит от версии, сверять с документацией
- Давать контекст, а не рассчитывать, что его найдут
- Много мелких проверяемых шагов лучше одного большого правдоподобного
- Сохранять навык, без которого вы не сможете проверить результат
Уровни
| Уровень | Как это выглядит |
|---|---|
| Junior | Знает, что ответ может быть неверным, и проверяет хотя бы то, что код запускается. |
| Middle | Различает типы сбоев, проверяет всё, что зависит от версии, осознанно даёт контекст. |
| Senior | Выбирает задачи под сильные стороны инструмента, встраивает проверку в рабочий процесс и следит за тем, чтобы команда не разучилась работать без него. |
Практика
Для начала
-
Нащупайте отсечку Спросите про возможность библиотеки, вышедшую недавно, и сверьте ответ с changelog.
-
Возразите неправильно Настойчиво утверждайте что-нибудь неверное и посмотрите, согласится ли модель.
-
Не дайте контекст Попросите внести изменение, не указав нужный файл, и посмотрите, что модель придумает.
Глубже
-
Найдите свой класс сбоев Месяц отслеживайте работу с ассистентом и разберите по типам, где именно всё пошло не так. Скорректируйте то, что вы ему делегируете.
-
Разберите длинную цепочку Возьмите задачу, где модель уверенно ошиблась ближе к концу, и разложите её на проверяемые шаги.
-
Сохраните навык Возьмите то, что всегда делегируете, и сделайте руками — убедитесь, что всё ещё можете.
Проверьте себя
- Что из недавно сказанного ассистентом оказалось устаревшим?
- Как он, по вашему опыту, ведёт себя, когда чего-то не знает?
- На каких ваших задачах он стабильно проваливается?
- Как вы заметите, что он молча согласился с вашим неверным предположением?
- Что вы год назад умели делать сами, а сейчас уже нет?
- Чего в вашей кодовой базе он не может узнать ниоткуда?
Ресурсы
- Anthropic: reduce hallucinations — от тех, кто это измеряет: почему возникают уверенные выдумки и какие приёмы действительно снижают их долю.
- Evaluating Large Language Models Trained on Code — статья про Codex. Раздел 7 об ограничениях написан теми, кто эту модель и сделал, и говорит о сбоях генерации кода конкретнее, чем всё, что было сказано об этом позже.
- Exploring Generative AI — заметки Биргитты Бёкелер необычно конкретны: где именно ассистент подвёл на реальных проектах и почему.
- Sycophancy in language models — исследование склонности соглашаться с пользователем — ровно то, что срабатывает, когда вы возражаете против верного ответа.
- Stack Overflow Developer Survey — блок вопросов о доверии: насколько уверенность практикующих разработчиков совпадает с тем, как часто они этими инструментами пользуются.