Multi-agent demos you can actually reproduce
Описание и применение
Разделение персон, логики выполнения и UI в шаблоне Séance обеспечивает детерминированные, тестируемые демо многопользовательских агентов. Property‑based тесты выявили и исправили ошибку подсчёта баллов, а шаблон поддерживает несколько доменов без изменений ядра.
Задача
Multi-agent demos often entangle persona definition, run logic, and UI rendering, making testing, replaying, and updates difficult.
Результат
By separating personas, run logic, and UI, the author achieved deterministic, testable multi-agent demos. Property-based testing uncovered a scoring bug, which was fixed by adjusting the formula. The template supports multiple domains without engine changes.
Рабочий процесс
- Define personas in YAML files.
- Implement runRoom({artifact, personas, seed}) as a pure function that returns a Transcript.
- Render the Transcript in the UI.
- Use a seed to control wording without randomness or I/O.
- Run property-based tests with fast-check to validate invariants.
- Fix scoring bug by using a capacity independent of findings.
- Deploy the template with two demo apps without modifying the engine.
- Re-run demos with a new seed to see voice changes without changing evidence.
Доказательства
Séance splits them: personas are YAML, the run is a pure function, the UI takes a transcript.
No Math.random(), no Date.now(), no crypto.randomUUID() inside seance-core.
The score could go down when you pointed at a new risk.
- Дата записи: 2026-11-02T04:58:59.663Z