Использование больших языковых моделей (LLM) для оценки задач в story points набирает популярность: это быстро и не требует созывать команду. Однако исследование на исторических задачах Jira показало, что достаточно одной фразы в промпте, например «тимлид считает, что эта задача стоит 5», чтобы оценка двух разных LLM сместилась примерно на 20%. Этот эффект известен как якорение: модель цепляется за число, даже если оно необоснованно. В статье разберём, как это работает, почему близкая к командной оценка не гарантирует точность и как использовать LLM для планирования, не попадая в ловушку.

Что такое эффект якоря в оценке задач

Эффект якоря — когнитивное искажение, при котором люди (и модели) слишком сильно полагаются на первое полученное число. В контексте покер-планирования это проявляется, когда тимлид или другой участник называет свою оценку до обсуждения. Нейросети, обученные на человеческих текстах, также подвержены этому эффекту: если в промпте указать ожидаемую оценку, модель с большей вероятностью выдаст число, близкое к якорю. В эксперименте на реальных задачах Jira добавление фразы «тимлид думает, что это 8» приводило к тому, что оценка LLM снижалась или повышалась в среднем на 20% по сравнению с нейтральным промптом.

Важно понимать: якорь действует не только на людей, но и на алгоритмы. Это значит, что если вы используете LLM для предварительной оценки, любая подсказка с числом может исказить результат. Причём чем менее конкретна задача, тем сильнее влияние якоря.

Как проводился эксперимент и что он показал

Исследователи взяли исторические задачи из Jira с уже известными оценками story points. Для каждой задачи сформировали два промпта: нейтральный (без указания ожидаемой оценки) и с якорем — фразой вроде «тимлид предполагает, что задача стоит X». Затем прогнали через две разные LLM и сравнили результаты с исходными оценками и между собой.

Результаты:

  • При наличии якоря оценки обеих моделей смещались в сторону указанного числа в среднем на 20%.
  • Даже когда якорь был явно завышен или занижен, модели корректировали оценку, но не игнорировали его полностью.
  • Сумма оценок по задачам, полученная с помощью LLM, часто оказывалась близка к командной, но это не означало, что каждая отдельная оценка точна — ошибки компенсировались.

Этот результат подчёркивает: LLM не даёт объективной оценки, а лишь отражает вероятностное распределение, на которое легко повлиять контекстом.

Почему близкая к командной сумма не гарантирует точность

Если сложить оценки LLM по всем задачам спринта и сравнить с суммой командных оценок, можно получить почти одинаковые числа. Но за этой близостью могут скрываться значительные расхождения по отдельным задачам: одни недооценены, другие переоценены. Например, задача, которую команда оценила в 5, модель с якорем «3» поставит 4, а задачу с командной оценкой 2 — тоже 4. В сумме получится то же самое, но план спринта будет искажён.

Кроме того, LLM не учитывает контекст: зависимости между задачами, опыт команды, технический долг. Поэтому использовать сумму оценок как критерий качества нельзя — нужно смотреть на каждую задачу отдельно.

Как использовать LLM для оценки задач без вреда

Чтобы минимизировать эффект якоря и повысить полезность LLM, следуйте этим шагам:

  • Формулируйте промпт нейтрально. Не упоминайте ожидаемую оценку, имя тимлида или другие числа. Пример: «Оцени сложность задачи в story points по шкале Фибоначчи, учитывая только описание».
  • Запрашивайте обоснование. Попросите модель объяснить, почему она поставила такую оценку, какие факторы учла. Это поможет выявить логические ошибки.
  • Сравнивайте несколько прогонов. Запустите оценку несколько раз с разными формулировками (но без якорей) и посмотрите на разброс. Если оценки сильно скачут, задача сформулирована нечётко.
  • Используйте LLM как вспомогательный инструмент, а не замену обсуждению. Полученные оценки можно вынести на покер-планирование как один из голосов, но не как истину.
  • Проверяйте на исторических данных. Если у вас есть задачи с известными оценками, прогоните их через модель и сравните с эталоном — так вы поймёте, насколько она адекватна для вашего домена.

Также стоит избегать ситуаций, когда LLM используется для «подтверждения» уже принятого решения — это прямой путь к подтверждающему искажению.

Типичные ошибки при оценке задач с помощью LLM

Вот что чаще всего делают не так:

  • Указывают в промпте оценку тимлида или заказчика. Это создаёт якорь и смещает результат.
  • Используют сумму оценок как метрику точности. Как показал эксперимент, сумма может совпадать, а отдельные оценки — быть далёкими от истины.
  • Игнорируют контекст. LLM не знает о зависимостях, квалификации команды, предыдущем опыте. Без дополнительной информации оценка будет поверхностной.
  • Переносят оценку LLM в план без обсуждения. Это лишает команду возможности уточнить детали и договориться.
  • Не проверяют модель на своих данных. Разные LLM могут давать разные результаты, и то, что работает для одной команды, не подойдёт для другой.

Пример: команда решила автоматизировать оценку бэклога с помощью LLM. В промпт добавили фразу «по мнению продакт-менеджера, это примерно 5». В итоге все задачи, которые продакт-менеджер считал крупными, получили завышенные оценки, а мелкие — заниженные. Спринт был перегружен, потому что реальная сложность не соответствовала цифрам.

Вывод: LLM — инструмент, а не оракул

Нейросети могут ускорить оценку задач, но требуют осторожного обращения. Эффект якоря — лишь одна из ловушек. Чтобы извлечь пользу, формулируйте промпты нейтрально, запрашивайте обоснования, проверяйте модель на исторических данных и всегда обсуждайте результаты с командой. Помните: близкая к командной сумма не гарантирует точность, а одна фраза в промпте может срезать оценку на пятую часть. Используйте LLM как дополнительный голос, а не как замену экспертизе команды.