Verifică înainte de aplicare
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
Grupează noduri numerotate prin legături neorientate cu mulțimi disjuncte.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())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.
Testează noduri izolate, muchii repetate și un graf gol, respingând capetele invalide înaintea unirii.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())UnionPebble este un spațiu Windows de programare cu IA care aduce o cerință de grupare, codul sursă și consumatorii săi într-o singură conversație de dezvoltare. Începe prin a descrie ce consideră aplicația conectat și ce așteaptă să primească. Cere modelului să inspecteze reprezentarea existentă înainte să sugereze modificări ale codului care creează grupurile.
Ca sarcină concretă, folosește components.py pentru a discuta o conexiune care unește două grupuri anterior separate. Include un nod izolat în cazul de test și precizează ordinea așteptată a ieșirii. Exemplul ajută la formularea unei cereri de modificare fără să presupui că o colecție echivalentă matematic va satisface codul de serializare sau afișare al aplicației.
Revizuiește propunerea la acele limite. Verifică identificatorii de nod acceptați, muchiile invalide și cazul gol, apoi execută verificările relevante ale proiectului. Un rezultat util trebuie să explice atât de ce membrii aparțin aceluiași grup, cât și de ce structura returnată se potrivește consumatorului. Păstrează schimbările nerelevante de stocare sau interfață în afara unei cereri menite să corecteze gruparea.
Conectează un model printr-un endpoint acceptat compatibil cu OpenAI sau Anthropic, furnizând date de autentificare unde sunt necesare. Dacă serviciul oferă un model IA abliterated, acesta este o opțiune pentru sesiune; restricțiile rămân dependente de furnizor. Instrumentele și contextul disponibile depind și ele de model și server, așa că limitează inspecția la sursa și dovezile pe care sesiunea le poate folosi efectiv.
Stabilește explicit această așteptare. O listă de muchii poate să nu menționeze niciodată un nod izolat, chiar dacă aplicația știe că există. Include numărul declarat de noduri și un caz izolat, astfel încât codul propus să nu poată elimina tacit asemenea intrări din rezultat.
Da, dacă un consumator se bazează pe o ordine stabilă pentru serializare, comparare sau prezentare. Precizează dacă ordinea face parte din interfață, apoi inspectează convenția ieșirii. Echivalența matematică nu dovedește singură compatibilitatea cu instantaneele sau procesarea ulterioară din proiect.
Definește comportamentul pentru intrarea respinsă și inspectează unde este comunicat. Exemplul validează identificatorii față de numărul declarat de noduri. Revizuiește răspunsul apelantului, fără să presupui că o excepție singură transmite o eroare utilă celui care a furnizat datele de grupare.
Scrie independent grupurile inițiale și componența comună așteptată, inclusiv un grup neafectat. Execută cazul prin codul modificat și inspectează separat ordinea. Aceasta oferă revizuirii un rezultat concret înainte și după, fără a repeta implementarea în test.
UnionPebble · Actualizat 2026-10-25