Skip to content

Commit 29bddb1

Browse files
committed
docs: add public benchmark documentation
1 parent d2031a8 commit 29bddb1

3 files changed

Lines changed: 131 additions & 3 deletions

File tree

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ The Agentic Epistemology Framework (AEF) provides a principled approach to model
99
## Key Features
1010

1111
- **Epistemic Modeling**: Explicit representation of beliefs, justifications, confidence levels, and frames.
12-
- **Frame-Based Reasoning**: Support for different cognitive perspectives that influence belief formation and update.
13-
- **Multi-Agent Interactions**: Mechanisms for conflict detection and resolution through justification exchange.
12+
- **Facet-Conditioned Auditability**: First-class support for auditing whether synthetic personas faithfully express selected facet values and composed frames.
13+
- **Facet Influence Ledger**: Records selected facets, prompt hashes, runtime weights, marker coverage, contradictions, and recommended debug actions.
14+
- **Counterfactual Diagnosis**: Supports facet removal/swap probes to estimate whether persona behavior changes in the expected direction.
1415
- **Observer Pattern**: Comprehensive tracing of epistemic events for transparency and debugging.
15-
- **Modular Architecture**: Flexible, extensible components that can be integrated into various agent architectures.
16+
- **Public Benchmarks**: Deterministic benchmark harnesses for root-cause diagnosis, facet-frame faithfulness, and the AEF audit service.
1617

1718
## Installation
1819

@@ -27,6 +28,16 @@ npm run build
2728

2829
## Getting Started
2930

31+
Run the public benchmarks:
32+
33+
```bash
34+
npx ts-node --transpile-only examples/root-cause-benchmark.ts --seed=42 --cases=160
35+
npx ts-node --transpile-only examples/facet-frame-faithfulness-benchmark.ts --seed=42 --cases=200
36+
npx ts-node --transpile-only examples/facet-faithfulness-audit-experiment.ts
37+
```
38+
39+
See `benchmarks/README.md` for result schemas and current reference results.
40+
3041
Clone the repository and run the Debate Simulation using ts-node:
3142

3243
### macOS / Linux

benchmarks/README.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# AEF Public Benchmarks
2+
3+
This directory documents the reproducible benchmark harnesses included with the Agentic Epistemology Framework.
4+
5+
The benchmark code lives in `examples/` so it can run directly against the TypeScript source without a package publish step.
6+
7+
## Benchmarks
8+
9+
### 1. Generic root-cause benchmark
10+
11+
Tests whether structured epistemic traces recover injected agent failure causes.
12+
13+
```bash
14+
npx ts-node --transpile-only examples/root-cause-benchmark.ts --seed=42 --cases=160
15+
```
16+
17+
Outputs:
18+
19+
```text
20+
results/root-cause-benchmark/
21+
├── cases.json
22+
├── metrics.json
23+
├── metrics.csv
24+
├── metrics-table.tex
25+
├── confusion-full.json
26+
├── confusion-event-only.json
27+
├── qualitative-example.json
28+
└── accuracy-by-condition.svg
29+
```
30+
31+
Primary metric: diagnosis accuracy by trace condition.
32+
33+
### 2. Facet-frame faithfulness benchmark
34+
35+
Tests whether facet-aware traces improve diagnosis of synthetic persona failures such as facet omission, facet misweighting, facet conflict, persona drift, and response-style violation.
36+
37+
```bash
38+
npx ts-node --transpile-only examples/facet-frame-faithfulness-benchmark.ts --seed=42 --cases=200
39+
```
40+
41+
Outputs:
42+
43+
```text
44+
results/facet-frame-faithfulness/
45+
├── cases.json
46+
├── metrics.json
47+
├── metrics.csv
48+
├── metrics-table.tex
49+
├── qualitative-example.json
50+
└── accuracy-by-condition.svg
51+
```
52+
53+
Primary metric: diagnosis accuracy and macro F1 by trace condition.
54+
55+
### 3. Facet faithfulness audit service experiment
56+
57+
Tests the implemented `FacetFaithfulnessAuditService` on Vurvey-style persona cases with prompt provenance, marker coverage, contradictions, counterfactual sensitivity, calibration, and signal-to-noise scoring.
58+
59+
```bash
60+
npx ts-node --transpile-only examples/facet-faithfulness-audit-experiment.ts
61+
```
62+
63+
Outputs:
64+
65+
```text
66+
results/facet-faithfulness-audit-experiment/
67+
├── cases.json
68+
├── audits.json
69+
├── metrics.json
70+
├── metrics-table.tex
71+
└── diagnosis-accuracy.svg
72+
```
73+
74+
Primary metric: diagnosis accuracy by evidence condition.
75+
76+
## Reproducibility notes
77+
78+
- All public benchmark inputs are synthetic fixtures.
79+
- The harnesses require no Vurvey credentials, no private database, and no model API calls.
80+
- The Vurvey real-generation counterfactual results included in the paper are reported only as sanitized aggregates under `results/vurvey-*`; raw persona text and raw database fixture rows are intentionally excluded.
81+
82+
## Current reference results
83+
84+
### Generic root-cause benchmark
85+
86+
| Condition | Accuracy | Macro F1 | Coverage |
87+
|---|---:|---:|---:|
88+
| full | 1.000 | 1.000 | 1.000 |
89+
| no_frame | 0.750 | 0.750 | 0.750 |
90+
| no_justification | 0.500 | 0.500 | 0.500 |
91+
| event_only | 0.000 | 0.000 | 0.000 |
92+
93+
### Facet-frame faithfulness benchmark
94+
95+
| Condition | Accuracy | Macro F1 | Coverage |
96+
|---|---:|---:|---:|
97+
| full | 0.665 | 0.680 | 0.725 |
98+
| no_facet_weights | 0.465 | 0.466 | 0.595 |
99+
| no_facet_prompts | 0.200 | 0.200 | 0.200 |
100+
| event_only | 0.000 | 0.000 | 0.000 |
101+
102+
### Facet faithfulness audit service experiment
103+
104+
| Condition | Accuracy | Faithfulness | SNR |
105+
|---|---:|---:|---:|
106+
| prompt_only | 0.125 | 0.162 | 0.17 |
107+
| facet_list | 0.125 | 0.382 | 0.83 |
108+
| facet_weights | 0.750 | 0.526 | 2.20 |
109+
| full_aef | 1.000 | 0.536 | 4.11 |
110+
111+
## How to add a new benchmark
112+
113+
1. Add a new `examples/<benchmark-name>.ts` runner.
114+
2. Make it deterministic by accepting `--seed`.
115+
3. Write outputs under `results/<benchmark-name>/`.
116+
4. Include at least `cases.json`, `metrics.json`, and a qualitative example.
117+
5. Add a short section to this README with the command and expected outputs.

info/main.pdf

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)