← Nieuwste papers
💻 computer science

Task Abstention for Large Language Models in Code Generation

Dit artikel stelt een theoretisch onderbouwde, distributie-vrije methode voor voor Large Language Models om af te zien van codegeneratietaken die waarschijnlijk hallucinaties zullen produceren, door de consistentie van de generatie te beoordelen aan de hand van uitvoeringsresultaten van de code, waardoor veiligere en robuustere geautomatiseerde codering mogelijk wordt zonder afhankelijkheid van externe testgevallen.

Oorspronkelijke auteurs: Yanke Zhou, Yuhao Tan, Senrong Xu, Zenan Li, Yuan Yao, Taolue Chen, Xiaoxing Ma

Gepubliceerd 2026-05-19
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Yanke Zhou, Yuhao Tan, Senrong Xu, Zenan Li, Yuan Yao, Taolue Chen, Xiaoxing Ma

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Het Kernprobleem: De "Oververzekerde Chef"

Stel je voor dat je een briljante maar oververzekerde chef (het Large Language Model of LLM) inhuurt om een complex gerecht te bereiden op basis van een vaag recept. Soms is de chef fantastisch en creëert hij een perfect maaltijd. Maar vaak wordt de chef zelfverzekerd en maakt hij een gerecht dat er lekker uitziet, maar verschrikkelijk smaakt of zelfs giftig is (dit wordt een "hallucinatie" genoemd).

Momenteel vinden de meeste veiligheidscontroles na plaats dat de chef het gerecht al heeft bereid. Ze proeven het eten om te zien of het goed is. Als het slecht is, gooien ze het weg. Maar tegen die tijd heeft de chef al tijd en ingrediënten verspild, en heb je een slecht maaltijd geserveerd gekregen.

Dit paper stelt een andere vraag: Kunnen we de chef leren om te zeggen: "Ik weet niet hoe ik dit moet koken," voordat hij zelfs maar begint met het snijden van groenten?

Dit heet Task Abstention (taakafstandname). Het gaat erom te weten wanneer je een opdracht moet weigeren om een fout te voorkomen.

De Oplossing: CODEREFUSER

De auteurs hebben een systeem gebouwd dat CODEREFUSER heet. Denk hierbij aan een "Veiligheidsmanager" voor de chef. Deze manager kijkt niet alleen naar het recept; hij voert een simulatie uit om te zien of de chef waarschijnlijk zal slagen voordat hij het groene licht geeft.

Hier is hoe de Veiligheidsmanager werkt, opgesplitst in drie eenvoudige stappen:

1. De "Oefenronde" (Calibratiefase)

Voordat de Veiligheidsmanager beslissingen kan nemen, moet hij de grenzen van de chef leren kennen.

  • De Analogie: Stel je voor dat de manager de chef 100 oefenrecepten geeft. Voor elk daarvan probeert de chef het 64 keer te koken.
  • De Twist: De manager kijkt niet alleen naar het eindgerecht. Hij vraagt de chef ook om een "smaaktest" (testgevallen) voor elk recept te bedenken.
  • Het Probleem: Soms is de chef zo slecht in het bedenken van smaaktesten dat de test zelf kapot is (bijvoorbeeld: vragen om een negatief aantal eieren).
  • De Oplossing (Sample-Test Dual Filtering): De manager gebruikt een slimme truc genaamd Sample-Test Dual Filtering. Hij kijkt naar de 64 pogingen van de chef. Als de "smaaktest" van de chef 64 verschillende, chaotische resultaten oplevert (sommige ontploffen, sommige crasht), realiseert de manager zich: "Hé, deze test is kapot, niet de chef!" Hij gooit de slechte test weg en houdt de goede vast. Dit zorgt ervoor dat de manager niet in de war wordt gebracht door de eigen verwarring van de chef.

2. De Regels Stellen (De "Risicotolerantie")

Zodra de manager geoefend heeft, stelt hij de regels voor de echte wereld.

  • Het Doel: De manager wil ervoor zorgen dat als hij zegt "Ga aan de slag en kook", er een zeer grote kans is dat de chef zal slagen.
  • De Wiskunde (Vereenvoudigd): De manager gebruikt een statistische methode genaamd "Multiple Hypothesis Testing". Stel je voor dat de manager een lijst heeft met 1.000 verschillende "stopborden" (drempels). Hij test ze allemaal tegen de oefendata om de specifieke borden te vinden die garanderen dat de chef niet vaker dan, zeg maar, 20% van de tijd zal falen.
  • Het Resultaat: De manager maakt een strikte regelboek: "Als het zelfvertrouwen van de chef onder X ligt, of als de testresultaten te rommelig zijn, STOP."

3. De Echte Klus (Testfase)

Nu bestelt een echte klant een gerecht.

  • De chef probeert het een paar keer te koken (codevoorbeelden genereren).
  • De chef bedenkt een nieuwe smaaktest voor dit specifieke gerecht.
  • De Veiligheidsmanager voert opnieuw de Sample-Test Dual Filtering uit om eventuele kapotte tests op te ruimen.
  • De Manager controleert het regelboek.
    • Scenario A: De pogingen van de chef zijn allemaal consistent en halen de tests. De Manager zegt: "Admit: Ga je gang, je kunt dit koken."
    • Scenario B: De pogingen van de chef zijn overal anders, of de tests zijn te verwarrend. De Manager zegt: "Abstain: Het spijt me, ik kan je dit niet laten koken. Het is te riskant."

Waarom Dit Beter Is Dan Andere Methoden

Het paper vergelijkt hun methode met andere manieren om op fouten te controleren:

  • Statische Methoden (De "Grammatica-Politie"): Deze methoden lezen de code alleen om te zien of het er goed uitziet, zoals het controleren van spelling. Het paper toont aan dat dit nutteloos is voor code, omdat een zin perfect gespeld kan zijn maar nog steeds geen zin maakt (bijvoorbeeld: "De blauwe kleur at het getal").
  • Oude Uitvoeringsmethoden: Deze proberen de code uit te voeren, maar ruimen de slechte tests niet op. Ze raken vaak in de war door de eigen slechte testvragen van de chef en weigeren de chef te laten koken, zelfs als hij had kunnen slagen.

Het Resultaat: CODEREFUSER is veel beter in het weten wanneer "Ik weet het niet" moet worden gezegd. In tests verbeterde het de mogelijkheid om gevaarlijke taken op te sporen met ongeveer 26% ten opzichte van de beste bestaande methoden.

De Conclusie

Dit paper introduceert een manier om AI-coders veiliger te maken. In plaats van te wachten tot de AI een fout maakt en deze vervolgens te herstellen, fungeert dit systeem als een slimme supervisor die weet wanneer de AI boven zijn standje is. Het dwingt de AI om te zeggen: "Ik weet het niet," voordat het enige code genereert, waardoor het creëren van gebroken of gevaarlijke software wordt voorkomen.

Belangrijkste Leerpunt: Het is beter voor een AI om toe te geven dat hij een taak niet kan uitvoeren dan om er zelfverzekerd naast te zitten. CODEREFUSER leert de AI hoe hij die erkenning veilig en betrouwbaar kan maken.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →