6 багів, про які може навчити лише жива модель

Офлайн-тестування необхідне. Але його недостатньо.

Я розробив AgentOps Debugger для відстеження дотримання екологічних норм у Перу. Він використовує Qwen-plus на Qwen Cloud для пошуку записів та написання звітів.

Я спроектував систему за принципом offline-first. Мої 315 тестів проходили без жодних мережевих запитів. Усі тести були успішними. Але коли я переключився на живу модель на Alibaba Cloud, система зламалася.

Код був у порядку. Проблема полягала у вихідних даних моделі.

Ось шість уроків, отриманих з реальних збоїв моделей:

• Невідповідність міток Схема очікувала "completed" або "failed". Модель надсилала "success" або "done". Парсер відхиляв корисні відповіді через одне лише слово. Виправлення: Використовуйте толерантні препроцесори для нормалізації синонімів.

• Дегенеративні плани Планувальник іноді не повертав нічого. Додаток намагався перетворити цю тишу на звичайну відповідь. Це створювало фейкові відповіді. Виправлення: Додайте інтерпретатор планів. Якщо план порожній, повідомте користувачеві, що системі не вдалося скласти план, замість того, щоб брехати.

• Дрейф схеми Модель змінювала назви полів, наприклад, з "documentTitle" на "title". Вона також змішувала англійські та іспанські мітки. Виправлення: Використовуйте мапінг аліасів та рятуйте валідні частини. Якщо одне посилання некоректне, залиште інші чотири.

• Неузгоджені завдання Модель просила зберегти звіт ще до того, як він був створений. Логіка була безпечною, але користувацький досвід був зіпсований. Виправлення: Код має виявляти відсутні кроки та вставляти їх автоматично.

• Помилки циклу Модель продовжувала ставити ті самі уточнювальні запитання навіть після того, як користувач відповів. Виправлення: Перенесіть розв'язання сутностей (entity resolution) із моделі в код. Як тільки користувач надає дані, система обробляє решту детерміновано.

• Хибна неоднозначність Модель стверджувала, що назва компанії є неоднозначною, хоча це було не так. Це зупиняло робочий процес. Виправлення: Дозвольте моделі припускати неоднозначність, але нехай дані вирішують, чи є вона реальною.

Головний принцип: Дозволяйте LLM вести розповідь, але не дозволяйте їй керувати структурованими результатами.

Модель має відповідати за наміри, планування та мову. Код має відповідати за розв'язання сутностей, дані діаграм та збирання звітів.

Система стає надійною, коли ви можете простежити кожен висновок до конкретного запису. Використовуйте модель для розповіді, але використовуйте свій код для істини.

Source: https://dev.to/ginollerena/six-bugs-only-a-live-model-could-teach-us-57k5

Optional learning community: https://t.me/GyaanSetuAi