docs: оценка LLM, cross-validation стратегия, приоритеты
This commit is contained in:
@@ -530,3 +530,60 @@ python web/app.py
|
|||||||
Без жалобы LLM скажет: «топливная система, форсунки, MAP/MAF»
|
Без жалобы LLM скажет: «топливная система, форсунки, MAP/MAF»
|
||||||
С жалобой LLM скажет: «свечи/катушки — на холодную зазор меньше, искра слабее;
|
С жалобой LLM скажет: «свечи/катушки — на холодную зазор меньше, искра слабее;
|
||||||
после прогрева металл расширяется и контакт восстанавливается»
|
после прогрева металл расширяется и контакт восстанавливается»
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 22:00 — Оценка качества LLM и стратегия
|
||||||
|
|
||||||
|
### Тестирование gpt-oss-120b
|
||||||
|
|
||||||
|
**Данные:** P0301, P0303, ОЖ=50°C, RPM=1726, Нагрузка=25.1%, STFT=0%, Дроссель=50.2%
|
||||||
|
|
||||||
|
**Результат:** модель проигнорировала русские метки («Нагрузка», «STFT») и выдумала:
|
||||||
|
- PID 0104 → «O₂-датчик 1, 0.32V — бедная смесь» (на самом деле: Calculated Load 25.1%)
|
||||||
|
- PID 0106 → «O₂-датчик 2, 0.64V» (на самом деле: STFT 0%)
|
||||||
|
- На этой галлюцинации построила весь диагноз про вакуумные утечки
|
||||||
|
|
||||||
|
**Вывод:** gpt-oss-120b уверенно и красиво врёт. Не знает OBD2 PID-маппинг.
|
||||||
|
|
||||||
|
### Тестирование qwen3-6-27b-fp8
|
||||||
|
|
||||||
|
**Результат:**
|
||||||
|
- Тоже ошиблась в PID-маппинге (0104=Throttle, 0106=IAT, 0111=MAF)
|
||||||
|
- НО проявила метакогницию: заметила расхождение меток с данными, перепроверяла
|
||||||
|
- Потратила все токены на CoT-размышления (вытекли в ответ)
|
||||||
|
|
||||||
|
**Вывод:** умнее чем gpt-oss, но формат ответа сломан (CoT-утечка).
|
||||||
|
|
||||||
|
### Общий вывод по LLM
|
||||||
|
|
||||||
|
| Модель | PID-точность | Метакогниция | Формат | Вердикт |
|
||||||
|
|--------|-------------|-------------|--------|---------|
|
||||||
|
| gpt-oss-120b | ❌ 0% | ❌ уверенно врёт | ✅ | Опасен |
|
||||||
|
| qwen3-6-27b-fp8 | ❌ 0% | ✅ сомневается | ❌ CoT-утечка | Перспективен |
|
||||||
|
|
||||||
|
**Корень проблемы:** ни одна LLM не обучалась на OBD2 PID-номерах.
|
||||||
|
Решение: не подавать PID-номера в промпт, только декодированные названия + PID-справочник в SYSTEM_PROMPT.
|
||||||
|
|
||||||
|
### Стратегия качества LLM (на будущее)
|
||||||
|
|
||||||
|
1. **Cross-Validation:** один запрос → две разные модели → сравнить
|
||||||
|
- Совпали → ✅ надёжно
|
||||||
|
- Разошлись → ⚠️ показать обе версии
|
||||||
|
- Одна призналась «не знаю» → отфильтровать
|
||||||
|
|
||||||
|
2. **Промпт-самозащита:** «Если НЕ уверен в расшифровке — честно напиши "не знаю". НИКОГДА не выдумывай.»
|
||||||
|
|
||||||
|
3. **Выбор модели — юзером:** `config.yaml` позволяет сменить модель/ключ/URL без кода.
|
||||||
|
Пользователь сам платит за качество: от бесплатного gpt-oss до Claude Opus.
|
||||||
|
|
||||||
|
4. **Архитектурно готово:** `diagnose.py` уже параметризован — любой OpenAI-совместимый API.
|
||||||
|
|
||||||
|
### Приоритеты
|
||||||
|
|
||||||
|
| Приоритет | Задача | Почему |
|
||||||
|
|-----------|--------|--------|
|
||||||
|
| 🔴 **P0** | Физическое взаимодействие с ELM327 | Самое сложное, без этого ничего не работает |
|
||||||
|
| 🟡 **P1** | ScriptRunner v2 (защитное чтение) | Надёжность на уровне протокола |
|
||||||
|
| 🟢 **P2** | Трёхфазный флоу с жалобами | UX, можно потом |
|
||||||
|
| 🔵 **P3** | Cross-validation LLM | Серверная логика, не блокирует клиент |
|
||||||
|
|||||||
Reference in New Issue
Block a user