Ihre Systemaufforderung ist keine Anweisungen. Es sind Daten.
Your system prompt isn't instructions. It's data.
Meine systemaufforderung hatte ein beispiel für eine gute slack-nachricht darin. Es begann mit "Morning all, quick one:". Das modell begann, echte slack-entwürfe mit genau diesem satz zu öffnen. Dann fing es an, "Morgen" zu sagen, als ich "hey" tippte, was eine kleine Lüge ist, weil es keine Uhr sehen kann. Also habe ich eine Regel hinzugefügt, die ihm sagt, dass er Beispiele aus seinen eigenen Anweisungen nicht wiederverwenden soll. Drei Umbauten. Keine Änderung. Dann habe ich den Satz gelöscht. Fix für den nächsten Build. Das war, als es klickte. Das Modell liest Ihre Systemaufforderung nicht als eine Liste von Anweisungen. Es liest es als Text, der wahrscheinlich in der Nähe seiner eigenen Ausgabe erscheint. Jeder Befund unten fällt aus dieser einen Idee. Die vier Regeln, die ich jetzt schreibe, werden von Wenn eine Phrase nicht in der Ausgabe erscheinen darf, darf sie nicht in der Eingabeaufforderung erscheinen. Es zu verbieten funktioniert nicht. Es zu löschen...
Meine systemaufforderung hatte ein beispiel für eine gute slack-nachricht darin. Es begann mit "Morning all, quick one:". Das modell begann, echte slack-entwürfe mit genau diesem satz zu öffnen. Dann fing es an, "Morgen" zu sagen, als ich "hey" tippte, was eine kleine Lüge ist, weil es keine Uhr sehen kann. Also habe ich eine Regel hinzugefügt, die ihm sagt, dass er Beispiele aus seinen eigenen Anweisungen nicht wiederverwenden soll. Drei Umbauten. Keine Änderung. Dann habe ich den Satz gelöscht. Fix für den nächsten Build. Das war, als es klickte. Das Modell liest Ihre Systemaufforderung nicht als eine Liste von Anweisungen. Es liest es als Text, der wahrscheinlich in der Nähe seiner eigenen Ausgabe erscheint. Jeder Befund unten fällt aus dieser einen Idee. Die vier Regeln, die ich jetzt schreibe, werden von Wenn eine Phrase nicht in der Ausgabe erscheinen darf, darf sie nicht in der Eingabeaufforderung erscheinen. Es zu verbieten funktioniert nicht. Das Löschen tut es. Ein schlechtes Beispiel nennt es. "Nicht das Bankguthaben eins" ist ein ausgezeichneter Weg, um das Bankguthaben eins zu bekommen. Position schlägt Formulierung. Eine in der Mitte begrabene Regel wird gelesen und gehandelt. Die gleichen Wörter oben in diesem Abschnitt halten. Beton schlägt prinzipiell. "Call before the rename" landet sofort. "Beschreiben Sie nur die Garantie, die der Code tatsächlich macht" tut nichts. Und derjenige, der mir die meiste Zeit gespart hat, nachdem es mich die meiste Zeit gekostet hat: Überprüfen Sie drei Samen, bevor Sie etwas davon glauben. Hier sind die Beweise für jeden. Das Setup Flash Onyx ist die Modelllinie hinter Flash, meiner lokalen Agenten-Shell. Es geht nicht um Feinabstimmung. Onyx ist ein Basismodell und eine Systemaufforderung, die auf etwa 680 Zeilen angewachsen ist, die in ein Ollama-Tag mit einem kleinen Skript eingebaut ist: 2.5 ist die Version, in der ich aufgehört habe, diese Aufforderung nach Gefühl zu bearbeiten. Die Schleife ist nicht clever: Bearbeiten Sie die Eingabeaufforderung, bauen Sie das Tag neu auf, führen Sie einen festen Satz von Eingabeaufforderungen an gepinnten Seeds aus, lesen Sie die Ausgabe, entscheiden Sie, ob sich tatsächlich etwas geändert hat. Samen sind angeheftet, so dass zwei Läufe vergleichbar sind. Das ist die gesamte Methode, und es ist der Unterschied zwischen "das liest sich besser für mich" und "das ging vom Versagen auf drei Samen zu übergeben auf drei Samen". 1. Ihre Beispiele sind keine Beispiele. Es sind Proben. Die slack-linie war die kleine version. Hier ist der teure. Während ich feststellte, wie Onyx die Dinge erklärt, gab ich ihm eine Demonstrationsantwort für "was ist eine Sackgasse", komplett mit zwei Funktionen, die in entgegengesetzter Reihenfolge Schlösser nehmen. Onyx klebte diese Antwort Wort für Wort zurück, erfand Funktionsnamen. Dann begann der Opener von dieser Demo als Antwort auf "was ist eine Rennbedingung". Was ein anderes Konzept ist. Eine Stildemonstration hatte sich in einen Korrektheitsfehler verwandelt. Demonstrationen sind immer noch das mächtigste Werkzeug in der Box. Sie müssen nur so geformt werden, dass eine wortwörtliche Paste entweder harmlos oder unmöglich ist. Wenn ich eine vollständige Antwort zitiere, ist es jetzt für eine Frage, die niemand stellt, und alles, was ich eigentlich kopiert haben möchte, wird in Fragmenten zitiert, die das Modell zusammenstellen muss. 2. Sechs Umbauten auf einem Fehler, der nie existierte, verbrachte ich sechs Revisionen damit, Onyx daran zu hindern, mit einer Lehrbuchvorlesung zu antworten: Definitionssatz, nummerierte Spur mit zwei Fäden, Schlusslinie über Schlösser. Nichts, was ich schrieb, bewegte es. Dann lief ich die gleiche Aufforderung an drei anderen Samen. Alle drei waren für die meisten dieser sechs Revisionen saubere Prosa gewesen. Seed 7 war ein Ausreißer, und ich hatte Regeln umgeschrieben, die bereits funktionierten. Pinned Samen machen Läufe reproduzierbar, was der Punkt von ihnen ist. Sie lassen auch eine einzelne unglückliche Stichprobe genau wie ein deterministisches Regelversagen aussehen. Drei Samen, bevor Sie etwas berühren, jedes Mal jetzt. 3. Verschieben einer Zeile fixiert, was vier Umschreibungen nicht konnten Die Aufforderung sagt Onyx, Python 3.9 zu zielen, denn das ist es, was ein Mac Ihnen standardmäßig gibt. Es schrieb ständig Anmerkungen, die ein auf 3.9 erheben. Ich habe diese Regel viermal umgeschrieben. Ich habe jede Pfeife aus der Eingabeaufforderung entfernt, falls sie sie grundieren würden. Ich habe eine korrekte Beispielsignatur zum Kopieren hinzugefügt. Jeder Same, jeder Bau: Die Regel war vierzehn Zeilen in der Python-Sektion. Ich bewegte die gleichen Wörter, unverändert in der Bedeutung, in die Eröffnungszeilen dieses Abschnitts. Fiber