Modelle
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.
Ziehe mit einem lokalen gesetzten Zufallsgenerator eine Reservoir-Stichprobe von höchstens 32 Elementen aus einem endlichen Strom von höchstens 1000 Elementen.
from random import Random
def reservoir_sample(items, size, seed):
if type(size) is not int or not 0 <= size <= 32:
raise ValueError("size.range")
if type(seed) is not int or not 0 <= seed < 2**32:
raise ValueError("seed.range")
rng, sample, count = Random(seed), [], 0
for index, item in enumerate(items):
count = index + 1
if count > 1000:
raise ValueError("stream.limit")
if index < size:
sample.append(item)
elif size:
position = rng.randrange(count)
if position < size:
sample[position] = item
if size > count:
raise ValueError("stream.short")
return sampleRichten 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.
Wiederhole den Startwert für die Reproduzierbarkeit und lehne zu kurze Ströme ab, ohne Eingabelisten zu ändern.
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
from random import Random
def reservoir_sample(items, size, seed):
if type(size) is not int or not 0 <= size <= 32:
raise ValueError("size.range")
if type(seed) is not int or not 0 <= seed < 2**32:
raise ValueError("seed.range")
rng, sample, count = Random(seed), [], 0
for index, item in enumerate(items):
count = index + 1
if count > 1000:
raise ValueError("stream.limit")
if index < size:
sample.append(item)
elif size:
position = rng.randrange(count)
if position < size:
sample[position] = item
if size > count:
raise ValueError("stream.short")
return sampleZufallsbasierter Code braucht einen nachvollziehbaren Prüfverlauf, auch wenn einzelne Ausgaben variieren. SampleThicket bietet für Projektarbeit an Stichproben einen KI-Programmierarbeitsbereich für Windows, in dem Quelltext und Reproduzierbarkeitsannahmen gemeinsam besprochen werden können. Öffnen Sie den relevanten Ordner und beschreiben Sie Eingabestrom, gewünschte Stichprobe und den erwarteten Umgang mit ungültigen Anfragen.
Lassen Sie das verbundene Modell bei einer Reservoir-Stichprobe aus einem endlichen Datenstrom prüfen, wie der Startwert übergeben wird und wie sich die Stichprobe beim Eintreffen von Elementen verändert. Halten Sie einen kurzen bekannten Datenstrom zum Nachvollziehen bereit. Trennen Sie ein wiederholbares Beispiel von weitergehenden Aussagen zur statistischen Qualität; ein fester Startwert hilft, einen Ablauf zu reproduzieren, beweist aber keine unverzerrte Auswahl.
Prüfen Sie vor der Annahme von Implementierungsänderungen die Anfragegrenzen. Für eine Stichprobe größer als der Datenstrom und einen Strom jenseits des unterstützten Limits sind ausdrückliche Ergebnisse nötig. Prüfen Sie, wie Aufrufer diese Fehler erhalten, und führen Sie anschließend deterministische Testfälle und geeignete statistische Bewertungen mit Ihren eigenen Werkzeugen aus. Bewahren Sie beim Protokollieren eines Ergebnisses Startwert und relevante Konfiguration auf.
SampleThicket unterstützt Verbindungen zu OpenAI-kompatiblen oder Anthropic-Endpunkten. Ein verfügbares unzensiertes KI-Modell kann bei der Prüfung helfen, unterliegt jedoch seinem Modellverhalten und den Servergrenzen. Der Arbeitsbereich hilft beim Vorbereiten und Prüfen eines Patches; die reproduzierbaren Projektprüfungen liefern Belege für das Verhalten, das Sie bewahren wollen.
Nennen Sie Eingabefolge oder reproduzierbare Quelle, gewünschte Größe, Startwert und relevante Laufzeitdetails. Halten Sie das Beispiel möglichst klein genug zur Prüfung. So lassen sich Codeänderungen von einem geänderten Zufallsablauf unterscheiden.
Nein. Sie belegt Wiederholbarkeit für diese Einrichtung und diesen Fall. Statistische Eigenschaften benötigen gesonderte Begründungen und geeignete Bewertungen. Lassen Sie das Modell diese Aussagen unterscheiden, statt einen deterministischen Testfall als Beleg für Verteilungsqualität zu behandeln.
Legen Sie fest, ob sie fehlschlagen oder einer anderen bewussten Regel folgen muss. Prüfen Sie beim Beispiel des endlichen Datenstroms die Zurückweisung eines zu kurzen Stroms und den Aufrufer. Geben Sie nicht stillschweigend weniger Elemente zurück, wenn der verarbeitende Code die gewünschte Anzahl als garantiert ansieht.
Grenzen können zulässige Last und Fehlervertrag bestimmen. Lassen Sie das Modell sie vor Änderungen an Schleife oder Eingabeverarbeitung identifizieren. Testen Sie Grenzfälle, damit ein Refactoring nicht versehentlich eine beabsichtigte Schutzprüfung entfernt.
SampleThicket · Aktualisiert 2026-10-25