Hey Jamal! Welkom bij deze update over onze recente Codex-doorwerkproef. We duiken in de resultaten van een test om te kijken of we een oud probleem hebben getackeld: te vroeg stoppen bij taken.
In het kort: we hebben twee kleine taken gedaan, elk in drie rondes. De bestaande methode slaagde drie van de drie keer, en de variant met een expliciet 'actief doel' – via de creategoal-functie – slaagde óók drie van de drie keer. Dus, geen aantoonbaar verschil. Dat betekent dat we helaas nog geen bewijs hebben dat zo'n actief doel het probleem van te vroeg stoppen oplost. De vroegere fout, waarbij een taak stopt terwijl er nog werk te doen is, deed zich in deze specifieke proef niet voor. En omdat die fout niet optrad, hebben we ook niet bewezen dat onze aanpak deze repareert. Belangrijk: we hebben hiervoor geen instellingen, apps of agentconfiguratie aangepast, en er is niets algemeen uitgerold. Wat hield die test precies in? Elke ronde bestond uit drie stappen: een invoerbestand maken, berekeningen doen naar een tweede bestand, en een onafhankelijke controle met een bewijsbestand. Tijdens het werk kwam steeds dezelfde vraag tussendoor: 'Wat is de stand nu?'. Daarna ging de taak vanzelf weer door. Alle achttien bestanden zijn onafhankelijk gecontroleerd en de bedragen zijn nagerekend. Alle zes rondes, zowel met de bestaande methode als met het expliciete doel, zijn succesvol afgerond. De tijden varieerden, maar de uitkomst was altijd geslaagd.
De aanpassing in de tweede proef was minimaal: we gebruikten alleen de bestaande creategoal-functie per ronde. Die functie zette dus per keer een actief doel aan. Na controle bevestigde de updategoal dat het doel voltooid was. Drie keer geactiveerd en drie keer voltooid. Nogmaals, dit was puur een proef; er is niets algemeen ingesteld.
We hebben een eerder voorbeeld opnieuw bekeken waar het model zelf aangaf nog werk te hebben, maar tóch als klaar afsloot. Dat bevestigt dat het ging om een vroegtijdige beurtafsluiting. Waaróm dat precies gebeurde, konden we met deze proef helaas niet vaststellen. Hoewel het verliezen van taakcontinuïteit na een statusvraag een aannemelijke verklaring is, lokte deze proef die fout simpelweg niet opnieuw uit. Daardoor is het automatisch hervatten, wat een actief doel mogelijk ondersteunt, ook niet echt op de proef gesteld.
Deze test had wel zijn beperkingen. Beide taken waren relatief kort, nieuw, en draaiden op hetzelfde model met lage instellingen. De onderbreking kwam via een delegatiebericht, niet als een directe vraag van jou. De proef miste dus precies de complexe situaties waarin het probleem eerder wél optrad: denk aan lange sessies, veel contextdruk, onduidelijke projectgrenzen of overdrachten tussen bots. Ons advies is dan ook: het actieve doel blijft een interessante kandidaat om verder te testen, maar het is géén bewezen oplossing na deze zes rondes. Niet breed uitrollen dus. De volgende zinnige proef zou er zo uitzien: een echte meerstapstaak met duidelijke acceptatiecriteria, een gewone statusvraag via de gebruikersinterface – niet via delegatie – en een langere, drukkere context om die oude fout eerst te reproduceren. Pas daarna kunnen we een verbetering aantonen. Alleen extra instructietekst is nu onvoldoende onderbouwd.
De afgesproken, beperkte proef is afgerond. Er is geen aantoonbare verbetering gevonden en er draait geen vervolgtest automatisch. Dit was de update, Jamal. Tot de volgende!
Elke ronde had drie stappen: een invoerbestand maken en lezen, bedragen berekenen naar een tweede bestand, en onafhankelijk controleren met een derde bewijsbestand.
Tijdens het openstaande werk kwam steeds dezelfde tussentijdse vraag: "Wat is de stand nu?" Na die vraag ging het werk gewoon door, zonder extra aansporing.
| Conditie | Ronde | Onderbreking na | Correct totaal | Uitkomst |
|---|---|---|---|---|
| Bestaande werkwijze | 1 | 7,48 s | 66,00 | Geslaagd |
| Bestaande werkwijze | 2 | 8,03 s | 42,70 | Geslaagd |
| Bestaande werkwijze | 3 | 21,95 s | 28,47 | Geslaagd |
| Expliciet actief doel | 1 | 15,56 s | 66,00 | Geslaagd |
| Expliciet actief doel | 2 | 13,62 s | 42,70 | Geslaagd |
| Expliciet actief doel | 3 | 13,40 s | 28,47 | Geslaagd |
Alle achttien bestanden zijn onafhankelijk teruggelezen en gecontroleerd. Bedragen en totalen zijn apart nagerekend.
Alleen de tweede proef gebruikte per ronde de bestaande create_goal-functie. Die zette een actief doel aan; na controle bevestigde update_goal steeds dat het doel compleet was. Drie activeringen en drie voltooiingen zijn teruggevonden.
Let op: dit is alleen in de proef gebruikt. Er is niets algemeen ingesteld. De testdoelen zijn na afloop weer op voltooid gezet.
Eén eerder voorbeeld is opnieuw bekeken: een moment waarop het model zelf zei nog werk te moeten doen ("Ik moet zelf verder met de lege huiswerklijst..."), en vlak daarna toch als klaar afsloot zonder dat er tussendoor iets is uitgevoerd.
Dat bevestigt dat het om een gewone, premature beurtafsluiting ging. Waaróm het model toen voor een eindantwoord koos, is met deze proef niet vastgesteld. Het verliezen van taakcontinuïteit tijdens een statusvraag is een aannemelijke verklaring, maar deze proef lokte die fout niet opnieuw uit. Het automatisch hervatten dat een actief doel mogelijk ondersteunt, is dus ook niet echt op de proef gesteld: de testagents gingen vanzelf door tot het einde.
Advies: het actieve doel is een werkende kandidaat om verder te testen, geen bewezen oplossing. Niet fleet-breed uitrollen op basis van deze zes rondes.
De volgende zinnige proef:
1. Eén echte meerstapstaak met objectieve acceptatiecriteria.
2. Een gewone statusvraag via de gebruikersinterface (niet via delegatie).
3. Langere/drukkere context, om de oude fout eerst daadwerkelijk te reproduceren.
4. Pas dáárna kan een verbetering aangetoond worden. Extra instructietekst alleen is nu onvoldoende onderbouwd als oplossing.
De afgesproken beperkte proef is afgerond. Er is geen aangetoonde verbetering. Er draait geen vervolgtest automatisch.
🎙️ Bespreek met Jarvis