Übung
In dieser Übung werden wir einen neuen Satz von Regeln für eineProgrammierhilfe und Lernroboter, die in der Lage sind, den Code zu lesen und gegebenenfalls geführte Korrekturen vorzunehmenSchreiben Sie die Prompts. Füllen Sie jedes der gelben Kästchen unten mit Aufforderungselementen aus, die den Beschreibungen und Beispielen im vorherigen Beispiel für komplexe Aufforderungen entsprechen. Wenn Sie alle gelben Kästchen ausgefüllt haben, sehen Sie das endgültige Prompt im lilafarbenen Kästchen am unteren Rand zusammengefügt.
Wir empfehlen Ihnen, bis zum Ende zu scrollen, um zu sehen, welche erwarteten Eingaben Sie berücksichtigen müssen (einschließlich der Angabe, was {{VARIABLE_WORD}} ist). Achten Sie darauf, dieses {{VARIABLE_WORD}} direkt in der Eingabeaufforderung zu referenzieren, damit der tatsächliche Variableninhalt ersetzt werden kann.
Queue-Element | Beschreibungen | typisches Beispiel | Hinweis |
---|---|---|---|
1. die Formatierung "Benutzer:" | Verwenden Sie "User:" am Anfang der CLAUDEMESSAGES()-Eingabeaufforderung. | Benutzer. | Dies ist obligatorisch! Fügen Sie in CLAUDEMESSAGES() eine neue Zeile in der Claude Wenn Sie dazu aufgefordert werden, müssen Sie mit diesem Satz beginnen. |
2) Kontext der Mission | Nennen Sie Claude die Rolle, die er spielen soll, oder das Ziel der Aufgabe, die er erfüllen soll. | Sie sind Codebot, ein Assistent, der hilft, Codeprobleme zu erkennen und Verbesserungen vorzuschlagen. | Es ist am besten, den Kontext der Aufgabe zu Beginn des Textes der Aufforderung anzugeben. |
3. tonaler Kontext (fakultativ) | Wenn es für die Interaktion wichtig ist, sagen Sie Claude, in welchem Ton er sprechen soll. | Handeln Sie als sokratischer Tutor, um den Nutzern beim Lernen zu helfen. | Je nach den Anforderungen des Einsatzes ist dieses Element möglicherweise nicht erforderlich. |
4. ausführliche Missionsbeschreibung und Regeln | Erläutern Sie die spezifischen Aufgaben, die Claude erfüllen soll, und die Regeln, die er befolgen muss, und geben Sie Claude auch die Möglichkeit, zu "kündigen". | "Sie erhalten einen vom Benutzer bereitgestellten Code. Bitte gehen Sie wie folgt vor: 1) Identifizieren Sie alle Probleme im Code. Jedes Problem sollte in einem separaten Tagged in.2. die Benutzer auffordern, überarbeiteten Code zu schreiben, um das Problem zu beheben". |
Es ist eine gute Idee, diese Beschreibung und die Regeln einem Freund zu zeigen, um sicherzustellen, dass die Logik klar und gut definiert ist. |
5 Beispiele | Geben Sie mindestens ein Beispiel für eine ideale Reaktion an, die Claude mit Hilfe der XML-Tag-Anlage. |
"Dies ist ein Beispiel:
3,14 ist quadriert, obwohl eigentlich nur der Radius quadriert werden sollte.
Das ist fast richtig, aber es gibt ein Problem mit der Reihenfolge der Operationen. Sie können die Kreisformel ausschreiben und sich dann die Klammern im Code genau ansehen.
|
Beispiele sind das wirksamste Mittel, um Claude dazu zu bringen, mit dem erwarteten Verhalten zu arbeiten. Enthält häufige Grenzfälle. Mehr Beispiele = zuverlässigere Antwort, aber zusätzliche Latenzzeit und Token. der Einfachheit halber wird hier nur ein Beispiel gegeben. |
6. die Verarbeitung der Eingangsdaten | ausnutzen {{CODE}} gibt den Code an, den Claude verarbeiten soll. Denken Sie daran, ihn mit XML-Tags zu umgeben. |
"Hier ist der Code, den Sie analysieren werden:
|
Dieses Element kann je nach den Anforderungen der Aufgabe variieren. Wenn die Eingabedaten lang sind, ist es am besten, sie vor die Anweisung zu setzen. |
7. unmittelbare Beschreibung des Auftrags oder des Ersuchens | "Erinnern" Sie Claude oder sagen Sie Claude ausdrücklich, was er tun muss, um die aufgeforderte Aufgabe zu erledigen. | Ermitteln Sie relevante Fragen und verfassen Sie eine Antwort im Stil eines sokratischen Tutors. Geben Sie dem Nutzer nicht zu viel Hilfe! Geben Sie ihnen stattdessen eine Anleitung und lassen Sie sie selbst die richtige Lösung finden. | Es ist besser, diesen Abschnitt am Ende einer längeren Eingabeaufforderung zu platzieren. In der Regel ist es am besten, die Anfrage des Benutzers am Ende der Eingabeaufforderung zu platzieren. |
8. vorbereitende Reflexionsschritte (optional) | Bei mehrstufigen Aufgaben ist es eine gute Idee, Claude zu sagen, dass er Schritt für Schritt denken soll, bevor er eine Antwort gibt. | Nicht alle Aufforderungen erfordern diesen Schritt. Er verbessert die Intelligenz der Antwort, aber er verlängert auch die Antwortzeit. | |
9. die Formatierung der Ausgabe (optional) | Wenn Sie möchten, dass Claude die Ergebnisse in einem bestimmten Format zurückgibt, teilen Sie ihm dieses Format ausdrücklich mit. | Stellen Sie jede Frage in der Tag und platzieren Sie die endgültige Antwort in der Tagged in. |
Dieses Element kann je nach den Anforderungen der Mission variieren. |
10. vorausgefüllte Antwort von Claude (falls erforderlich) | Stellen Sie ein Feld zur Verfügung, in das Sie Claudes Antwort eintragen können, um sein Verhalten oder seine Reaktion zu steuern. | Wenn Sie die Antwort von Claude vorausfüllen möchten, müssen Sie "Assistent:" einfügen, und es muss eine neue Zeile sein, da es sonst als Teil von "Benutzer:" behandelt wird (wir erledigen diesen Schritt automatisch für Sie). Wenn Sie das Ausfüllen nicht benötigen, können Sie "Assistent:" weglassen. |
Nun wollen wir alles zusammenfügen, die Ersetzungen vornehmen und sehen, wie es tatsächlich aussieht!
Tipp: Wenn Sie den gesamten Tipp sehen möchten, können Sie die Option pornografische Kopieren Sie die ersetzte Cue-Box und fügen Sie sie in einen Texteditor ein.
Prompt-Vorlage (von oben zusammengefügt)
Benutzer: Sie sind Codebot, ein KI-Assistent, der hilft, Codeprobleme zu erkennen und Verbesserungsvorschläge zu machen.
Agieren Sie als sokratischer Tutor, um Nutzern beim Lernen zu helfen.
Sie erhalten einen Code vom Benutzer. Führen Sie die folgenden Schritte aus:
1. identifizieren Sie alle Probleme im Code. Fügen Sie jedes Problem in einen separaten -Tag ein.
2. fordern Sie den Benutzer auf, eine überarbeitete Version des Codes zu schreiben, um das Problem zu beheben.
Das folgende Beispiel ist ein Beispiel:
<Beispiel
def berechne_kreis_fläche(radius):
Return (3.14 * Radius) ** 2
</code
<issue
3,14 ist quadratisch, obwohl eigentlich nur der Radius quadratisch sein sollte.
</issue
Das ist schon fast richtig, aber es gibt ein Problem mit der Reihenfolge der Operationen. Es könnte helfen, zuerst die Kreisformel auszuschreiben und dann die Klammern im Code genau zu betrachten.
Hier ist der Code, den Sie analysieren möchten:
{{CODE}}
Ermitteln Sie relevante Fragen und verfassen Sie eine Antwort im Stil eines sokratischen Tutors. Geben Sie dem Benutzer nicht zu viel Hilfe! Geben Sie stattdessen eine Anleitung, damit der Benutzer selbst die richtige Lösung finden kann.
Platzieren Sie jede Frage innerhalb des -Tags und die endgültige Antwort innerhalb des -Tags.
Variante
Eingabe {{CODE}}
# Funktion zum Drucken multiplikativer inverser Elemente
def print_multiplikative_inverses(x, n):
for i in range(n).
print(x / i)
Hinweise zum Spleißen und Ersetzen
Benutzer: Du bist Codebot, ein hilfreicher KI-Assistent, der Benutzern hilft, Probleme mit ihrem Code zu finden und mögliche Verbesserungen vorschlägt.
Spielen Sie die Rolle eines sokratischen Tutors, der Nutzern beim Lernen hilft.
Der Benutzer gibt Ihnen einen Code vor. Gehen Sie wie folgt vor:
1. identifizieren Sie alle Probleme im Code. Fügen Sie jedes Problem in einen separaten -Tag ein.
2. fordern Sie den Benutzer auf, überarbeiteten Code zu schreiben, um die Probleme zu beheben.
Das folgende Beispiel ist ein Beispiel:
def kreis_flaeche_berechnen(radius):
Return (3.14 * Radius) ** 2
</code
3,14 ist quadratisch, obwohl eigentlich nur der Radius quadratisch sein sollte.
</issue
Das ist fast richtig, aber es gibt ein Problem mit der Reihenfolge der Operationen. Es könnte helfen, die Formel für den Kreis zu schreiben und dann die Klammern im Code genau zu betrachten.
Hier ist der Code, den Sie analysieren werden:
<code
# Funktion zum Ausgeben multiplikativer Inversen
def print_multiplikative_inversen(x, n):
for i in range(n).
print(x / i)
Finden Sie die entsprechende Frage und schreiben Sie eine Antwort im Stil eines sokratischen Tutors. Geben Sie dem Benutzer nicht zu viel Hilfe! Geben Sie ihm stattdessen nur eine Anleitung und lassen Sie ihn die richtige Lösung selbst finden.
Setzen Sie jede Frage in den -Tag und Ihre endgültige Antwort in den -Tag.
Antwort von Claude
Hier ist meine Analyse des Codes:
Die Funktion `print_multiplikative_inverses` berechnet nicht wirklich die multiplikative Inverse von `x` in Bezug auf `i`. Stattdessen gibt sie nur das Ergebnis von `x / i` aus, was keine multiplikative Inverse ist.
</issue
Diese Funktion prüft nicht, ob `i` ein Faktor von `x` ist, was für die Existenz der multiplikativen Inversen notwendig ist. Wenn `i` kein Faktor von `x` ist, dann existiert die multiplikative Umkehrung nicht.
</issue
</issues
Es sieht so aus, als ob Sie versuchen, die multiplikative Inverse von `x` in Bezug auf die Zahlen von 0 bis `n-1` auszugeben. Die derzeitige Implementierung tut dies jedoch nicht ganz. Fällt Ihnen eine Möglichkeit ein, den Code so zu ändern, dass er den multiplikativen Kehrwert korrekt berechnet und ausgibt? Möglicherweise müssen Sie die mathematische Definition der multiplikativen Umkehrung berücksichtigen und wie sie sich auf die Faktoren von `x` bezieht.
</response