Vor dem Anwenden prüfen
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Gruppiere nummerierte Knoten anhand ungerichteter Verbindungen mit disjunkten Mengen.
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())Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
Prüfe isolierte Knoten, wiederholte Kanten und den leeren Graphen und lehne ungültige Endpunkte vor jeder Vereinigung ab.
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 ist eine KI-Programmierumgebung für Windows, die Gruppierungsanforderungen, Quellcode und Verbraucher in einem Entwicklungsgespräch zusammenführt. Beschreiben Sie zunächst, was die Anwendung als verbunden ansieht und welches Ergebnis sie erwartet. Lassen Sie das Modell die bestehende Darstellung prüfen, bevor es Änderungen am gruppenbildenden Code vorschlägt.
Nutzen Sie als konkrete Aufgabe components.py, um eine Verbindung zu besprechen, die zwei bisher getrennte Gruppen vereint. Nehmen Sie einen isolierten Knoten in den Testfall auf und geben Sie die erwartete Ausgabereihenfolge an. Das Beispiel hilft bei der Formulierung einer Änderungsanfrage, ohne anzunehmen, eine mathematisch gleichwertige Sammlung erfülle die Anforderungen des Serialisierungs- oder Anzeigecodes.
Prüfen Sie den Vorschlag an diesen Grenzen. Kontrollieren Sie akzeptierte Knotenkennungen, ungültige Kanten und den leeren Fall und führen Sie dann relevante Projektprüfungen aus. Ein nützliches Ergebnis sollte erklären, warum Mitglieder zusammengehören und warum die zurückgegebene Struktur zum Verbraucher passt. Halten Sie unabhängige Speicher- oder Oberflächenänderungen aus einer Anfrage heraus, die Gruppierungsverhalten korrigieren soll.
Verbinden Sie ein Modell über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt und geben Sie bei Bedarf Zugangsdaten an. Bietet dieser Dienst ein abliteriertes KI-Modell an, ist es eine Option für die Sitzung; Einschränkungen bleiben anbieterabhängig. Verfügbare Werkzeuge und Kontext hängen ebenfalls von Modell und Server ab. Begrenzen Sie die Untersuchung daher auf Quelltext und Belege, die die Sitzung tatsächlich nutzen kann.
Legen Sie diese Erwartung ausdrücklich fest. Eine Kantenliste erwähnt einen isolierten Knoten möglicherweise nie, obwohl die Anwendung von seiner Existenz weiß. Geben Sie die deklarierte Knotenanzahl und einen isolierten Testfall an, damit der Code solche Einträge nicht stillschweigend verwerfen kann.
Ja, wenn ein Verbraucher auf stabile Serialisierung, Vergleiche oder Darstellungsreihenfolge angewiesen ist. Geben Sie an, ob Reihenfolge Teil der Schnittstelle ist, und prüfen Sie die Ausgabekonvention. Mathematische Gleichwertigkeit allein belegt keine Kompatibilität mit Snapshots oder nachgelagerter Verarbeitung im Projekt.
Definieren Sie das Ablehnungsverhalten und prüfen Sie, wo es sichtbar wird. Das Beispiel validiert Kennungen anhand der deklarierten Knotenanzahl. Prüfen Sie die Reaktion des Aufrufers, statt anzunehmen, eine Ausnahme allein vermittle dem Lieferanten der Gruppierungsdaten einen nützlichen Fehler.
Schreiben Sie ursprüngliche Gruppen und erwartete vereinte Mitgliedschaft unabhängig auf, einschließlich einer unbetroffenen Gruppe. Führen Sie den Testfall durch den geänderten Code aus und prüfen Sie die Reihenfolge getrennt. So erhält die Prüfung ein konkretes Vorher-Nachher-Ergebnis, ohne die Implementierung im Test zu wiederholen.
UnionPebble · Aktualisiert 2026-10-25