Appearance
Практика: harness строит ALGI
Главное правило практической части:
ALGI не пишется заранее руками. Сначала мы пишем минимальный harness, затем harness строит следующие версии самого себя и куски ALGI.
В репозитории теперь есть две практические линии:
| Path | Роль |
|---|---|
examples/harness-labs/ | По-главная цепочка развития harness. |
examples/algi-lite/ | Product seed workspace: ALGI начинается со specs и правил, без готовой реализации. |
Где выполнять команды
Все examples/... пути ниже относятся к репозиторию курса agentic-engineering-course. Склонируйте его и запускайте команды из его корня. Требуется только Python 3.10+, внешних зависимостей нет. Учтите: scripted_fixture в task JSON резолвится относительно директории самого task-файла, поэтому task-файлы не стоит копировать в другое место без fixtures.
Рабочий цикл
Практика должна идти так:
text
previous harness
-> builds current harness improvement
-> current harness builds current ALGI slice
-> logs/checks become evidence for next chapterЭто делает курс честным: мы не рассказываем про harness абстрактно, а выращиваем его по главам и сразу применяем к продукту.
Цепочка глав
| Глава | Действие с harness | Действие с ALGI |
|---|---|---|
| 1. Bootstrap | Руками пишем v01: task JSON -> fixture -> checks. | ALGI остаётся seed-only. |
| 2. Observability | v01 строит v02 с JSONL events. | Нет product change, только harness improvement. |
| 3. First Product Slice | v02 запускает backend output и checks. | Строится pain diary domain slice. |
| 4. Policy Gate | v02 строит v03 с command/path policy. | Нет product change, только safety improvement. |
| 5. Second Product Slice | v03 строит следующий ALGI slice через policy gate. | Строится privacy-safe clinician report. |
| 6. Evaluation | Следующий harness добавляет replay/eval cases. | Pain diary/report становятся regression suite. |
| 7. Team Workflow | Harness генерирует PR risk summary. | ALGI change готов к human review. |
| 8. Lifecycle | Harness/backend получает registry entry. | Product tasks получают owner/risk class. |
Как запустить цепочку
1. Собрать harness v02 через v01
bash
rm -rf /tmp/harness-v02
cp -a examples/harness-labs/harness-seed /tmp/harness-v02
python3 examples/harness-labs/01-manual-runner/runner.py \
--task examples/harness-labs/tasks/02-build-observable-runner.json \
--workspace /tmp/harness-v022. Собрать ALGI pain diary через v02
bash
rm -rf /tmp/algi-ch03
cp -a examples/algi-lite /tmp/algi-ch03
python3 /tmp/harness-v02/runner.py \
--task examples/harness-labs/tasks/algi-01-pain-diary.json \
--workspace /tmp/algi-ch033. Собрать harness v03 через v02
bash
rm -rf /tmp/harness-v03
cp -a /tmp/harness-v02 /tmp/harness-v03
python3 /tmp/harness-v02/runner.py \
--task examples/harness-labs/tasks/03-build-policy-runner.json \
--workspace /tmp/harness-v034. Собрать ALGI clinician report через v03
bash
python3 /tmp/harness-v03/runner.py \
--task examples/harness-labs/tasks/algi-02-clinician-report.json \
--workspace /tmp/algi-ch03 \
--policy /tmp/harness-v03/policies/local-dev.jsonЧто проверять
После запуска цепочки проверьте:
text
/tmp/harness-v02/runner.py
/tmp/harness-v02/runs/*.jsonl
/tmp/harness-v03/runner.py
/tmp/harness-v03/policies/local-dev.json
/tmp/harness-v03/runs/*.jsonl
/tmp/algi-ch03/algi/domain.py
/tmp/algi-ch03/tests/Важное evidence — не только passing tests. Важно видеть всю последовательность:
text
task -> context -> backend output -> policy/checks -> result classificationПочему здесь fixtures, а не реальный agent backend
В live-версии курса backend может быть Codex, OpenCode, Gemini CLI, Claude Code или другой coding agent. В этом repo fixtures делают lab детерминированной и inspectable: у всех читателей получаются одни и те же файлы, checks и logs.
Fixture заменяет "то, что произвёл агент"; harness всё равно контролирует, когда этот output применяется, какие files можно писать, какие checks запускаются и как классифицируется result.
Что можно добавить дальше
Следующие полезные additions:
v04: replay/eval suite;v05: генерация PR risk summary;v06: agent registry и lifecycle-метаданные;- ALGI: настройки notifications;
- ALGI: граница ролей пациента и врача;
- ALGI: frontend visual check для onboarding.