Werkprocessen · Letteraanwijzingen met herhalingen ×
from collections import Counter
def letter_feedback(answer, guess):
if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
raise ValueError("word.lowercase")
marks, remaining = [0] * 5, Counter()
for i, (a, g) in enumerate(zip(answer, guess)):
if a == g:
marks[i] = 2
else:
remaining[a] += 1
for i, g in enumerate(guess):
if marks[i] != 2 and remaining[g]:
marks[i] = 1
remaining[g] -= 1
return marks
✳Beoordeel een gok van vijf kleine ASCII-letters met 2 voor exact, 1 voor verplaatst en 0 voor afwezig.
✓ WijzigingenControleer vóór het toepassen ↗
Illustratie van de werkruimte
Modellen
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Project
Test herhaalde letters nadat exacte treffers zijn gereserveerd, en weiger hoofdletters, niet-ASCII of verkeerde lengten.
Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
from collections import Counter
def letter_feedback(answer, guess):
if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
raise ValueError("word.lowercase")
marks, remaining = [0] * 5, Counter()
for i, (a, g) in enumerate(zip(answer, guess)):
if a == g:
marks[i] = 2
else:
remaining[a] += 1
for i, g in enumerate(guess):
if marks[i] != 2 and remaining[g]:
marks[i] = 1
remaining[g] -= 1
return marks
AI-werkruimte voor code
Maak van een spelregel een toetsbare codewijziging
LetterRook biedt een programmeeromgeving voor Windows om een informele spelregel om te zetten in precies softwaregedrag. Open het project en geef het verbonden model een voorbeeldbeurt met de feedback die je verwacht. Vraag het de huidige scorecode en de aanroeper te bekijken voordat het een wijziging voorstelt, vooral wanneer het gemelde probleem samenhangt met herhaalde symbolen.
Feedback voor woorden van vijf letters is een nuttige voorbeeldtaak. Een gok kan meer exemplaren van een letter bevatten dan het antwoord, dus leg uit hoe exacte treffers de resterende feedback beïnvloeden voordat je een patch vraagt. Beoordeel het voorgestelde resultaat met concrete woordparen, niet alleen met de uitleg van de assistent. De regels moeten de implementatie en elke uitleg in je toepassing bepalen.
Voer na inspectie van de wijzigingen testgevallen uit voor exacte treffers, herhaalde letters en geweigerde woordvormen. Controleer of de interface de teruggegeven feedback volgens het scorecontract interpreteert. LetterRook verbindt met ondersteunde OpenAI-compatibele of Anthropic-endpoints en gebruikt waar nodig inloggegevens. Kies een ongefilterd model als je endpoint dat aanbiedt; de server bepaalt nog steeds context- en toolondersteuning. Met een expliciete beurt en verwacht resultaat in het gesprek kun je elke wijziging beter beoordelen zonder op een algemene claim te vertrouwen dat het spel nu werkt.
Van woordvoorbeelden naar betrouwbare feedback
Wat maakt een foutmelding over herhaalde letters nuttig?
Geef het antwoord, de gok, de werkelijke feedback en de verwachte feedback voor elke positie. Neem een geval op waarin exacte treffers een deel van de beschikbare letters verbruiken. Zo heeft de assistent een precies verschil om in de score-implementatie na te gaan.
Waarom exacte treffers vóór feedback over verkeerd geplaatste letters beoordelen?
De getoonde regel reserveert exacte treffers voordat resterende voorkomens worden verdeeld. Een patch die elk overeenkomend teken apart telt, kan een herhaalde gok te veel krediet geven. Controleer de volgorde in de broncode en bewaar voorbeelden die deze fout zichtbaar maken.
Moet de scorefunctie hoofdletters accepteren?
Het bestaande voorbeeld accepteert vijf kleine ASCII-letters. Als de toepassing normalisatie nodig heeft, bepaal dan waar die plaatsvindt en test die grens apart. Laat een scorecorrectie niet stilzwijgend andere invoervormen accepteren.
Wat moet een interfacetest toevoegen aan de scoretestgevallen?
Controleer of elke teruggegeven markering overeenkomt met de bedoelde zichtbare feedback en positie. Correcte interne getallen kunnen nog steeds verkeerd worden weergegeven. Voer deze controle naast regelgerichte testgevallen uit nadat je de relevante bronwijzigingen hebt bekeken.