chore(i18n): refresh uk translations
This commit is contained in:
parent
9e3b659a4c
commit
a2aa39d2d5
@ -2,50 +2,50 @@
|
||||
read_when:
|
||||
- Розширення qa-lab або qa-channel
|
||||
- Додавання QA-сценаріїв із підтримкою репозиторію
|
||||
- Побудова QA-автоматизації з вищим рівнем реалістичності навколо панелі Gateway
|
||||
summary: Форма приватної QA-автоматизації для qa-lab, qa-channel, початково заданих сценаріїв і звітів протоколу
|
||||
title: QA E2E-автоматизація
|
||||
- Побудова реалістичнішої QA-автоматизації навколо панелі Gateway
|
||||
summary: Форма приватної QA-автоматизації для qa-lab, qa-channel, сценаріїв із початковими даними та звітів про протокол
|
||||
title: QA E2E автоматизація
|
||||
x-i18n:
|
||||
generated_at: "2026-04-09T00:06:02Z"
|
||||
generated_at: "2026-04-09T00:27:53Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 6ee5f55b98e46d1cd0b7ffdea96b0c8b5c1681803c69bdbcbe10dae14e62182b
|
||||
source_hash: c922607d67e0f3a2489ac82bc9f510f7294ced039c1014c15b676d826441d833
|
||||
source_path: concepts/qa-e2e-automation.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# QA E2E-автоматизація
|
||||
# QA E2E автоматизація
|
||||
|
||||
Приватний стек QA призначений для тестування OpenClaw у реалістичніший,
|
||||
Приватний стек QA призначений для перевірки OpenClaw у реалістичніший,
|
||||
орієнтований на канали спосіб, ніж це може зробити один модульний тест.
|
||||
|
||||
Поточні складові:
|
||||
|
||||
- `extensions/qa-channel`: синтетичний канал повідомлень із поверхнями DM, каналу, треду,
|
||||
- `extensions/qa-channel`: синтетичний канал повідомлень із поверхнями для DM, каналу, гілки,
|
||||
реакцій, редагування та видалення.
|
||||
- `extensions/qa-lab`: UI налагодження та QA-шина для спостереження за транскриптом,
|
||||
інʼєкції вхідних повідомлень і експорту Markdown-звіту.
|
||||
- `qa/`: ресурси початкового наповнення з підтримкою репозиторію для стартового завдання та базових QA-
|
||||
- `extensions/qa-lab`: UI налагодження та шина QA для спостереження за транскриптом,
|
||||
інʼєкції вхідних повідомлень і експорту звіту в Markdown.
|
||||
- `qa/`: ресурси початкових даних із підтримкою репозиторію для стартового завдання та базових QA
|
||||
сценаріїв.
|
||||
|
||||
Поточний процес роботи оператора QA — це двопанельний QA-сайт:
|
||||
Поточний робочий процес оператора QA — це двопанельний сайт QA:
|
||||
|
||||
- Ліворуч: панель Gateway (Control UI) з агентом.
|
||||
- Праворуч: QA Lab, де показано транскрипт у стилі Slack і план сценарію.
|
||||
- Праворуч: QA Lab, що показує транскрипт у стилі Slack і план сценарію.
|
||||
|
||||
Запустіть це так:
|
||||
Запустіть це командою:
|
||||
|
||||
```bash
|
||||
pnpm qa:lab:up
|
||||
```
|
||||
|
||||
Це збирає QA-сайт, запускає lane Gateway на основі Docker і відкриває
|
||||
Це збирає сайт QA, запускає лінію Gateway на основі Docker і відкриває
|
||||
сторінку QA Lab, де оператор або цикл автоматизації може дати агенту QA-
|
||||
місію, спостерігати реальну поведінку каналу та фіксувати, що спрацювало, що
|
||||
не спрацювало або що залишилося заблокованим.
|
||||
завдання, спостерігати реальну поведінку каналу та записувати, що спрацювало,
|
||||
що не спрацювало або що залишилося заблокованим.
|
||||
|
||||
Для швидшої ітерації UI QA Lab без перебудови Docker-образу щоразу
|
||||
запустіть стек із QA Lab bundle, змонтованим через bind mount:
|
||||
Для швидшої ітерації UI QA Lab без повторного збирання Docker-образу щоразу
|
||||
запустіть стек із bind-mounted бандлом QA Lab:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa docker-build-image
|
||||
@ -54,13 +54,14 @@ pnpm qa:lab:up:fast
|
||||
pnpm qa:lab:watch
|
||||
```
|
||||
|
||||
`qa:lab:up:fast` залишає сервіси Docker на попередньо зібраному образі та монтує через bind mount
|
||||
`qa:lab:up:fast` залишає сервіси Docker на попередньо зібраному образі та bind-mount
|
||||
`extensions/qa-lab/web/dist` у контейнер `qa-lab`. `qa:lab:watch`
|
||||
перезбирає цей bundle при змінах, а браузер автоматично перезавантажується, коли змінюється хеш ресурсів QA Lab.
|
||||
перезбирає цей бандл при змінах, а браузер автоматично перезавантажується, коли
|
||||
змінюється хеш ресурсів QA Lab.
|
||||
|
||||
## Початкові дані з підтримкою репозиторію
|
||||
|
||||
Ресурси початкового наповнення розміщені в `qa/`:
|
||||
Ресурси початкових даних розміщені в `qa/`:
|
||||
|
||||
- `qa/scenarios/index.md`
|
||||
- `qa/scenarios/*.md`
|
||||
@ -69,38 +70,37 @@ pnpm qa:lab:watch
|
||||
агенту. Базовий список має залишатися достатньо широким, щоб охоплювати:
|
||||
|
||||
- чати в DM і каналах
|
||||
- поведінку тредів
|
||||
- поведінку гілок
|
||||
- життєвий цикл дій із повідомленнями
|
||||
- cron-зворотні виклики
|
||||
- відтворення з памʼяті
|
||||
- виклик спогадів із памʼяті
|
||||
- перемикання моделей
|
||||
- передавання підзадач субагенту
|
||||
- читання репозиторію та документації
|
||||
- одне невелике завдання зі збірки, наприклад Lobster Invaders
|
||||
- одне невелике завдання зі збирання, наприклад Lobster Invaders
|
||||
|
||||
## Звітування
|
||||
|
||||
`qa-lab` експортує Markdown-звіт протоколу на основі спостережуваної часової шкали шини.
|
||||
Звіт має відповідати на такі питання:
|
||||
`qa-lab` експортує звіт про протокол у Markdown зі спостережуваної часової шкали шини.
|
||||
Звіт має відповідати на такі запитання:
|
||||
|
||||
- Що спрацювало
|
||||
- Що не спрацювало
|
||||
- Що залишилося заблокованим
|
||||
- Які сценарії для подальшого опрацювання варто додати
|
||||
- Які додаткові сценарії варто додати
|
||||
|
||||
Для перевірок характеру й стилю виконайте той самий сценарій на кількох refs живих моделей
|
||||
і створіть оцінений Markdown-звіт:
|
||||
Для перевірок характеру та стилю запускайте той самий сценарій для кількох live model
|
||||
refs і створюйте оцінений звіт у Markdown:
|
||||
|
||||
```bash
|
||||
pnpm openclaw qa character-eval \
|
||||
--model openai/gpt-5.4,thinking=xhigh \
|
||||
--model openai/gpt-5.2,thinking=xhigh \
|
||||
--model openai/gpt-5,thinking=xhigh \
|
||||
--model anthropic/claude-opus-4-6,thinking=high \
|
||||
--model anthropic/claude-sonnet-4-6,thinking=high \
|
||||
--model minimax/MiniMax-M2.7,thinking=high \
|
||||
--model zai/glm-5.1,thinking=high \
|
||||
--model moonshot/kimi-k2.5,thinking=high \
|
||||
--model qwen/qwen3.5-plus,thinking=high \
|
||||
--model google/gemini-3.1-pro-preview,thinking=high \
|
||||
--judge-model openai/gpt-5.4,thinking=xhigh,fast \
|
||||
--judge-model anthropic/claude-opus-4-6,thinking=high \
|
||||
@ -109,39 +109,39 @@ pnpm openclaw qa character-eval \
|
||||
--judge-concurrency 16
|
||||
```
|
||||
|
||||
Команда запускає локальні дочірні процеси QA gateway, а не Docker. Сценарії оцінювання характеру
|
||||
мають задавати персону через `SOUL.md`, а потім виконувати звичайні користувацькі ходи,
|
||||
такі як чат, допомога з робочим простором і невеликі файлові завдання. Моделі-кандидату
|
||||
не слід повідомляти, що її оцінюють. Команда зберігає кожен повний
|
||||
транскрипт, записує базову статистику виконання, а потім звертається до моделей-суддів у fast mode з
|
||||
міркуванням `xhigh`, щоб вони ранжували запуски за природністю, вайбом і гумором.
|
||||
Використовуйте `--blind-judge-models` під час порівняння провайдерів: запит до судді все одно отримує
|
||||
кожен транскрипт і статус виконання, але refs кандидатів замінюються нейтральними
|
||||
мітками на кшталт `candidate-01`; після розбору звіт зіставляє ранжування з реальними refs.
|
||||
Для запусків кандидатів за замовчуванням використовується рівень мислення `high`, а для моделей OpenAI, які це підтримують, — `xhigh`.
|
||||
Перевизначте конкретного кандидата безпосередньо через
|
||||
`--model provider/model,thinking=<level>`. `--thinking <level>` як і раніше задає
|
||||
глобальне резервне значення, а старіша форма `--model-thinking <provider/model=level>` збережена
|
||||
Команда запускає локальні дочірні процеси QA gateway, а не Docker. Сценарії
|
||||
оцінювання характеру мають задавати персону через `SOUL.md`, а потім виконувати звичайні
|
||||
ходи користувача, такі як чат, допомога з робочим простором і невеликі файлові завдання. Моделі-
|
||||
кандидату не слід повідомляти, що її оцінюють. Команда зберігає кожен повний
|
||||
транскрипт, записує базову статистику запуску, а потім просить моделі-судді в режимі fast з
|
||||
міркуванням `xhigh` ранжувати запуски за природністю, вайбом і гумором.
|
||||
Використовуйте `--blind-judge-models` під час порівняння провайдерів: запит судді все одно отримує
|
||||
кожен транскрипт і статус запуску, але посилання кандидатів замінюються нейтральними
|
||||
мітками, такими як `candidate-01`; після розбору звіт зіставляє рейтинги з реальними refs.
|
||||
Для запусків кандидатів за замовчуванням використовується рівень thinking `high`, а для моделей OpenAI, що
|
||||
його підтримують, — `xhigh`. Перевизначте конкретного кандидата безпосередньо через
|
||||
`--model provider/model,thinking=<level>`. `--thinking <level>` і надалі задає
|
||||
глобальний запасний варіант, а старіша форма `--model-thinking <provider/model=level>` зберігається
|
||||
для сумісності.
|
||||
Для refs кандидатів OpenAI за замовчуванням використовується fast mode, щоб задіяти пріоритетну обробку там,
|
||||
де провайдер це підтримує. Додайте `,fast`, `,no-fast` або `,fast=false` безпосередньо, якщо
|
||||
для окремого кандидата або судді потрібне перевизначення. Передавайте `--fast` лише тоді, коли хочете
|
||||
примусово ввімкнути fast mode для кожної моделі-кандидата. Тривалість роботи кандидатів і суддів
|
||||
записується у звіт для аналізу бенчмарків, але в запитах до суддів прямо зазначено,
|
||||
Для кандидатських refs OpenAI за замовчуванням використовується режим fast, щоб задіяти пріоритетну
|
||||
обробку там, де провайдер це підтримує. Додайте `,fast`, `,no-fast` або `,fast=false` безпосередньо, коли
|
||||
потрібно перевизначити це для одного кандидата або судді. Передавайте `--fast` лише тоді, коли хочете
|
||||
примусово ввімкнути режим fast для кожної моделі-кандидата. Тривалість кандидатів і суддів
|
||||
записується у звіт для порівняльного аналізу, але в запитах до суддів прямо зазначено,
|
||||
що не слід ранжувати за швидкістю.
|
||||
І для запусків моделей-кандидатів, і для запусків моделей-суддів за замовчуванням використовується concurrency 16. Зменшуйте
|
||||
`--concurrency` або `--judge-concurrency`, якщо обмеження провайдера або навантаження на локальний gateway
|
||||
Для запусків моделей-кандидатів і моделей-суддів за замовчуванням встановлено concurrency 16. Зменшуйте
|
||||
`--concurrency` або `--judge-concurrency`, коли обмеження провайдера або навантаження на локальний gateway
|
||||
роблять запуск надто шумним.
|
||||
Якщо не передано жодного кандидата `--model`, для character eval за замовчуванням використовуються
|
||||
`openai/gpt-5.4`, `openai/gpt-5.2`, `anthropic/claude-opus-4-6`,
|
||||
`anthropic/claude-sonnet-4-6`, `minimax/MiniMax-M2.7`, `zai/glm-5.1`,
|
||||
`moonshot/kimi-k2.5`, `qwen/qwen3.5-plus` і
|
||||
Якщо не передано жодного кандидатського `--model`, для оцінювання характеру за замовчуванням використовуються
|
||||
`openai/gpt-5.4`, `openai/gpt-5.2`, `openai/gpt-5`, `anthropic/claude-opus-4-6`,
|
||||
`anthropic/claude-sonnet-4-6`, `zai/glm-5.1`,
|
||||
`moonshot/kimi-k2.5` і
|
||||
`google/gemini-3.1-pro-preview`, якщо не передано `--model`.
|
||||
Якщо не передано `--judge-model`, за замовчуванням як судді використовуються
|
||||
Якщо не передано `--judge-model`, суддями за замовчуванням є
|
||||
`openai/gpt-5.4,thinking=xhigh,fast` і
|
||||
`anthropic/claude-opus-4-6,thinking=high`.
|
||||
|
||||
## Пов’язані документи
|
||||
## Повʼязані документи
|
||||
|
||||
- [Тестування](/uk/help/testing)
|
||||
- [QA Channel](/uk/channels/qa-channel)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user