Handleidingen
Wat vandaag werkt
Wat je vandaag met Oloproof kunt evalueren, hoe je het bereikt (Python-SDK, oloproof.yaml en de CLI, of de browser), en wat niet gebouwd is. Het is gebaseerd op de capaciteitsaudit van 8 oktober 2026, een interne beoordeling die elke regel controleerde tegen de code en haar tests in plaats van tegen plannen.
Hoe je deze pagina leest
"SDK" betekent het Python-pakket (import oloproof). "YAML" betekent een project dat je draait met oloproof run vanuit oloproof.yaml. Het zijn niet dezelfde oppervlakken: een paar evaluators bestaan in maar één ervan, en deze pagina zegt welke. "Browser" betekent de gehoste werkbank, die toont wat je oloproof pusht; ze draait geen evaluaties die je niet in code of YAML hebt gedefinieerd.
Oloproof roept je systeem aan; het host, sandboxt of reset het niet. Je applicatie beheert haar eigen toestand, sessies en neveneffecten van tools tijdens een run.
Per soort systeem
| Je systeem | Wat werkt | Waar | Niet gebouwd |
|---|---|---|---|
| Classifier of gestructureerde uitvoer | Exacte overeenkomst, contains, regex, JSON-schema, rubric-judge, waarschijnlijkheidsjudge, modelclassifier; slagingspercentages met intervallen | SDK en YAML; model_classifier, probability_judge en cascade alleen in YAML | n/a |
| Tekstgeneratie, samenvattingen, extractie | Dezelfde controles op vrije tekst, rubric-judges, overeenstemming van judges met menselijke labels, paarsgewijze voorkeur | SDK en YAML; voorkeur is het commando oloproof prefer | BLEU, ROUGE of embedding-gelijkenis (schrijf er een met @evaluator) |
| RAG die je als black box draait | Hit rate, recall, MRR, nDCG, geldigheid van citaten, groundedness- en citatiesteun-judges, uit retrieval-artefacten die je systeem vastlegt of teruggeeft | SDK en YAML | Diagnose: diagnose vereist een gefaseerd systeem |
| RAG gebouwd in fasen | Al het bovenstaande, caching per fase, en oloproof diagnose met gouden context, top-k- of rerankerwijzigingen naast een controle | SDK @rag_system, YAML system.rag, CLI diagnose | Interventies buiten die drie |
| Agent die tools gebruikt | Staplimieten, vereiste en verboden tools, toolvolgorde, lussen, beperkingen, uit een vastgelegd traject | SDK en YAML | Een door een LLM beoordeelde controle van trajectkwaliteit |
| Multi-agentsysteem | Routering, toolrechten per agent, limieten op overdrachten | SDK en YAML | n/a |
| Agent-replay | Een case opnieuw draaien vanaf een checkpoint om een stap als nodig of niet te labelen | Alleen SDK (replay_case), voor een systeem dat checkpoints ondersteunt | Een CLI-commando |
| Binair classificatiemodel | Accuracy, precisie, recall, Brier, log loss, rangschikking (AUC) | SDK en YAML predictive: | n/a |
| Multiklassemodel | Eén blok per klasse (één tegen de rest) | SDK en YAML | Macro- of microgemiddelden |
| Regressiemodel | Absolute fout binnen een gedeclareerd target_range | SDK en YAML | Kwadratische fout, R kwadraat, onbegrensde fout |
| Gesprek met meerdere beurten | Of elke gescripte beurt beantwoord werd, en een rubric-judge over het hele gesprek | Alleen SDK (ConversationCompleted, ConversationJudge) | YAML-types, scores per beurt, een gebruikerssimulator, gespreksreplay |
| Afbeeldingen, audio, video | Niets native: een case kan een URL of gecodeerd bestand via je systeem meedragen, en @evaluator kan de uitvoer controleren | n/a | Judges zien alleen JSON-tekst; geen media-artefacten of weergave |
Een workaround voor meerdere beurten: maak van elke beurt een case en geef de beurten van één gesprek dezelfde group_id, zodat de analyse ze als een cluster behandelt (Clusters). Elke beurt is dan een aparte aanroep, geen enkele vastgelegde dialoog.
Je systeem aansluiten
- Python-callable: @system in de SDK of system.callable: module:function in YAML. Het ontvangt de input van de case en geeft een dictionary terug. Synchrone en asynchrone functies werken allebei.
- HTTP: system.http met url, method, output_path, artifacts en timeout_s. De invoer van de case wordt als JSON-body verzonden en het antwoord als JSON gelezen. Headers en authenticatie zijn nog niet configureerbaar; zet een endpoint dat een sleutel nodig heeft achter een callable die hem toevoegt.
- Eigen evaluators: @evaluator in de SDK. oloproof.yaml kan er nog geen noemen.
Workflows
| Workflow | Wat werkt | Niet gebouwd |
|---|---|---|
| Twee versies vergelijken | Gepaarde superioriteit, non-inferioriteit en equivalentie; slices met multipliciteitscontrole | n/a |
| CI | Exitcodes van oloproof gate volgens de block_on van je policy, sign-off, ondertekende records; een samenvatting voor pull requests (--summary markdown) | n/a |
| Menselijke beoordeling | Labels uit een bestand of de terminal; een beoordelingswachtrij in de browser met toegewezen beoordelaars op een gehoste werkruimte | Een beoordelingswachtrij in de browser op een lokaal project |
| Browserwerkbank | Runs, cases, vergelijkingen, diagnoses, evaluators, beoordeling en verkeer, na oloproof push | Datasetimport, judges opstellen, schema's, alerts en postmortems (getoond als gepland) |
| Lokale browser | n/a | Geen CLI-opdracht serveert de werkbank lokaal; die wordt gehost |
Wat getest is, en hoe
Elke familie hierboven heeft geautomatiseerde tests, gedraaid op fixtures en gemockte providers. Runs tegen echte systemen met echte modellen zijn vastgelegd voor RAG, één agent en een gesprek met meerdere beurten; nog geen voor predictieve modellen of multi-agentsystemen. Statistische methoden die over releases beslissen, zijn elk toegelaten door hun eigen audit; een metriek zonder toegelaten interval beslist geen regel op een interval, en een regel die er een nodig zou hebben geeft MANUAL_REVIEW of INSUFFICIENT_EVIDENCE terug met de reden.