Foute antwoorden uitsluiten
Antipatronen zijn meestal de afleiders — leer ze herkennen
Foute antwoorden uitsluiten is een gratis Claude Architect-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Claude Architect. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Claude Architect bevat in totaal 4 lessen.
De afleider is meestal een anti-patroon
Bij het Claude Certified Architect-examen krijgt u bij elke vraag 4 opties, waarvan er precies 1 correct is. De andere 3 zijn afleiders — en ze zijn niet willekeurig. Ze zijn zo ontworpen dat ze redelijk lijken voor iemand die de stof maar gedeeltelijk beheerst.
Dit is het belangrijkste inzicht voor deze les: afleiders zijn heel vaak bekende anti-patronen die als oplossingen zijn vermomd. Als u de catalogus met anti-patronen direct herkent, kunt u 2-3 opties schrappen voordat u ze zelfs helemaal hebt gelezen.
Schrappen geeft u een voordeel. Zonder straf voor gokken verandert het uitschakelen van twee foute antwoorden een gok van 25% in een gok van 50% — en meestal blijft het juiste antwoord dan vanzelf over.
Een mentale catalogus met anti-patronen opbouwen
Voordat u opties kunt schrappen, hebt u een lijst met alarmsignalen nodig die u uit het hoofd kent. Dit zijn de terugkerende foute antwoorden in alle 8 examenscenario's:
- Tekst ontleden op voltooiingssignalen ("stop when the reply contains 'done'")
- Willekeurige iteratielimieten als primair stopmechanisme
- Minimale of dubbelzinnige beschrijvingen van hulpmiddelen of te veel hulpmiddelen per agent
- Algemene foutstatussen ("Operation failed")
- Kritieke bedrijfsregels uitsluitend met prompts afdwingen
- Beoordeling van meerdere bestanden in één doorgang en zelfbeoordeling in dezelfde sessie
- Batch API voor blokkerende of tijdkritische controles
- Escalatie op basis van sentiment of vertrouwen
- Mogelijk afwezige schemavelden verplicht stellen
- Fouten stilzwijgend onderdrukken en nauwkeurigheidsmetingen die alleen totalen tonen
Wanneer een optie met een van deze patronen overeenkomt, is het vrijwel zeker het verkeerde antwoord. Behandel de lijst als een struikeldraad.
Alarmsignaal: tekst ontleden om de lus te stoppen
De agentische lus eindigt op stop_reason — nooit door in de tekst van het model te zoeken naar woorden als "done" of "finished". Elke optie die blijft lussen zolang een tekenreeks in de uitvoer staat, is een afleider die een anti-patroon bevat.
Het juiste mechanisme: stuur bij elke beurt de volledige geschiedenis mee, controleer stop_reason, voer hulpmiddelen uit bij tool_use en stop bij end_turn.
# ANTI-PATTERN (a distractor you should eliminate):
while "done" not in response.content[0].text.lower():
response = client.messages.create(...)
# CORRECT: terminate on the structured stop_reason
while response.stop_reason == "tool_use":
tool_results = run_tools(response.content)
messages.append({"role": "user", "content": tool_results})
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=messages,
tools=tools,
)
# loop exits when stop_reason == "end_turn"Alarmsignaal: iteratielimieten als primair stopmechanisme
Een nauwe verwant van de vorige valkuil. Een iteratielimiet ("stop na 10 beurten") is een legitiem vangnet — maar nooit het primaire stopmechanisme. Beslissingen worden door het model gestuurd; gebruik hardgecodeerde limieten voor garanties, niet voor de besturingslogica.
Lees dus aandachtig wanneer twee opties allebei een luslimiet noemen: de verkeerde optie maakt de limiet tot de belangrijkste exitvoorwaarde. De juiste optie stopt bij end_turn en gebruikt de limiet uitsluitend als bescherming tegen op hol slaan.
MAX_TURNS = 25 # safety net ONLY — not how we normally stop
turns = 0
while response.stop_reason == "tool_use":
if turns >= MAX_TURNS:
raise RuntimeError("runaway loop guard tripped") # rare escape hatch
turns += 1
messages.append({"role": "user", "content": run_tools(response.content)})
response = client.messages.create(model="claude-sonnet-4-5",
max_tokens=1024, messages=messages, tools=tools)
# normal, expected exit: stop_reason == "end_turn"Rode vlag: prompts voor kritieke bedrijfsregels
Wanneer een vraag gevolgen heeft voor geld, wetgeving of veiligheid (terugbetalingslimieten, beleidsovertredingen), is een optie die zegt "instrueer het model in de systeemprompt om nooit meer dan $500 terug te betalen" een afleider. Prompts zijn voor ongeveer 90% probabilistisch. Hooks zijn 100% deterministisch.
Het juiste antwoord handhaaft de regel met een PostToolUse / hook voor uitgaande aanroepen of een programmatische voorwaarde — code waar het model zich niet uit kan praten.
# Distractor: "Add 'never refund more than $500' to the system prompt."
# Correct: deterministic enforcement outside the model.
def on_pre_tool_use(tool_name, tool_input):
if tool_name == "process_refund" and tool_input["amount"] > 500:
return {"block": True,
"reason": "Refunds over $500 require human approval."}
# precondition: identity must be verified first
if tool_name == "process_refund" and not customer_verified():
return {"block": True, "reason": "Verify customer identity first."}
return {"block": False}Rode vlag: slecht toolontwerp
In vragen over scenario 4 en 8 komen voortdurend twee afleiders over toolontwerp voor:
- "Verbeter de selectie door de tools een andere naam te geven" — onjuist. De beschrijvingen van tools, niet de namen, zijn het belangrijkste selectiemechanisme.
- "Geef de agent alle 18 tools, zodat hij er nooit een mist" — onjuist. 4-5 tools per agent is optimaal; 18 of meer vermindert de betrouwbaarheid van de selectie.
De juiste antwoorden: schrijf uitgebreide beschrijvingen (doel, retourwaarden, invoerindelingen met voorbeelden, uitzonderingsgevallen, grenzen) en beperk tools strikt tot de rol volgens het principe van minimale rechten.
# Correct: a description that actually drives selection.
lookup_order = {
"name": "lookup_order",
"description": (
"Retrieve a customer's order by order_id. "
"Returns status, line items, and total. "
"order_id format: 'ORD-' + 8 digits, e.g. 'ORD-10293847'. "
"Use AFTER get_customer verifies identity. "
"Returns an empty result (not an error) if no order matches."
),
"input_schema": {"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"]},
}Rode vlag: generieke fouten en stilzwijgend onderdrukken
Let in scenario's met meerdere agents en extractie op twee anti-patronen voor fouten:
"Operation failed"retourneren — een generieke status die intelligent herstel blokkeert.- Een fout stilzwijgend negeren of de hele workflow afbreken omdat één subagent is mislukt.
Het juiste antwoord retourneert gestructureerde fouten: isError, errorCategory (transient/validation/business/permission), isRetryable, de uitgevoerde query en gedeeltelijke resultaten. Het maakt ook onderscheid tussen een mislukte toegang (mogelijk opnieuw proberen) en een geldig leeg resultaat (geen overeenkomsten — niet opnieuw proberen).
# Distractor: return {"status": "Operation failed"}
# Correct: structured, routable error
error = {
"isError": True,
"errorCategory": "transient", # vs validation/business/permission
"isRetryable": True,
"message": "Upstream timeout from inventory service",
"attempted_query": "SELECT * FROM stock WHERE sku='A91'",
"partial_results": [{"sku": "A91", "warehouse": "EU"}],
}Rode vlag: beoordeling in dezelfde sessie en beoordeling in één doorgang
Voor scenario's over codebeoordeling en CI/CD (scenario 2 en 5) kun je elke optie uitsluiten die de code beoordeelt in dezelfde sessie als waarin die is gegenereerd — de auteur blijft vasthouden aan zijn eigen redenering en zal zichzelf niet kritisch bevragen. Een onafhankelijke beoordeling met een nieuwe instantie is altijd sterker.
Sluit ook beoordeling van meerdere bestanden in één doorgang uit: daardoor verslapt de aandacht. De juiste aanpak met meerdere doorgangen doet eerst een lokale doorgang per bestand en daarna een afzonderlijke integratiedoorgang voor alle bestanden.
# Distractor: same chat asks itself "now review what you wrote."
# Correct (CI/CD): isolated, non-interactive review session.
# claude -p "Review this diff for correctness bugs only." \
# --output-format json \
# --append-system-prompt "Flag an issue ONLY when code contradicts intent."
#
# Multi-pass: pass 1 per-file, pass 2 cross-file integration —
# never one single pass across all files at once.Rode vlag: Batch API voor blokkerende controles
De Message Batches API is 50% goedkoper met een venster van maximaal 24 uur — maar heeft geen SLA voor latentie en ondersteunt geen toolaanroepen met meerdere beurten. Elke optie die Batch gebruikt voor een controle vóór samenvoegen, een synchrone controle voor gebruikers of een agentlus met tools is dus een afleider.
Batch is alleen geschikt voor niet-blokkerende taken: controles 's nachts en rapporten in bulk. Als het scenario het woord "blokkerend", "vóór samenvoegen", "realtime" of "de gebruiker wacht" bevat — sluit Batch dan meteen uit.
# Correct use of Batch: overnight, non-blocking audit.
batch = client.messages.batches.create(requests=[
{"custom_id": "doc-001", # custom_id correlates each result
"params": {"model": "claude-sonnet-4-5", "max_tokens": 1024,
"messages": [{"role": "user", "content": audit_prompt(d)}]}}
for d in nightly_documents
])
# WRONG: using this for a pre-merge CI gate (no latency SLA, no tool loop).Rode vlag: slechte escalatie en slechte schema's
Twee andere veelvoorkomende afleiders:
- Escalatie op basis van sentimentanalyse of een door het model zelf beoordeelde betrouwbaarheidsscore (1-10). Dit zijn slechte triggers. Goede triggers zijn: een expliciet verzoek van een mens, hiaten in beleid, geen voortgang na pogingen en overschrijding van drempelwaarden.
- Een mogelijk ontbrekend veld als
requiredmarkeren in een JSON-schema. Het model zal het verzinnen. Vereis een veld ALLEEN als het altijd aanwezig is; gebruik enumeraties met een waarde "other" plus een vrijetekstdetail voor uitbreidbaarheid.
Als een optie escaleert bij een "boze toon" of "middle_name" vereist — sluit die dan uit.
# Distractor schema: requires a field that's often missing.
# Correct: only truly-always-present fields are required.
schema = {
"type": "object",
"properties": {
"invoice_id": {"type": "string"},
"category": {"type": "string",
"enum": ["goods", "services", "other"]},
"category_detail": {"type": "string"}, # free-text, NOT required
"po_number": {"type": "string"}, # may be absent -> NOT required
},
"required": ["invoice_id", "category"],
}De eliminatieoefening
Breng dit samen in een herhaalbaar proces voor elke vraag:
- 1. Lees het scenario om de echte beperking te vinden — geld/wetgeving (vereist een hook), blokkerend versus 's nachts (Batch of niet), één versus meerdere bestanden (doorgangen), aanwezig versus ontbrekend veld (verplicht of niet).
- 2. Scan alle 4 opties op signalen van anti-patronen en streep elke overeenkomst weg. Gewoonlijk vallen er 2-3 af.
- 3. Kies uit de overgebleven opties degene met een deterministische garantie waar dat ertoe doet — gestructureerd boven generiek, stoppen op basis van het model boven tekstparsering, onafhankelijk boven zelfbeoordeling.
- 4. Geef altijd antwoord. Er is geen straf voor gokken — laat nooit iets blanco, zelfs niet wanneer je tot een muntworp bent gereduceerd.
Anti-patronen herkennen is geen sluiproute om begrip te omzeilen; zo leest een ervaren architect een vraag snel en helder.
Korte controle
Pas de eliminatieoefening toe op een echt scenario in examenvorm.
Samenvatting: lees de beperking, streep het anti-patroon weg
Belangrijkste lessen voor het elimineren van verkeerde antwoorden:
- Afleiders zijn meestal vermomde anti-patronen. Leer de catalogus uit je hoofd en behandel elk item als een alarmsignaal.
- Streep ze meteen weg: tekstparsering om te stoppen, iteratielimieten als primaire stop, prompts voor kritieke regels, generieke of onderdrukte fouten, te veel tools, toolselectie op basis van namen, beoordeling in één doorgang en in dezelfde sessie, Batch voor blokkerende controles, escalatie op basis van sentiment of betrouwbaarheid, verplichte ontbrekende velden.
- Het juiste antwoord kiest voor deterministische garanties wanneer de inzet hoog is: hooks en voorwaarden, gestructureerde fouten, door het model gestuurde beëindiging bij
end_turn, onafhankelijke beoordeling en uitgebreide toolbeschrijvingen. - Geef altijd antwoord — er is geen straf voor gokken. Streep twee afleiders weg en een muntworp wordt een sterke gok.
Herken de valkuil, en de juiste optie kiest zichzelf vrijwel.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 26
- Lessen
- 104
Veelgestelde vragen
Is de les “Foute antwoorden uitsluiten” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Claude Architect, waaronder “Foute antwoorden uitsluiten”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Claude Architect bevat in totaal 4 lessen.
Wat leer ik in “Foute antwoorden uitsluiten”?
Antipatronen zijn meestal de afleiders — leer ze herkennen Je oefent met Claude Architect door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Claude Architect te beginnen?
Ervaring vooraf is niet nodig. Claude Architect op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Foute antwoorden uitsluiten”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Claude Architect?
Ja. Elke les over Claude Architect bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Hoe scenariovragen worden beoordeeld
- Een scenarioprompt lezen
- Foute antwoorden uitsluiten
- Volledige oefentoets stap voor stap