Tipps für die Nutzung von KI

Angesichts der Nutzung von KI ist es vielleicht sinnvoll, einen Thread mit nützlichen Tipps zu starten, wie man sie am besten einsetzt, das Maximum aus ihr herausholt und dabei unterstützt wird, die eigene Idee auf das nächste Level zu heben.

Wenn du einen visuellen Fehler hast, mach einen Screenshot. Zeichne in Paint oder einem anderen Grafikprogramm einen rechteckigen Kasten in einer Farbe deiner Wahl um das Problem.

Zieh das Bild dann per Drag-and-Drop in das Chatfenster der KI, oder wenn du die Befehlszeile nutzt, speichere es an einem Ort, auf den sie zugreifen kann (am selben Ort wie deine Dateien), und übergib ihr den Dateinamen des Bildes.

Im Prompt-Beispiel, wenn ich ein rotes Rechteck verwendet habe: „Hier gibt es einen Fehler, ich stelle einen Screenshot bereit und habe das Problem mit einem roten Rechteck umrandet. Untersuche das.“

Wenn die KI einen Emulator starten, ausführen und debuggen kann, funktioniert das oft sehr gut, weil sie iterativ an dem Problem arbeiten kann. Falls sie das nicht kann, wählt sie möglicherweise andere Wege, findet das Problem aber trotzdem oft und behebt es. Vielleicht rät sie auch und versucht eine Lösung. Du musst das Spiel dann starten und überprüfen.

Sei dir jedoch bewusst, dass durch das Beheben des Fehlers möglicherweise etwas anderes kaputtgehen kann, du musst es also auf jeden Fall kontrollieren.

4 „Gefällt mir“

Wenn es bei dir stark flackert, sag der KI, dass sie „hardware double buffer“ verwenden soll. Weise sie aber auch darauf hin, darauf zu achten, dass „there are no trails or graphical glitches from the sprites“ (keine Schlieren oder Grafikfehler bei den Sprites entstehen).

Double Buffering funktioniert so, dass auf einen Bildschirmbereich gezeichnet wird, den wir nicht sehen, während wir einen anderen betrachten. Sobald der Zeichenvorgang abgeschlossen ist, wird umgeschaltet. Da das Bild auf einen Schlag dargestellt wird, verschwindet das Flackern – allerdings kostet der zusätzliche Bildspeicher Arbeitsspeicher. Wenn Hardware-Scrolling genutzt wird, musst du mit zusätzlichen 16 KB gegenüber Single Buffering rechnen.

1 „Gefällt mir“

Wenn du Verlangsamungen bemerkst, sag der KI einfach, dass das Spiel flüssig bleiben und eine bestimmte Bildrate halten soll. (z. B. „Das Spiel wird langsamer, wenn viele Sprites auf dem Bildschirm sind. Was kann ich tun?“ oder „Das Spiel ruckelt, sobald viele Sprites auf dem Bildschirm sind. Halte 25 fps ein. Gib mir Optionen.“)

Sie schlägt möglicherweise Lösungen vor – etwa weniger Elemente auf dem Bildschirm oder andere Zeichenmethoden zur Optimierung. Du musst dann entscheiden, was für dich am besten passt.

1 „Gefällt mir“

Versuch, so viele Dokumentationen über verschiedene Techniken wie möglich zu sammeln, und sag der KI, dass sie diese als maßgebliche Quelle (Source of Truth) nutzen soll.. LLMs sind eigentlich ziemlich dumm, aber mit der richtigen Dokumentation können sie richtig glänzen..

2 „Gefällt mir“

Ich finde es sehr hilfreich, wie ein Programmierer zu denken.

Stimme nicht einfach allem zu. Hinterfrage die Dinge. Mach Vorschläge. Verstehe, was es dir sagen will.

Und überstürze nichts! Behandle es wie einen extrem schnellen Junior-Entwickler, der noch eine Menge Aufsicht braucht.

3 „Gefällt mir“

Bitte es außerdem um regelmäßige Überprüfungen und darum, auf RAM-Überschneidungen zu achten.

Das hat mir schon ein paar Mal den Hintern gerettet.

1 „Gefällt mir“

Ich habe zwei Fragen: Welche Emulatoren eignen sich am besten für die Nutzung mit Claude? Und wenn wir über die Verwendung auf dem Amstrad und Z80 sprechen – Connect oder Opus? Medium?

Nur mal so als Info: Amspirit (ein relativ neuer Emulator) bietet eine HTTP-API, mit der man von außen so ziemlich alles machen kann. amspirit-releases/docs/lite/web_api.md at main · AMSpiriT-Emulator/amspirit-releases · GitHub

Ich habe vor einer Weile einen passenden Blogbeitrag vom Autor dazu gelesen, kann ihn aber gerade nicht finden.

3 „Gefällt mir“

Ja, und ACE-DL ist also wirklich nützlich für die KI, um direkt mit dem CPC zu interagieren, ohne Tastendrücke simulieren zu müssen (zum Beispiel).

Und vergiss nicht, der KI die API-Dokumentation zu schicken :slight_smile:

1 „Gefällt mir“

Kannst du ein Tutorial dazu machen, wie man Claude mit acedl und dem anderen verbindet?

Claude sagt mir immer, dass er keine Verbindung zu acdl herstellen / es nicht nutzen kann.

Ich habe ein „Paket“ mit allem erstellt, was für Claude bei meinem Projekt benötigt wird; ziehe es einfach per Drag-and-Drop in den Chat-Bereich:

  • BNDZEN.tar.gz: Linux Ace-dl
  • ACE-API.txt: Beschreibung der Ace-dl-API
  • disark: Linux-Disassembler disark von Julien Névo (Arkos)
  • Andere Dateien: dsk, Projektbeispiel, was auch immer du möchtest.

Sag ihm dann einfach, was du haben willst.

Wenn du ein GitHub-Konto hast, verknüpfe es mit Claude. Er wird ein Repository mit dem von dir gewünschten Namen erstellen und darin arbeiten.

1 „Gefällt mir“

Das ist fantastisch. Artefakte sind nicht mehr interessant (also die, die man einfach bekommt, wenn man ein Modell darum bittet) – erzähl uns lieber, wie du die Modelle nutzt, und überlass das Erstellen der Binärdateien als Übung dem Leser! :smiley:

@Arnaud6128 Danke für den ACE-DL-Tipp. Das ist eine wirklich tolle Idee.

Ich habe Claude gefragt, welche Version von ACE-DL es gerne hätte, und es meinte, dass die Version „Ubuntu 24.04 LTS“ dem entspricht, worauf Claude selbst läuft.

Ich habe das hochgeladen, und plötzlich ist es viel einfacher, dsk-Builds zu testen!

1 „Gefällt mir“

Ein weiterer sehr nützlicher Tipp:

Sage der KI, dass sie sich genau an die von dir gestellte Aufgabe halten soll.

Unterteile dein Projekt in kleine Aufgaben und zerlege diese Aufgaben dann in noch kleinere Teilaufgaben.

Bitte die KI, nur an diesen kleineren Teilaufgaben zu arbeiten und nicht von dem abzuweichen, worum du gebeten hast.

Fordere sie dazu auf, fokussiert zu bleiben und keine Dinge zu recherchieren, nach denen du nicht gefragt hast.

Andernfalls kann es sehr lange dauern, bis du Antworten auf deine Prompts erhältst, und du verbrauchst Tokens viel schneller.

Typischerweise schlägt die KI verschiedene Optionen dafür vor, woran als Nächstes gearbeitet werden soll. Wäge die Optionen sorgfältig ab und wähle diejenige, die du für am besten geeignet hältst. Die KI wird Ratschläge oder Empfehlungen geben, und das ist völlig in Ordnung. Wichtig ist, dass sie bei deiner Entscheidung bleibt und keine Zeit sowie Tokens damit verschwendet, sich „im Kaninchenbau zu verlieren“.

2 „Gefällt mir“

Erstelle eine MEMORY.md-Datei im Workspace, die alle deine Regeln für das Projekt enthält.

Fülle sie mit Dingen wie „Möchte, dass der ASD-STE100 Simplified Technical English-Standard beim Verfassen von Dokumentationen, Kommentaren oder Antworten verwendet wird“, Coding-Styles und Präferenzen (z. B. Code immer kommentieren) sowie festen Regeln, wie die Anweisung, einen bestimmten Ordner für Entwürfe/Scratch-Dateien zu verwenden oder niemals Dateien zu löschen, es sei denn, dies wird ausdrücklich verlangt..

1 „Gefällt mir“

Ace-dl hat funktioniert, bei meinem konkreten Problem hat es aber leider nicht geklappt.

Claude kann das Problem selbst mit dem Emulator nicht erkennen; er versucht zu erraten, was los ist, und hat Patch über Patch erstellt, aber keiner funktioniert. Er sieht den Fehler zwar in den Videos, die ich ihm schicke, aber das war’s auch schon – er kann das Problem nicht nachstellen, selbst wenn er ace-dl nutzt.

Mein Problem ist, dass das Spiel gelegentlich an den oberen Rändern eine fehlerhafte Linie zeichnet. Ich bin mir nicht sicher, warum.

Ich habe die ganze Woche recherchiert, um zu versuchen, es zu beheben.

Oh… Das hättest du nicht verraten sollen. Es ist doch immer lustiger, wenn sie es selbst herausfinden :slight_smile:

Mein Senf dazu, seitdem ich auf der Arbeit mit Codegenerierung angefangen habe:

  • Stimme vollkommen zu, was kleine, klar definierte Aufgaben angeht. Wenn man programmieren kann und überprüfen kann (den Code oder den Output), was die KI da treibt, ist es besser. Ich muss ihn oft daran erinnern, sich an die Vorgaben zu halten…
    Außerdem zeigt dir deine IDE den Zustand vor der KI-Änderung / mit der Änderung zur Überprüfung an. Je kleiner, desto besser.
  • Was die Optimierung von Assembler-Code angeht, müsste er meiner Meinung nach noch ein bisschen besser trainiert werden… Beim Verschieben von Bits, wie etwa: „Bester Weg, um eine PEN-Farbe (0…15) in Bildschirm-Oktett Subpixel 0 zu übersetzen“. Meine KI hat das Carry-Flag überhaupt nicht genutzt, um die Anzahl der nötigen Rotationen und Shifts zu verringern. Also habe ich es am Ende selbst gemacht… Ein Jammer, oder?
    Wenn du einen Teilbereich zum Optimieren auswählst, sag ihm, auf welche Register er Zugriff hat oder ob er pushen/poppen darf, falls das performanter ist.

Wenn du das Claude-CLI oder den Chat nutzt, verwende regelmäßig „compact“. Das kostet zwar Tokens, kann eine Sitzung aber deutlich verlängern.

Außerdem solltest du nicht zögern, den Kopf der KI „frisch“ zu halten. Sag ihr: „Schreibe mir ein Übergabedokument für eine andere Instanz“, öffne dann ein neues Chat- oder CLI-Fenster und sage dort: „Fahre anhand des Übergabedokuments fort“. Sie startet dann mit einem klareren Gedächtnis und kann das Problem oft besser lösen, als wenn sie sich dem Ende eines Kontextfensters nähert.

Ach, und noch etwas: Nur weil eine KI empfiehlt, nichts zu tun – du hast das Sagen, hinterfrage es, sie ist einfach nur faul!

1 „Gefällt mir“

Ich denke, das könnte auch am linken Rand passieren.

Ziemlich oft tritt es auf, wenn man die Richtung ändert: nach unten scrollen und im nächsten Frame nach oben, oder nach rechts scrollen und im nächsten Frame nach links usw. Vielleicht noch eher, wenn das Scrollen zur nächsten Zeichenzeile/Zeichenspalte wechselt. Die KI muss an der richtigen Stelle neu zeichnen und macht es falsch! Ein klassischer Bug.

Und wahrscheinlich auch am rechten Rand, aber wir können es nicht sehen, da die Hardware-Sprites darüber liegen.

1 „Gefällt mir“