|
Автодетализация: теги, приоритет и оценка времени (0.93)
ИИ переписывал заголовок и описание — и портил их: контекста задачи у модели нет, поэтому сжатый текст терял важные детали или менял суть. А карточка предложения принимает всё или ничего, так что верно угаданные теги приходилось отклонять из-за кривого описания. Теперь ИИ предлагает только то, где он полезен: теги, градацию приоритета и оценку длительности. - теги ДОПОЛНЯЮТ назначенные, а не заменяют их — потому существующие теги задачи идут в контекст промпта отдельной строкой с правилом «не повторяй» (раньше теги предлагались, только когда у задачи нет ни одного); - приоритет просим градацией интерфейса (very_low…urgent), число шкалы 0-10 считаем сами: маленькой модели выбрать слово проще, чем откалибровать число. Выдуманные ею градации («Very High», «critical», «normal») притягиваются к ближайшей из пяти, иначе ответ пропадал бы целиком; - оценка в минутах, границы 5…1440 (как ge=1, le=24*60 в схеме), округление до 5 минут. Она же включает задачу в режим «3 варианта», куда задачи без оценки попадали лишь фолбэком; - применение безопасно по определению: теги сливаются, приоритет и оценка пишутся только в пустое поле. Проверка «пусто» стоит в apply_proposal, а не только в промпте: владелец мог проставить приоритет, пока модель думала, — перетирать его нельзя. Заголовок и описание не трогаются вовсе; - флаг force у detail_task убран: переспрос всё равно ничего не перетирает, «перепредложить всё» потеряло смысл. «Переспросить ИИ» теперь сбрасывает предложение и анализирует текущий текст задачи; - пустой ответ модели («добавить нечего») карточку не показывает — молчим, как и просил владелец. Сырую задачу в этом случае утверждают из меню шапки (и в стеке кнопка утверждения остаётся); «Детализация подбирается…» в стеке показывается только пока ai_proposal === null, то есть пока ИИ думает; - в интерфейсе из предложения ушли строки заголовка, описания и проекта; сниппет карточки в списке сводится к тегам («Средний · ≈ 30 мин» текстом задачи не читается), из промпта внешнего агента описание тоже уходит. Живой прогон на qwen3.5:2b-q4_K_M (временный пользователь): оценки осмысленны, но шумны (одна задача давала 15/25/30/45/60 мин от прогона к прогону), приоритет в основном попадает, но бывает завышен (смазка петель двери → urgent), теги — слабое место: модель редко переиспользует русский каталог и придумывает английские. Понижение температуры до 0.1 даёт стабильность, но выравнивает всё (приоритет почти всегда low, оценка всегда 15), поэтому оставлено как есть. ТЗ 0.93: §3.2, §3.4, §3.11, §3.22, §5, §7, §8 п.2 (решение 2026-09-22 отменено, решение 2026-09-19 подтверждено). |
|---|
|
|
| backend/app/api/tasks.py |
|---|
| backend/app/models.py |
|---|
| backend/app/services/detailing.py |
|---|
| backend/tests/test_detailing.py |
|---|
| backend/tests/test_predict.py |
|---|
| docs/TZ.md |
|---|
| frontend/src/aiPrompt.ts |
|---|
| frontend/src/api.ts |
|---|
| frontend/src/components/TaskCard.vue |
|---|
| frontend/src/locales/en.ts |
|---|
| frontend/src/locales/ru.ts |
|---|
| frontend/src/locales/uk.ts |
|---|
| frontend/src/taskui.ts |
|---|
| frontend/src/views/StackView.vue |
|---|
| frontend/src/views/TaskView.vue |
|---|