| | from llama_index.core.prompts import PromptTemplate |
| |
|
| | |
| | SYSTEM_PROMPT = """<role> |
| | Ти — досвідчений юрист-аналітик Верховного Суду України, який спеціалізується |
| | на формулюванні правових позицій на основі судових рішень для бази правових |
| | позицій Верховного Суду (lpd.court.gov.ua). |
| | |
| | Правова позиція — це НЕ переказ рішення. Це абстрактне правове правило у 2-4 |
| | реченнях, яке може бути застосоване до аналогічних справ. Кожне речення |
| | формулює окрему правову тезу прямим декларативним стилем. |
| | </role>""" |
| |
|
| | |
| | LEGAL_POSITION_PROMPT = """ |
| | <task> |
| | На основі наданого тексту судового рішення сформулюй правову позицію для бази |
| | правових позицій Верховного Суду (lpd.court.gov.ua). |
| | </task> |
| | |
| | <court_decision> |
| | {court_decision_text} |
| | </court_decision> |
| | |
| | <comment> |
| | {comment} |
| | </comment> |
| | |
| | <strategy> |
| | Постанова Верховного Суду має типову структуру. Для формулювання правової позиції |
| | зосередься ВИКЛЮЧНО на розділах: |
| | - "Позиція Верховного Суду" |
| | - "Мотиви суду" / "Мотиви, з яких виходить Верховний Суд" |
| | - "Висновки щодо застосування норм права" |
| | |
| | ІГНОРУЙ для цілей формулювання правової позиції: |
| | - Описову частину (фактичні обставини, позовні вимоги) |
| | - Рішення судів першої та апеляційної інстанцій |
| | - Доводи касаційної скарги |
| | - Резолютивну частину (використовуй лише для визначення типу судочинства) |
| | |
| | Подумки визнач: (1) яке правове питання вирішував Верховний Суд, |
| | (2) який абстрактний правовий принцип він сформулював, |
| | (3) як це правило може бути застосоване до аналогічних справ. |
| | </strategy> |
| | |
| | <rules_do> |
| | <rule id="source_focus"> |
| | Основа правової позиції — висновки Верховного Суду з мотивувальної частини рішення. |
| | Формулюй правило на базі того, що ВС вважає правильним застосуванням норм права. |
| | </rule> |
| | |
| | <rule id="declarative_style"> |
| | Формулюй кожне речення як пряме декларативне твердження: |
| | - "[Суб'єкт] діє не як [X], а як [Y]." |
| | - "[Факт/обставина] не свідчить про [юридичний наслідок]." |
| | - "[Суб'єкт] не є самостійним учасником [правовідносин]." |
| | - "Сам по собі факт [X] не є підставою для [Y]." |
| | </rule> |
| | |
| | <rule id="abstraction"> |
| | Формулюй правову позицію як ПРАВИЛО для аналогічних справ. |
| | Не згадуй конкретних осіб, назви підприємств, дати чи номери справ. |
| | Використовуй узагальнені терміни: "особа", "юридична особа", "директор", |
| | "позивач", "відповідач", "суб'єкт владних повноважень", "суд". |
| | </rule> |
| | |
| | <rule id="conciseness"> |
| | Текст правової позиції (поле "text") — це 2-4 речення. |
| | Кожне речення формулює ОКРЕМУ правову тезу. |
| | Не об'єднуй кілька ідей в одне речення. |
| | Кожне слово повинно нести юридичний зміст. |
| | </rule> |
| | |
| | <rule id="language"> |
| | Використовуй ВИКЛЮЧНО українську мову. Дотримуйся офіційно-ділового стилю, |
| | характерного для правових документів Верховного Суду України. |
| | </rule> |
| | |
| | <rule id="proceeding_type"> |
| | Тип судочинства — строго один із чотирьох варіантів: |
| | - "Адміністративне судочинство" |
| | - "Кримінальне судочинство" |
| | - "Цивільне судочинство" |
| | - "Господарське судочинство" |
| | </rule> |
| | |
| | <rule id="category"> |
| | Категорія повинна бути конкретною і по можливості містити посилання на відповідні |
| | статті кодексів. Категорія описує правову тематику, а не просто тип судочинства. |
| | </rule> |
| | </rules_do> |
| | |
| | <rules_dont> |
| | <rule id="no_procedural_narrative"> |
| | НЕ описуй процесуальну історію справи: що вирішив суд першої інстанції, |
| | що встановив апеляційний суд, з яких підстав касаційний суд скасував рішення. |
| | </rule> |
| | |
| | <rule id="no_factual_retelling"> |
| | НЕ переказуй фактичні обставини конкретної справи. Правова позиція — це |
| | абстрактне правило, а не опис того, що сталося. |
| | </rule> |
| | |
| | <rule id="no_verbose_patterns"> |
| | НЕ використовуй вступні та зв'язуючі фрази: |
| | "слід зазначити що", "необхідно відмітити", "разом з тим", "водночас", |
| | "при цьому", "таким чином", "враховуючи викладене". |
| | </rule> |
| | |
| | <rule id="no_law_text_copying"> |
| | НЕ дублюй текст статей закону дослівно. Посилайся на статті, але формулюй |
| | правило своїми словами як висновок ВС. |
| | </rule> |
| | </rules_dont> |
| | |
| | <output_format> |
| | ВАЖЛИВО: Твоя відповідь має бути ТІЛЬКИ валідним JSON об'єктом, без додаткового тексту. |
| | Не додавай пояснень, коментарів чи markdown форматування навколо JSON. |
| | |
| | Структура JSON: |
| | {{ |
| | "title": "заголовок правової позиції", |
| | "text": "текст правової позиції (2-4 речення, абстрактне правове правило)", |
| | "proceeding": "тип судочинства (один із 4 варіантів)", |
| | "category": "правова категорія" |
| | }} |
| | |
| | Приклади еталонних правових позицій: |
| | |
| | {{ |
| | "title": "Статус директора юридичної особи при укладенні договору та відсутність предмета спору", |
| | "text": "Директор юридичної особи при укладенні договору діє не як фізична особа, а як орган юридичної особи. Укладення договору позики між фізичною особою-позикодавцем та юридичною особою-позичальником, де та сама особа є директором, не свідчить про відсутність предмета спору. Органи юридичної особи не є самостійними учасниками цивільних відносин.", |
| | "proceeding": "Цивільне судочинство", |
| | "category": "Правосуб'єктність юридичної особи (ст. 80, 92 ЦК України)" |
| | }} |
| | |
| | {{ |
| | "title": "Підстави для закриття провадження у справі у зв'язку з відсутністю предмета спору", |
| | "text": "Відсутність предмета спору має місце у випадку припинення існування предмета спору, якщо між сторонами у зв'язку з цим не залишилося неврегульованих питань. Закриття провадження у справі можливе як у разі відсутності предмета спору на момент пред'явлення позову, так і у разі його припинення в процесі розгляду справи.", |
| | "proceeding": "Цивільне судочинство", |
| | "category": "Закриття провадження у справі (п. 2 ч. 1 ст. 255 ЦПК України)" |
| | }} |
| | |
| | {{ |
| | "title": "Обов'язок суду перевірити дотримання досудового порядку врегулювання спору", |
| | "text": "Недотримання позивачем встановленого законом або договором досудового порядку врегулювання спору є підставою для залишення позову без розгляду. Суд зобов'язаний перевірити дотримання цього порядку незалежно від наявності відповідного клопотання відповідача.", |
| | "proceeding": "Господарське судочинство", |
| | "category": "Досудове врегулювання господарських спорів" |
| | }} |
| | </output_format> |
| | |
| | """ |
| |
|
| | PRECEDENT_ANALYSIS_TEMPLATE = PromptTemplate( |
| | """<task> |
| | Ваше завдання - проаналізувати нове судове рішення та визначити, чи потрібно для нього створювати нову правову позицію, |
| | чи можна використати існуючі правові позиції Верховного Суду. |
| | </task> |
| | |
| | <workflow> |
| | Дотримуйтесь цих кроків: |
| | |
| | ### Крок 1: Розгляд нового рішення |
| | |
| | Спочатку розгляньте проект правової позиції нового рішення: |
| | |
| | <new_decision> |
| | {query} |
| | </new_decision> |
| | |
| | ### Крок 2: Уточнююче питання |
| | |
| | Врахуйте уточнююче питання: |
| | |
| | <clarifying_question> |
| | {question} |
| | </clarifying_question> |
| | |
| | ### Крок 3: Аналіз існуючих позицій |
| | |
| | Проаналізуйте існуючі правові позиції: |
| | |
| | <legal_positions> |
| | {context_str} |
| | </legal_positions> |
| | |
| | ### Крок 4: Порівняльний аналіз |
| | |
| | Проведіть порівняльний аналіз: |
| | |
| | <analysis_criteria> |
| | - Визначте ключові правові питання нового рішення |
| | - Знайдіть релевантні існуючі правові позиції |
| | - Оцініть можливість їх застосування до нового рішення |
| | - Визначте, чи повністю вони охоплюють правову проблематику нового рішення |
| | </analysis_criteria> |
| | |
| | ### Крок 5: Деталізація релевантних позицій |
| | |
| | Для кожної релевантної правової позиції надайте: |
| | |
| | <required_fields> |
| | а. **ID позиції** |
| | б. **Порядковий номер** зі списку наданих правових позицій |
| | в. **Детальне обґрунтування**, чому ця позиція може бути використана, |
| | включаючи аналіз спільних правових питань, аргументації та висновків |
| | </required_fields> |
| | |
| | ### Крок 6: Формування результату |
| | |
| | Представте висновки у форматі JSON: |
| | |
| | <output_format> |
| | {{ |
| | "relevant_positions": [ |
| | {{ |
| | "lp_id": "ID позиції", |
| | "source_index": "Порядковий номер позиції у списку", |
| | "description": "Детальне обґрунтування релевантності та можливості застосування цієї правової позиції до нового рішення" |
| | }} |
| | ] |
| | }} |
| | </output_format> |
| | </workflow> |
| | |
| | <requirements> |
| | **Важливі вимоги:** |
| | |
| | - Включайте до результату **ТІЛЬКИ** ті правові позиції, які дійсно можуть бути використані для нового рішення |
| | - В описі обов'язково вказуйте конкретні аспекти, за якими правова позиція співпадає з новим рішенням |
| | - Якщо жодна з існуючих позицій не підходить, поверніть пустий масив `relevant_positions` |
| | - В `description` надайте розгорнутий аналіз, чому позиція може бути використана |
| | - Переконайтеся, що ваш JSON правильно форматований та валідний |
| | </requirements> |
| | |
| | <action> |
| | Приступайте до аналізу та надайте обґрунтований висновок щодо можливості використання існуючих правових позицій. |
| | </action> |
| | """ |
| | ) |
| |
|
| |
|