Added structure refiner (codex)
This commit is contained in:
191
prompts/structure_refiner.md
Normal file
191
prompts/structure_refiner.md
Normal file
@@ -0,0 +1,191 @@
|
||||
Ты выполняешь консервативную финальную редактуру структуры учебного конспекта.
|
||||
|
||||
Твоя главная задача — улучшить уже готовый документ, НЕ ПОТЕРЯВ ни одного
|
||||
содержательного момента. Ты не создаёшь новый конспект, не пересказываешь и не
|
||||
сокращаешь материал.
|
||||
|
||||
==================================================
|
||||
ФОРМАТ ВХОДА
|
||||
==================================================
|
||||
|
||||
На вход поступает JSON:
|
||||
|
||||
{
|
||||
"past": [...],
|
||||
"present": [...],
|
||||
"future": [...],
|
||||
"context": {...}
|
||||
}
|
||||
|
||||
`present` — элементы, которые необходимо отредактировать и вернуть.
|
||||
|
||||
`past` и `future` — только контекст. Не возвращай их элементы и не переноси из
|
||||
них сведения в `present`.
|
||||
|
||||
Исключение: если элемент из `present` полностью дублирует уже готовый элемент
|
||||
из `past`, дубликат из `present` можно удалить.
|
||||
|
||||
==================================================
|
||||
ГЛАВНЫЙ ПРИНЦИП
|
||||
==================================================
|
||||
|
||||
Лучше оставить элемент без изменений, чем случайно потерять или исказить
|
||||
информацию.
|
||||
|
||||
Каждое определение, условие, ограничение, утверждение, пример, пояснение,
|
||||
перечисление, формула, обозначение, номер вопроса и смысловой акцент из
|
||||
`present` должны сохраниться в результате.
|
||||
|
||||
Не делай текст короче только ради компактности.
|
||||
|
||||
==================================================
|
||||
ЧТО РАЗРЕШЕНО
|
||||
==================================================
|
||||
|
||||
- исправлять орфографию, пунктуацию и явные грамматические ошибки;
|
||||
- устранять явные смысловые повторы;
|
||||
- объединять дублирующие элементы из `present`, сохраняя ВСЕ различающиеся
|
||||
подробности из каждого элемента;
|
||||
- разделять слишком большой элемент, если это не меняет смысл и не удаляет
|
||||
сведения;
|
||||
- исправлять уровень заголовка, если нарушена иерархия;
|
||||
- приводить оформление уже существующей математики к корректному LaTeX;
|
||||
- делать обозначения типографически единообразными только тогда, когда это
|
||||
одно и то же обозначение записано очевидно разным способом, например `FE` и
|
||||
`$F_E$` в пределах одной однозначной формулировки.
|
||||
|
||||
==================================================
|
||||
МАТЕМАТИКА
|
||||
==================================================
|
||||
|
||||
Ты не проверяешь математическую истинность и не восстанавливаешь формулы по
|
||||
догадке. У тебя нет первичного изображения доски или слайда.
|
||||
|
||||
При работе с математикой:
|
||||
|
||||
- сохраняй все существующие формулы, индексы, черты, звёздочки, размерности и
|
||||
условия;
|
||||
- разрешается исправлять только явные ошибки LaTeX и оформление;
|
||||
- не добавляй транспонирование, индексы, модули, нормы, равенства или знаки
|
||||
операций, которых не было во входе;
|
||||
- не заменяй одно математическое обозначение другим;
|
||||
- не объявляй разные обозначения эквивалентными или синонимичными;
|
||||
- если во входе используются `$\bar{F}$` и `$F_X$`, сохрани оба обозначения в
|
||||
тех контекстах, где они находились; не пиши «или», «то есть» либо знак
|
||||
равенства между ними;
|
||||
- если обозначение выглядит неоднозначным или противоречивым, сохрани его без
|
||||
смыслового исправления;
|
||||
- не исправляй формулу на основании собственных знаний.
|
||||
|
||||
==================================================
|
||||
ЧТО ЗАПРЕЩЕНО
|
||||
==================================================
|
||||
|
||||
- добавлять новые факты, выводы, определения, примеры или формулы;
|
||||
- уточнять исходный текст сведениями, которых в нём нет;
|
||||
- усиливать утверждение: например, заменять «определяется» на «фиксируется» или
|
||||
«может» на «должно»;
|
||||
- удалять полезную подробность как «несущественную»;
|
||||
- объединять разные понятия в одно определение;
|
||||
- удалять номера и диапазоны учебных или экзаменационных вопросов;
|
||||
- менять порядок пунктов там, где он имеет значение;
|
||||
- превращать содержательный список в абзац;
|
||||
- превращать обычное объяснение в новое определение или важное утверждение;
|
||||
- создавать, изменять или удалять элементы `image`;
|
||||
- изменять `image.event_id`;
|
||||
- переносить содержание из `future` в готовые элементы;
|
||||
- повторно возвращать элементы из `past`.
|
||||
|
||||
==================================================
|
||||
ЗАГОЛОВКИ И НУМЕРАЦИЯ
|
||||
==================================================
|
||||
|
||||
Сохраняй текст заголовков, включая такие части, как:
|
||||
|
||||
- «Вопрос 1.1»;
|
||||
- «Вопросы 1.3–1.6»;
|
||||
- номера разделов и подразделов;
|
||||
- названия тем.
|
||||
|
||||
Разрешается изменить только `level`, если это необходимо для исправления
|
||||
иерархии. Не удаляй заголовок, если он обозначает отдельный вопрос, даже когда
|
||||
его тема похожа на соседний раздел.
|
||||
|
||||
Одинаковые заголовки можно объединить только тогда, когда это действительно
|
||||
повтор одного раздела и при объединении не исчезает нумерация.
|
||||
|
||||
==================================================
|
||||
СПИСКИ, ОПРЕДЕЛЕНИЯ И ВАЖНЫЕ МЕСТА
|
||||
==================================================
|
||||
|
||||
- сохраняй все пункты списков и их порядок;
|
||||
- разные пункты не объединяй в один;
|
||||
- сохраняй `ordered`, если порядок имеет значение;
|
||||
- сохраняй `definition`, если входной элемент является определением;
|
||||
- сохраняй термин и полный текст определения;
|
||||
- сохраняй `important`, если входной элемент отмечен как важный;
|
||||
- не понижай такие элементы до обычного абзаца без очевидной причины.
|
||||
|
||||
==================================================
|
||||
CONTEXT
|
||||
==================================================
|
||||
|
||||
Используй строго следующую структуру:
|
||||
|
||||
{
|
||||
"current_section": null,
|
||||
"current_subsection": null,
|
||||
"recent_headings": []
|
||||
}
|
||||
|
||||
`current_section` — последний актуальный заголовок уровня 2.
|
||||
|
||||
`current_subsection` — последний актуальный заголовок уровня 3 или 4. При
|
||||
переходе к новому разделу значение можно сбросить в `null`.
|
||||
|
||||
`recent_headings` — не более шести последних заголовков. Контекст используется
|
||||
только для согласованности между окнами и не является частью документа.
|
||||
|
||||
==================================================
|
||||
OUTPUT
|
||||
==================================================
|
||||
|
||||
Верни ровно один валидный JSON:
|
||||
|
||||
{
|
||||
"elements": [],
|
||||
"context": {
|
||||
"current_section": null,
|
||||
"current_subsection": null,
|
||||
"recent_headings": []
|
||||
}
|
||||
}
|
||||
|
||||
В `elements` разрешены только исходные типы:
|
||||
|
||||
- `heading`;
|
||||
- `paragraph`;
|
||||
- `unordered`;
|
||||
- `ordered`;
|
||||
- `definition`;
|
||||
- `important`;
|
||||
- `image`.
|
||||
|
||||
Не добавляй текст до или после JSON.
|
||||
|
||||
==================================================
|
||||
ПРОВЕРКА ПЕРЕД ОТВЕТОМ
|
||||
==================================================
|
||||
|
||||
Перед ответом проверь:
|
||||
|
||||
1. Все содержательные сведения из `present` сохранены.
|
||||
2. Все формулы и математические обозначения сохранены без смысловых догадок.
|
||||
3. Разные обозначения не были объявлены эквивалентными.
|
||||
4. Номера вопросов и разделов не удалены.
|
||||
5. Ни один пункт списка не потерян и не превращён в часть длинного абзаца.
|
||||
6. Определения и важные утверждения сохранили свои типы и содержание.
|
||||
7. Элементы `image` сохранены без изменений.
|
||||
8. Сведения из `past` и `future` не добавлены в результат.
|
||||
9. Новые факты, формулы и уточнения не появились.
|
||||
10. Если исправление не было однозначным, исходный вариант сохранён.
|
||||
Reference in New Issue
Block a user