Налагодження детермінованої перевірки цитат у дослідницьких AI-агентах
Детермінований модуль перевірки цитат відхилив майже половину точних цитат AI-агента через дрібні баги парсингу HTML. Виправлення очищення тегів і пробілів відновило точність перевірки та виявило сфабриковані URL.

Вплив: Середній
Чому це важливо
Ви можете запобігти хибному відхиленню точних відповідей моделі, протестувавши конвеєр перевірки на заздалегідь відомих коректних даних.
TL;DR
- 01Точне порівняння рядків у модулях перевірки дає збій, якщо парсинг HTML псує пробіли та дужки.
- 02Мутаційне тестування валідаторів гарантує збереження високої вибірковості без хибних відхилень.
- 03LLM регулярно генерують правдоподібні шляхи URL, яких не існує на дозволених доменах.
Ключові факти
- Початкові хибні відхилення
- 12 з 18 цитат
- Точність після виправлення
- 18 з 18 точних цитат
- Виявлено фейкових URL
- 6 з 10 неробочих посилань
- Вартість пакету запитів
- $0.037 за 37 API-запитів
Пастки примітивної нормалізації тексту
Детерміновані гейти валідації вимагають, щоб кожна цитата LLM збігалася побайтово із завантаженим документом. Проте стандартні регулярні вирази на кшталт <[^>]+> дають збій при наявності вкладеного JSON в атрибутах HTML із символами >. Крім того, перетворення тегів на пробіли змінює зноски з [1] на [ 1 ], через що точний пошук підрядка відхиляє коректні цитати.
Виправлення логіки парсингу та мутаційне тестування
Щоб усунути хибні відхилення, екстрактор має видаляти значення атрибутів до очищення тегів, обробляти безпробільні інлайн-теги та вирізати сирий TeX. Перевірка гейта вимагає мутаційного тестування: прогону модифікованих цитат через конвеєр для підтвердження того, що він виявляє справжні галюцинації без зниження планки якості.
Виявлення галюцинованих джерел
Після калібрування порівняння тексту гейт ефективно маркує фейкові посилання. Під час тестування на 20 запитаннях 6 із 10 відхилених URL виявилися вигаданими шляхами до документації. Обмеження агента білим списком доменів запобігає несанкціонованим мережевим запитам і зберігає детермінованість перевірки.
Спробуй за 2 хвилини
const ALLOW = ['en.wikipedia.org', 'developer.mozilla.org', 'docs.python.org', 'datatracker.ietf.org'];
function sanitizeText(html) {
return html.replace(/\s+=\s*"[^"]*"/g, '').replace(/<[^>]+>/g, ' ').replace(/\[\s+(\d+)\s+\]/g, '[$1]');
}javascript
✓ Коли використовувати
- Розробка RAG-систем, які вимагають верифікованих прямих цитат із документації.
- Впровадження детермінованих перевірок перед автоматичною генерацією звітів.
✕ Коли НЕ варто
- Генерація креативних текстів або вільних підсумків, де не потрібен точний збіг рядків.
Що зробити сьогодні
- Протестуйте код детермінованої перевірки на відомих коректних рядках перед увімкненням повторних підказок.
- Проведіть аудит регулярних виразів очищення тексту, щоб значення атрибутів та дужки не псували збіг.
Джерела