From 76b56e653398d42f0cfad19069088d0be6129455 Mon Sep 17 00:00:00 2001 From: Hatice Yildirim <Hatice.Yildirim@student.reutlingen-university.de> Date: Sun, 13 Apr 2025 00:21:25 +0200 Subject: [PATCH] Add Optional Assignment: Meta Prompt --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0974c20..2508435 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # 03_LLM_Assignment -# Prompt: Du bist ein Experte für Softwareentwicklung und Git-Best Practices. Deine Aufgabe ist es, Git Commit Messages zu bewerten. +## Prompt: Du bist ein Experte für Softwareentwicklung und Git-Best Practices. Deine Aufgabe ist es, Git Commit Messages zu bewerten. -# Bewertung von Commit Messages auf Basis der 7 Regeln von Chris Beams (https://cbea.ms/git-commit/#seven-rules): +## Bewertung von Commit Messages auf Basis der 7 Regeln von Chris Beams (https://cbea.ms/git-commit/#seven-rules): 1. Separates Motiv vom Körper mit Leerleitung 2. Begrenzen Sie die Betreffzeile auf 50 Zeichen 3. Die Betreffzeile nutzen @@ -11,14 +11,14 @@ 6. Wickeln Sie den Körper mit 72 Zeichen 7. Verwenden Sie den Körper, um zu erklären, was und warum wiehow -# Gib eine Bewertung von 1 bis 5 zurück: +## Gib eine Bewertung von 1 bis 5 zurück: 1 = sehr schlecht 2 = schwach 3 = durchschnittlich 4 = gut 5 = exzellent -# Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Good") basierend auf den 7 Regeln von Chris Beams mithilfe von ChatGPT +### Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Good") basierend auf den 7 Regeln von Chris Beams | Commit Message | Score by ChatGPT | Score by Copilot | |----------------|------------------|------------------| @@ -28,7 +28,7 @@ | Update HierarchicalUriComponents.toUri() to only prepend a missing '/' when the scheme, user info, host or port are specified. This makes the toUri() method behave in the same way as .toUriString() and allows relative URIs to be created. | 5 | 5 | | UriComponentsBuilder supports query without value | 3 | 3 | -# Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Bad") basierend auf den 7 Regeln von Chris Beams mithilfe von ChatGPT +### Ziel: Bewertung von Git Commit Messages (Excel-Tabelle "Bad") basierend auf den 7 Regeln von Chris Beams | Commit Message | Score by ChatGPT | Score by Copilot | |----------------|------------------|------------------| @@ -36,4 +36,52 @@ | re-adding mock.jndi.* artifacts to .orm test codebase eliminated after moving away from svn:externals | 4 | 4 | | polishing | 1 | 1 | | IN PROGRESS - issue SPR-5599: Hook @Configuration class processing into context:component-scan/ and context:annotation-config/ through AnnotationConfigUtils#registerAnnotationConfigProcessors | 3 | 3 | -| moving unit tests from .testsuite -> .core, .beans, .web, .web.portlet, .web.servlet | 4 | 4 | \ No newline at end of file +| moving unit tests from .testsuite -> .core, .beans, .web, .web.portlet, .web.servlet | 4 | 4 | + +# Optional Assignment: Meta Prompt – Let the LLM create a scoring prompt + +## Git Commit Message Scoring System + +Ein System zur Bewertung von Git-Commit-Nachrichten. Basierend auf den 7 Regeln für gute Commit-Nachrichten aus Chris Beams Blogpost "How to Write a Git Commit Message", wird eine Commit-Nachricht auf deren Qualität hin überprüft. + +## Meta-Prompt + +Der folgende Meta-Prompt wurde verwendet, um das Sprachmodell zu bitten, eine Bewertungsaufforderung für Git-Commit-Nachrichten basierend auf den 7 Regeln von Chris Beams zu erstellen: + +Erstelle eine Eingabeaufforderung, die eine Git-Commit-Nachricht anhand der 7 Regeln von Chris Beams für gute Commit-Nachrichten bewertet. Die 7 Regeln sind: +1. Trenne die Betreffzeile vom Nachrichtentext durch eine Leerzeile. +2. Begrenze die Betreffzeile auf maximal 50 Zeichen. +3. Beginne die Betreffzeile mit einem Großbuchstaben. +4. Beende die Betreffzeile nicht mit einem Punkt. +5. Verwende den Imperativ in der Betreffzeile. +6. Umbrüche im Nachrichtentext sollen nach 72 Zeichen erfolgen. +7. Der Nachrichtentext sollte erklären, *was* und *warum* geändert wurde, nicht *wie*. + +## Bewertungsaufforderung (Antwort des Modells) + +Das Sprachmodell hat folgende Bewertungsaufforderung zur Analyse von Commit-Nachrichten erstellt: + +Besipeil Commit-Nachricht: "fix: Behebe Fehler bei der Anmeldung" + +1. Ist die Betreffzeile richtig formatiert? (Leerzeile zwischen Betreff und Nachricht) +2. Hat die Betreffzeile weniger als 50 Zeichen? +3. Beginnt die Betreffzeile mit einem Großbuchstaben? +4. Endet die Betreffzeile mit einem Punkt? +5. Wird der Imperativ in der Betreffzeile verwendet? +6. Ist der Nachrichtentext korrekt umgebrochen (72 Zeichen)? +7. Erklärt die Nachricht, was und warum geändert wurde? + +Bewertung: +1. Trennung von Betreffzeile und Nachrichtentext: Ja +2. Länge der Betreffzeile: Ja (weniger als 50 Zeichen) +3. Großschreibung der Betreffzeile: Nein (Betreffzeile sollte mit einem Großbuchstaben beginnen) +4. Punkt am Ende der Betreffzeile: Nein +5. Verwendung des Imperativs: Ja (verwendet "Behebe") +6. Umbrüche im Nachrichtentext: Ja (keine Probleme mit dem Umbruch) +7. Erklärung von Was und Warum: Ja (erklärt, was geändert wurde, aber warum nicht ganz klar) + +Gesamtbewertung: 6 von 7 + +## Zusammenfassung + +Mit diesem System können Git-Commit-Nachrichten automatisch anhand der 7 Regeln von Chris Beams bewertet werden. Das System hilft dabei, die Qualität von Commit-Nachrichten zu verbessern und sicherzustellen, dass sie klar und standardisiert sind. \ No newline at end of file -- GitLab