This page is a classroom simulation exercise: multiple agents divide up and collaborate on the same development task, and their candidate changes are all sent to the automated testing and acceptance gateway. Only changes that meet executable acceptance criteria can enter the historical baseline; failing changes are blocked and returned with reproducible feedback. The goal is not to have agents "discuss their way to correctness," but to run the full engineering loop of "collaborative development — automated acceptance — historical inheritance."
Exercise Objectives
- Understand task division, convergence of candidate changes, and the gateway's role in blocking failing changes in multi-agent collaborative development.
- Experience replacing subjective approval with executable tests and acceptance criteria, and observe which candidates enter the baseline and which need retries.
- Compare higher-order issues: whether acceptance rules are reproducible, whether feedback is actionable, the risks of false blocks and missed blocks, and decomposition granularity versus collaboration cost.
Roles and Basic Workflow
The class group can be divided into planning/decomposition agents, implementation agents, test generation agents, and review/coordination agents. Multiple candidate changes may be produced for the same task, and the gateway makes a unified decision.
- Task decomposition: break the goal into independently verifiable subtasks, such as "interface validation — algorithm fix — regression test."
- Parallel implementation: multiple implementation agents submit candidate patches while test agents generate boundary test cases.
- Automated acceptance: run automated tests, static checks, and contract checks, and let the acceptance gateway judge by executable criteria.
- Historical inheritance: accepted changes are merged into the historical baseline and become the basis for subsequent agents' work; rejected changes retain the failure reasons and reproduction information for retries.
Acceptance Gateway Criteria
The gateway's criteria must be executable and cannot stop at "looks correct." It should primarily block changes that violate interface contracts, introduce regressions, fail to cover boundary conditions, or breach quality constraints. Usable feedback should at minimum include: failed cases, logs, reproduction steps, expected behavior, and relevant constraints.
Historical Inheritance and Higher-Order Observations
Once accepted changes enter the baseline, subsequent agents no longer start from scratch; rejected changes become searchable negative examples that help avoid repeating mistakes. When evaluating such collaborative systems, pay special attention to whether acceptance rules are reproducible, whether feedback is actionable, and the different risks posed by false blocks and missed blocks. Overly fine decomposition raises merge and acceptance costs, while overly coarse decomposition lets candidate changes overwrite each other; a more reliable approach is to split along "independently verifiable" boundaries.
