29 lines
1.0 KiB
Markdown
29 lines
1.0 KiB
Markdown
# EGPv3
|
|
|
|
EGPv3 is a debate-then-judge extension of EGP for SafeHome anomaly analysis.
|
|
|
|
- It does **not** expose `SQ1-SQ5` labels to the model.
|
|
- It replaces the serial veto chain with:
|
|
- a neutral `Extractor`
|
|
- a recall-oriented `Prosecutor`
|
|
- a precision-oriented `Defender`
|
|
- a final `Judge`
|
|
- The Judge sees the same raw focused evidence as both sides, reducing information decay.
|
|
|
|
## Files
|
|
|
|
- `api_client.py`: OpenAI-compatible API client, optional API key, supports `--thinking` / `--no-thinking`
|
|
- `benchmark.py`: episode collection and resume helpers
|
|
- `signals.py`: deterministic chunking and structured signal extraction
|
|
- `prompts.py`: extractor / prosecutor / defender / judge prompts
|
|
- `pipeline.py`: debate orchestration
|
|
- `run_egpv3.py`: CLI runner
|
|
|
|
## Quick test
|
|
|
|
```bash
|
|
python EGPv3/run_egpv3.py --preview-only --max-episodes 1 --output-dir results/egpv3_preview
|
|
```
|
|
|
|
`preview-only` only materializes prompts and traces. It does not call a model, so `UNPARSEABLE` in the preview summary is expected.
|