Thomas Piacentini
← Atelier

Projet

Multi-Agent Code Review Panel

Texte original · anglais480 min

A review disagreement workbench that measures when quorum helps and when it hides findings.

Node 22.18+ and Python 3 for the grader; TypeScript objects, sets, promises, AbortSignal and precision/recall. The core uses standard libraries. The grader checks your selected workspace; it never fills in missing behavior from the reference.

Build and run your version

From the repository root, initialize once. A fresh starter fails intentionally.

bash
python3 scripts/project_test.py multi-agent-code-review-panel --init learning-artifacts/multi-agent-code-review-panel
python3 scripts/project_test.py multi-agent-code-review-panel --stage 1 --path learning-artifacts/multi-agent-code-review-panel --strict

Implement each stage, then run the cumulative grader and the supplied input driver:

bash
python3 scripts/project_test.py multi-agent-code-review-panel --all --path learning-artifacts/multi-agent-code-review-panel --strict
cd learning-artifacts/multi-agent-code-review-panel
node cli.ts --input samples/review.json --output panel.json --html panel.html

The driver and offline samples are provided scaffolding. Its imports resolve to your implementation. Public input types and function signatures live in the starter and API contract.

Inspect the reference separately

From the repository root:

bash
python3 scripts/project_test.py multi-agent-code-review-panel --all --solution --strict
cd projects/multi-agent-code-review-panel/solution
node cli.ts --input samples/review.json --output panel.json --html panel.html

Observe the change

The broad reviewer flags a comment and two real candidates: precision 2/3. Quorum removes the lone comment false positive and reaches precision 1 while preserving the TLS severity disagreement. A budget of1 produces no consensus.

Edit a copy of the sample and rerun the command. Keep the input beside the output so someone else can reproduce the result; the supplied samples are authored teaching data.

Integration and limits

Input files maps names to text or lines. Optional reviewers contain id,cost,findings recordings. Expected labels use {file,line,rule}; the report records the source fingerprint and per-reviewer versus consensus metrics.

Local reviewers are distinct static heuristics, not independent LLMs. Consensus measures support, not truth. External callbacks must honor AbortSignal; timeout cannot undo a remote side effect.

Stages

  1. Validate reviewer evidence
  2. Aggregate independent support
  3. Reserve costs and enforce deadlines
  4. Measure panel precision and recall

Primary references

AbortController in Node Node test runner

Reuse a PR review receipt

Run PR Review Reporter on an authored diff, then provide its schema_version1 output with --pr-report /path/review.json and a matching full source snapshot:

bash
node cli.ts --input samples/pr-snapshot.json --pr-report /path/review.json --output composed-panel.json

The adapter converts high/medium/low severity to3/2/1, preserves file/line/rule identity and records pr_diff_sha256. Imported findings still pass the panel's source quote gate. This proves artifact compatibility; it does not turn correlated lexical detectors into independent judgments.

Code et livrables 38
Ce que vous en retenez

Enregistré dans votre carnet sur cet appareil.

Sources et limites

Les repères de lecture sont déclaratifs. Les résultats de tests sont enregistrés séparément ; ils valent pour les cas exécutés.

AI Engineering from Scratch · 3f9715c · MIT

Télécharger ce fichier ↓