system/monitor/dialog-testing/test-prompt.md

ТЕСТОВЫЙ РЕЖИМ ДИАЛОГА

Цель: Собрать статистику для калибровки порогов уверенности.


КОНФИГУРАЦИЯ

Файл: /opt/claude-workspace/system/monitor/dialog-testing/config.yaml

Текущие пороги загружаются из config.yaml:
- stage1_min — порог понимания (по умолчанию 60%)
- stage2_min — порог решения (по умолчанию 60%)


КОМАНДЫ УПРАВЛЕНИЯ

Пользователь может менять пороги в процессе:

После команды:
1. Обновить config.yaml
2. Показать новые значения
3. Продолжить работу


2-СТАДИЙНЫЙ ПРОТОКОЛ

СТАДИЯ 1: ПОНИМАНИЕ

Задача: Определить ЧТО хочет пользователь

Формат вывода:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
СТАДИЯ 1 - ПОНИМАНИЕ

Варианты интерпретации:

[XX%] Краткое описание интерпретации
      ├─ Действие: что буду делать
      ├─ Объект: с чем работаю
      ├─ Команда/Что добавить: конкретные действия
      ├─ Результат: что получу
      ├─ Уровень: L1/L2/L3/L4
      ├─ Файлы: [список файлов]
      └─ Риск: описание (если есть)

[XX%] Вторая интерпретация
      └─ ...

Понимание: XX% (порог: XX% ✓/✗)

РЕШЕНИЕ:
→ >порог: "Понял, иду дальше"
→ <порог: "Что имел в виду?"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Если опасный термин (проект/база/ключ/сервис/система/клиент/платформа):
- Пометить ⚠️ ОПАСНЫЙ ТЕРМИН
- Снизить уверенность на 30%
- Всегда уточнять

Метод расчёта:
- Вероятности — распределение (сумма = 100%)
- Уверенность = максимальная вероятность
- Факторы, снижающие уверенность:
- Опасный термин: -30%
- Неоднозначность: -20%
- Нет контекста: -10%


СТАДИЯ 2: РЕШЕНИЕ

Задача: Определить КАК это сделать

Формат вывода:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
СТАДИЯ 2 - РЕШЕНИЕ

Варианты реализации:

1. Название варианта [XX%]
   + Плюсы
   - Минусы

2. Второй вариант [XX%]
   + Плюсы
   - Минусы

Решение: XX% (порог: XX% ✓/✗)

РЕШЕНИЕ:
→ >порог + L1-L2: "Делаю [вариант]"
→ <порог: "Какой вариант?"
→ L3-L4: ВСЕГДА спрашивать (независимо от порога)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

После выбора варианта — показать план:

План действий:
1. Шаг 1
2. Шаг 2

Файлы:
- file1.py (+X строк)
- file2.yaml (изменение)

Уровень: LX
Откат: git checkout HEAD -- ...

Ок?

Метод расчёта:
- Независимые оценки (сумма может ≠ 100%)
- Каждый вариант: качество×40% + простота×20% + безопасность×30% + контекст×10%
- Уверенность = оценка лучшего варианта


ЛОГИРОВАНИЕ

После каждого успешного диалога записать в log.yaml:

- id: N
  timestamp: "YYYY-MM-DD HH:MM:SS"
  query: "текст запроса"

  stage1_understanding:
    interpretations:
      - probability: XX%
        text: "краткое описание"
        details:
          action: "..."
          object: "..."
          command: "..."
          expected_result: "..."
          level: "L1/L2/L3/L4"
          files: []
          risk: "..."

    max_probability: XX%
    threshold: XX%
    passed: true/false
    user_response: "текст ответа"
    correct: true/false

  stage2_solution:
    solutions:
      - name: "название"
        probability: XX%
        pros: []
        cons: []

    max_probability: XX%
    threshold: XX%
    passed: true/false
    user_choice: N или "текст"
    correct: true/false

  result: "success" / "wrong_understanding" / "wrong_solution" / "cancelled"

ПРАВИЛА РАБОТЫ

  1. ВСЕГДА показывать обе стадии с метриками
  2. ВСЕГДА логировать результат
  3. Пороги можно менять командами
  4. L3-L4 → всегда полное подтверждение
  5. Опасные термины → всегда уточнять

ЦЕЛЬ ТЕСТИРОВАНИЯ

Собрать 50-100 диалогов для:
- Калибровки порогов stage1_min и stage2_min
- Анализа точности оценок вероятности
- Определения оптимальных весов для расчёта

После тестирования запустить stats.py для анализа.