Controlla prima di applicare
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Ruota a sinistra una parola senza segno con larghezza da 1 a 64 bit.
def rotate_left(value, count, width):
if any(type(x) is not int for x in (value, count, width)):
raise ValueError("rotate.type")
if not 1 <= width <= 64 or not 0 <= value < (1 << width) or count < 0:
raise ValueError("rotate.range")
count %= width
mask = (1 << width) - 1
return ((value << count) | (value >> (width - count))) & maskConfronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Prova rotazioni nulle e complete riducendo il conteggio modulo la larghezza, rifiutando conteggi negativi e valori troppo grandi.
def rotate_left(value, count, width):
if any(type(x) is not int for x in (value, count, width)):
raise ValueError("rotate.type")
if not 1 <= width <= 64 or not 0 <= value < (1 << width) or count < 0:
raise ValueError("rotate.range")
count %= width
mask = (1 << width) - 1
return ((value << count) | (value >> (width - count))) & maskBitWhorl offre un ambiente di progetto per Windows in cui discutere modifiche al codice che dipendono da una rappresentazione precisa. Apri il codice e descrivi i valori attesi dall’applicazione circostante. Chiedi al modello di spiegare i limiti pertinenti degli input prima di richiedere una ristrutturazione, affinché un’espressione apparentemente più semplice non cambi silenziosamente l’operazione.
Puoi portare rotate_word.py nella sessione come attività concreta. Indica la larghezza della parola e il comportamento atteso per un numero di rotazioni superiore a tale larghezza, poi esamina il codice proposto insieme ai suoi chiamanti. L’esempio dà alla conversazione un contratto delimitato; non significa che l’ambiente fornisca una libreria di operazioni sui bit.
Usa alcuni casi di prova specificati indipendentemente per verificare la proposta nel tuo ambiente. Includi rotazione nulla, rotazione di una larghezza intera e un valore con il bit più alto accettato impostato. Esamina anche gli input rifiutati, soprattutto se un altro livello converte i valori prima di chiamare la funzione. Preserva la convenzione di rappresentazione dell’applicazione durante tutta la modifica.
Un modello IA abliterato può assisterti quando è offerto da un endpoint supportato compatibile con OpenAI o di Anthropic. Configura nell’ambiente quella connessione e le eventuali credenziali richieste. Restrizioni del modello, capacità di contesto e disponibilità degli strumenti dipendono comunque dal server scelto, quindi la verifica di accettazione spetta al progetto, non all’etichetta del modello.
Controlla il contratto attuale prima di presumere che significhi ruotare nella direzione opposta. L’esempio rifiuta conteggi negativi. Se un chiamante necessita di conteggi con segno, richiedi esplicitamente questa modifica del comportamento e specifica i risultati attesi da entrambi i lati dello zero.
Lo stesso intero e conteggio possono produrre risultati diversi con larghezze diverse. Includi tutti e tre gli input e l’output atteso. Senza questo contesto, il modello potrebbe spiegare un’operazione valida che usa semplicemente una rappresentazione diversa da quella dell’applicazione.
Può imporre la rappresentazione dell’output, quindi rimuoverla può cambiare risultati osservabili. Chiedi come la modifica proposta mantiene l’output entro la larghezza accettata e prova casi con bit alti. Esamina i chiamanti che serializzano o confrontano il risultato secondo la stessa convenzione.
Confrontane il comportamento con esempi limite scelti indipendentemente e con la politica attuale sugli input. Leggi sia la spiegazione della semantica degli scorrimenti del linguaggio sia l’espressione. Un codice più breve è utile solo se preserva la rappresentazione e il comportamento di rifiuto richiesti.
BitWhorl · Aggiornato 2026-10-25