Proiect
Testează zero și cea mai mare valoare admisă, respingând valori booleene, lățimi invalide și depășiri.
Convertește întregi în cod Gray și înapoi cu o lățime explicită de unu până la 16 biți.
def checked_word(value, width):
if type(width) is not int or not 1 <= width <= 16:
raise ValueError("word.width")
if type(value) is not int or not 0 <= value < (1 << width):
raise ValueError("word.value")
return value
def to_gray(value, width):
value = checked_word(value, width)
return value ^ (value >> 1)
def from_gray(value, width):
value = checked_word(value, width)
result = 0
while value:
result ^= value
value >>= 1
return resultTestează zero și cea mai mare valoare admisă, respingând valori booleene, lățimi invalide și depășiri.
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
def checked_word(value, width):
if type(width) is not int or not 1 <= width <= 16:
raise ValueError("word.width")
if type(value) is not int or not 0 <= value < (1 << width):
raise ValueError("word.value")
return value
def to_gray(value, width):
value = checked_word(value, width)
return value ^ (value >> 1)
def from_gray(value, width):
value = checked_word(value, width)
result = 0
while value:
result ^= value
value >>= 1
return resultGraySorrel este un spațiu de lucru Windows pentru programare cu IA, care ajută la evidențierea ipotezelor despre reprezentarea datelor în timpul dezvoltării. Adu codul de conversie și codul care îl folosește într-o conversație despre proiect, apoi precizează valorile și lățimile acceptate de interfață. Acest context ajută modelul să discute o modificare concretă, în loc să sugereze o rutină generală cu alte limite.
Ia drept sarcină o conversie în cod Gray cu lățime fixă. Cere examinarea conversiei directe și inverse împreună, inclusiv a validării comune a intrării. Oferă câteva valori cunoscute și un caz la limita lățimii, apoi solicită doar corecțiile necesare pentru contractul dorit. Exemplul oferă conversației un obiectiv verificabil prin teste.
Examinează modul în care propunerea tratează valorile care depășesc lățimea aleasă. Trunchierea silențioasă și respingerea explicită produc comportamente diferite, chiar dacă rezultatele conversiilor obișnuite coincid. Rulează testele proiectului, compară conversiile dus-întors în intervalul acceptat și examinează tratarea erorilor în codul apelant. Păstrează atât codificări exacte așteptate, cât și exemple reversibile.
Conectează un model printr-un endpoint acceptat, compatibil cu OpenAI sau Anthropic, adăugând credențiale dacă sunt necesare. Alegerea unui model de IA fără cenzură este posibilă când endpointul oferă un astfel de model; restricțiile sale efective rămân relevante. Suportul pentru instrumente și capacitatea contextului depind de model și server, iar responsabilitatea pentru contract și modificarea finală îți revine.
Nu. Două funcții pot fi inverse una alteia, dar pot implementa o corespondență greșită. Include codificări cunoscute independent, precum și verificări dus-întors, și examinează cum interpretează rezultatul codul care îl folosește înainte să accepți modificarea propusă.
Precizează dacă contractul le respinge sau le trunchiază intenționat. Cere modelului să urmărească validarea existentă și așteptările codului apelant. Mascarea schimbă comportamentul dacă apelanții primeau anterior o eroare, chiar dacă simplifică conversia.
Începe cu codul care stochează, compară sau transmite valoarea convertită, împreună cu testele relevante. Acesta dezvăluie ipotezele despre lățime și reprezentare. Extinde contextul doar când examinarea identifică o altă dependență necesară pentru înțelegerea modificării propuse.
Nu. Verifică intervalul acceptat în cod și teste. Examinează și execuția instrumentelor: utilizarea unui server local de modele care rulează separat nu face locale toate instrumentele conectate și nici nu stabilește unde se execută efectiv testele.
GraySorrel · Actualizat 2026-10-25