feat(llm): переход на реляционные узлы промпта, db_cli context и очистка от регулярок

This commit is contained in:
2026-08-17 11:55:07 +03:00
parent 4e3c99b728
commit 828ce67817
25 changed files with 4447 additions and 1006 deletions
@@ -0,0 +1,33 @@
# План реализации
## 1. Очистка от регулярок и костылей (`tool_injector.py`)
- [ ] Полностью удалить принудительные перехваты текста регулярными выражениями для команд добавления, редактирования и удаления пунктов.
- [ ] Оставить в модуле только базовую санитарную очистку сырых тегов (`<tool_call>`).
---
## 2. Настройка контекста и инструкций сессии (`agent.py`)
- [ ] Передать управление диалогом языковой модели через системный блок `role: "system"`.
- [ ] При активном состоянии `PROMPT_PREVIEW` передавать модели инструкцию:
- **Подтверждение / отмена / корректировка:** продолжать работу с превью и вызывать соответствующие инструменты.
- **Смена темы:** вежливо напомнить об открытом изменении и запросить решение.
- [ ] Обеспечить видимость эфемерных сообщений (`is_ephemeral = 1`) для модели во время активной работы с превью.
---
## 3. Очистка эфемерных сообщений при завершении (`fast_path.py`)
- [ ] Настроить удаление временных сообщений превью (`db_purge_ephemeral_messages`) строго в момент нажатия кнопок **«Подтвердить»** или **«Отменить»**.
- [ ] Сбрасывать состояние сессии в базе данных после фиксации решения.
---
## 4. Инлайн-редактор в окне диалога (`core.js`)
- [ ] Проверить работу блока ручного редактирования (`inline-prompt-editor-container`) с кнопками **«Сохранить правки»** и **«Свернуть»**.
- [ ] Обеспечить сохранение черновика через API (`/api/v1/chat/draft`) и отображение обновленного текста перед подтверждением.
---
## 5. Тестирование и валидация
- [ ] **Нативные вызовы:** проверить добавление, редактирование и удаление пунктов через нативные вызовы модели.
- [ ] **Контекстные сценарии:** проверить поведение модели при смене темы диалога оператором.
- [ ] **UI и очистка:** проверить ручное редактирование через кнопку в окне чата и последующую очистку контекста.