"Deep research" - не окрема технологія, а той самий агентний цикл з більшим бюджетом кроків. Модель розбиває питання на підпитання, викликає інструмент пошуку, отримує список результатів, обирає сторінки, викликає інструмент завантаження, читає текст, дописує знайдене в контекст - і йде на нове коло. Десятки викликів, кілька хвилин роботи, наприкінці - синтез у звіт з посиланнями.
Claude Research, ChatGPT deep research, Perplexity - один механізм з різними бюджетами кроків і різними пошуковими індексами. Різниця між "звичайною відповіддю" і "глибоким дослідженням" - у кількості кіл цього циклу, а не в іншій моделі.
Пошук повертає не сторінки, а сніпети: заголовок, адресу і кілька рядків фрагмента. Сторінка стає видимою лише після окремого завантаження - і тоді її конвертують у текст. Верстка, таблиці, картинки і частина довгого документа при цьому губляться або обрізаються за лімітом обсягу.
Практичний наслідок: модель часто робить висновок зі сніпета, так і не відкривши сторінку. Це той самий механізм, що і з великими документами: середина губиться, а висновок виглядає повним.
Пошуковий індекс - не інтернет. Поза ним лишається велика частина того, з чим працює юрист. Сторінки за логіном і платні бази. Результати, які з'являються лише після заповнення форми - ЄДРСР і більшість реєстрів. Сайти, що малюються скриптами в браузері, а не віддаються текстом. Захист від ботів: капчі, перевірки Cloudflare, ліміти частоти. Геоблокування: запит іде з серверів провайдера в США, і частина українських сайтів його не пускає.
Другий шар обмежень - сам інструмент. Завантажити можна лише адресу, яка вже є в розмові. Форму не заповниш, кнопку не натиснеш, логін не введеш, скрипт не виконаєш. Третій шар - провайдер: дозволені й заборонені домени, фільтри за категоріями контенту.
Окремий ефект, який часто плутає. Модель може знати те, чого пошук не знаходить. Навчальні дані збиралися роками і з різних джерел: частина сайтів з того часу закрилася або сховалася за платний доступ, частина текстів була придбана для навчання у вигляді ліцензованих баз і на відкритому вебі ніколи не лежала. Ці тексти осіли в параметрах моделі, і вона відтворює їх зміст - але посилання на них дати не може, бо відкритої адреси не існує.
Тому виникає розрив: модель впевнено переказує положення документа, а інструмент пошуку його не знаходить. Переказ із пам'яті - це той самий механізм передбачення, без можливості звірити. Правило те саме, що для будь-якого твердження без адреси: використовувати як підказку, де шукати, а не як факт.
Пошук знаходить, завантаження читає - але лише те, що проіндексоване і відкрите. Тому агентний пошук сильний на відкритому вебі: публікації, ЗМІ, законодавство на rada.gov.ua, судові рішення за прямим посиланням. І слабкий там, де живе більша частина юридичної роботи: у базах з формами, за логіном, у динамічних реєстрах.
| Джерело | Пошук + завантаження | Що потрібно насправді |
|---|---|---|
| rada.gov.ua | працює | - |
| ЗМІ, публікації | працює, з нерівною якістю | фільтр джерел у задачі |
| ЄДРСР | лише прямі посилання на рішення | пошук через форму або API |
| HUDOC | частково | API або браузер |
| Реєстри контрагентів | сніпети агрегаторів | API з ключем |
| Платні бази | ні | браузер із твоїм логіном |
Для правого стовпчика потрібен третій тип доступу, якого в пари "пошук + завантаження" нема: інструмент, підключений до конкретної бази.
Пʼять окремих причин, і кожна працює сама по собі. Сніпет-ефект: висновок без читання сторінки. Різна якість джерел: агрегатори і перекази рішень замість тексту рішення. Обрізка довгих документів. Змішування джерел при синтезі: дві схожі справи зливаються в одну. Недетермінованість маршруту: два запуски дають різні ланцюжки пошуку і різні звіти.
І окремо - тихі збої. Невдале завантаження не зупиняє дослідження: агент іде далі без цієї сторінки. Тому "не знайдено" у звіті часто означає "не вдалося відкрити", а не "не існує".
Задавати контур: перелік доменів і джерел, що вважати першоджерелом, що ігнорувати. Вимагати для кожного твердження цитату, адресу і дату доступу - таблицею "твердження - джерело". Вимагати три статуси у звіті: знайдено, не знайдено, недоступно.
Для закритих баз - давати доступ напряму: API через підключений інструмент (OpenDataBot, HUDOC, законодавство) або агент з браузером, де людина залогінена і сама відкриває доступ. Працювати у два ступені: агентний пошук як карта джерел, людина відкриває першоджерела, друга ітерація вже з завантаженими документами - файл у контексті надійніший за завантажену сторінку. Для стабільності - два запуски і перетин результатів.
Агентний пошук - це карта, а не свідчення. Він швидко показує, де що лежить, і не замінює відкриття першоджерела. Результат приймається у формі, яку можна спростувати.