RAG підсвічує, тренінг орієнтує: що робити з неоднорідністю судової практики
Під попередньою статтею прийшов коментар: "задача змістилася від доступу до практики до управління її неоднорідністю". Точне формулювання. Розбираємо, чому ваги авторитетності у RAG — полмера, що саме додає тренінг власної моделі, і чому в проді потрібні обидва шари.
RAG підсвічує, тренінг орієнтує: що робити з неоднорідністю судової практики
Під статтею про векторизацію ЄДРСР прийшов гострий коментар: "задача змістилася від простого доступу до практики до управління її неоднорідністю". Це точне формулювання. Розбираємо, чому ваги авторитетності у RAG — полмера, і що саме додає тренінг власної моделі на цьому корпусі.
Проблема: корпус чесно показує хаос
96 мільйонів судових рішень у відкритому доступі — це не просто велика база. Це дзеркало реального стану правозастосування. І в цьому дзеркалі видно:
- Розколи між колегіями ВС. КЦС тримає позицію A, КГС — B, роками. Пленум вирішує через 2-3 роки, але до того нижні інстанції застосовують різне.
- Дрейф у часі. Позиція до/після редакції кодексу 2022, до/після рішення ВП ВС 2023. Однакова за семантикою фраза в рішенні 2018 і 2024 року означає різне.
- Слабко мотивовані рішення, які формально в силі. Одноабзацне обґрунтування, яке ніхто не оскаржив, — офіційне, але з точки зору якості правозастосування це майже шум.
- Інерція нижніх інстанцій. Навіть після консолідуючої пленумної позиції частина судів роками тягне стару практику.
- Протиріччя в один і той же період. Два рішення однієї колегії з різницею в місяць, що прямо суперечать одне одному.
Плоский retrieval — будь то FTS, kNN по ембедингах, чи гібрид — нічого з цього не розрізняє. Він повертає топ-K за схожістю, і юрист сам розбирає, що вага, а що шум.
Перший рівень: RAG із вагами авторитетності
Наша поточна відповідь — додати кожному чанку у Qdrant payload-вагу, обчислену оффлайн за кількома сигналами.
Інстанція. Велика палата ВС > колегія ВС > апеляційний > перший. Базова ієрархія.
Щільність мотивації. Це не довжина тексту. Це частка абзаців, що містять посилання на статтю/пункт, трасування прецеденту, цитату законодавства, застосування тесту. Рахується регулярками + ML-класифікатором, натренованим на експертно розмічених зразках "сильна мотивація" / "шаблонна".
Індекс цитованості. Скільки інших рішень посилаються на це. Ми будуємо citation graph по корпусу, вага вузла — PageRank з авторитетним seed-ом (ВП ВС).
Відміняємість. Якщо рішення було скасовано касаційно — вага падає. Якщо позиція була явно відкинута пізнішим ВС — відхиляється ще сильніше.
Узгодженість із ВС. Наскільки правова позиція чанку збігається з пануючою позицією ВС у цій темі на дату ухвалення.
Ці ваги кладуться у payload, і retrieval стає не "ось 10 найсхожіших", а "ось 10 найсхожіших з вагами авторитетності і належністю до кластера доктрини". Юрист бачить: у моїй темі є позиції А і Б. Позиція А має вагу 0.82 (ВП ВС, густа мотивація, 340 цитувань), позиція Б — 0.41 (одинокий апеляційний, три цитування, шаблон). Юрист сам вирішує, як будувати аргументацію.
Це крок уперед. Але це все ще інструмент — юрист має знати, як читати ваги.
Межа цього підходу
Проблема зовнішніх ваг — вони скалярні і контекстно-сліпі.
У вузькій темі, де ВП ВС не висловлювалась, свіже мотивоване рішення першої інстанції може бути найкращим доступним ресурсом — але його вага за формулою буде низькою.
Дві позиції можуть мати близькі ваги, але одна з них — "консервація минулого", інша — "лінія, що набирає сили". Вага цього не показує.
Суперечність між двома рішеннями з вагою 0.7 не підсвічується явно — юрист має сам побачити у пейлоаді, що вони конфліктують.
Ваги — гарний фільтр, але вони не навігують неоднорідність. Вони її лише ранжують.
Другий рівень: тренінг доменної моделі
У попередній статті ми розбирали, як виглядає тренінг MoE-моделі розміру DeepSeek V3 на 2 ТБ корпусу. Тут — про те, що саме цей тренінг додає порівняно з RAG+вагами.
Sampling із зваженням на pretrain. Під час pre-training ми не годуємо модель весь корпус поспіль. Ми семплимо частіше рішення з високою authority-вагою — у 3-5 разів. Модель бачить сильну аргументацію як статистично-домінуючий патерн і засвоює її не як фільтр, а як свій default стиль. Це міняє розподіл внутрішніх активацій — модель пише мотивовано за замовчуванням, а не тому що ми її так попросили.
DPO на парах від senior юристів. Після pre-train йде supervised fine-tuning, потім — Direct Preference Optimization на парах (відповідь А, відповідь Б) на одне і те ж питання, з розміткою "краща відповідь" від практикуючих юристів високого рівня. Це буквально вшиває редакторське судження у ваги моделі. RAG так не вміє — він повертає top-K і передає вибір LLM, яка доменних критеріїв якості не знає.
Конфлікт як output, а не побічний шум. Модель, натренована на корпусі з явною розміткою "позиція А vs позиція Б по темі X", на forward pass сама виводить: "у цій темі є розкол. КЦС тримає А (приклади: рішення 1, 2, 3). КГС тримає Б (приклади 4, 5). Пленум ВП ВС 2023 схилився до Б. Нижні інстанції інерційно застосовують А, особливо в регіонах X, Y. Для вашого фактичного складу опора на Б, бо Z". Це reasoning над доктриною, а не пошук схожих чанків.
Темпоральна компетентність. Retrieval із датою як фільтром — це явно задавати "шукай до 2022". Модель із 280B токенів українського права, де дата — частина контексту кожного рішення, засвоює: "до редакції статті 611 ЦК 2020 року позиція була Y, після — Z". Це потужно на питаннях типу "як зараз застосовується стаття N" — де вся суть у тому, що у "зараз" є своя історія.
Cross-doctrinal coherence. Модель бачить зв'язки між доктринами в одному forward pass: "позиція по вашому питанню конфліктує з позицією ВС по суміжному питанню X — зверніть увагу, у вашому фактичному складі це може спрацювати". Це не "знайди схоже" — це знаходження логічних дисонансів у практиці.
Важливий caveat: тренінг без фільтрації = впевнені галюцинації
Не можна просто натренувати модель на всьому корпусі і чекати, що з цього магічно виникне правове мислення. Якщо ми не фільтруємо шум і слабко мотивовані рішення на вході, модель засвоює їх як "нормальну" аргументацію — і починає впевнено відтворювати слабке правозастосування. Це гірше за чесний RAG, який хоча б лишає вибір юристу.
Тому pipeline має бути хірургічним.
Authority-weighted sampling на pre-train — сильне бачиться частіше. SFT-датасет — тільки від senior юристів, не від rank-and-file анотаторів. Eval set включає "multi-valid" кейси, де правильна відповідь — "ось позиції з вагами, ось тренд, опирайтесь на Б через контекст". Модель навчається маркувати протиріччя, а не обирати одну сторону мовчки.
Це важливо сказати вголос, бо зазвичай розмова про домен-моделі звучить як "натренуємо — і все буде добре". Не буде. Буде інший набір граблів, якщо не вбудувати епістемологічну обережність у саму процедуру тренінгу.
Delivery у проді: обидва шари
У виробничій системі це не взаємозаперечно.
RAG із вагами — залишається для питань, де потрібна повна прозорість джерел: юрист хоче бачити кожне конкретне рішення з цифрами і метаданими. Це коли готується позиція до суду.
Доменна модель — для початкової навігації, reasoning над доктриною, пояснення "що важливо у цій темі і на що опиратися". Це коли юрист заходить у нову для себе область, або потрібен швидкий синтез.
Оркестрація у проді вирішує, який шар активувати залежно від типу запиту. Простий пошук прецедентів — RAG. Питання "як у цій темі сформувалася практика і куди вона рухається" — модель. Комбінація — перемикання між ними в рамках одного сеансу.
Чому коментатор правий
Задача дійсно змістилася. Років п'ять тому ринок просив: "дайте мені шукати по ЄДРСР швидше і точніше". Це було про доступ.
Зараз, коли доступ є, корпус вичерпно проіндексований, і векторний пошук працює — питання стає інше: "як не просто знайти релевантне, а зрозуміти, на що реально можна опертися і чому". Це вже не retrieval problem. Це epistemic problem.
RAG з вагами авторитетності — перший інструмент відповіді. Він дає юристу прозору картину з ранжуванням.
Тренінг доменної моделі — другий інструмент. Він перетворює модель із пошуковика на ко-юриста, який сам орієнтується в доктринальному ландшафті і пояснює вибір.
Кінцева мета — не замінити юриста моделлю. Мета — дати юристу інструмент, який сам розбирається в неоднорідності практики і підсвічує, на що можна впевнено опиратися, а де треба йти у первинні джерела і перевіряти вручну.
Від доступу — до опори. Це правильне формулювання наступної ітерації.
Автор: Володимир Овчаров. legal.org.ua