Release Notes aus Git-Commits mit KI erstellen

Ein Agent macht aus einer Liste von Commits Release Notes für Kunden, gruppiert und mit Breaking Changes zuerst.

  • Dateien
  • Budgetlimit

Eine echte Ausführung ansehen

Eine echte Ausführung vom 7. Okt. 2026, erneut abgespielt. Modell: openai/gpt-6-luna.

Erfolgreichrun_c697350f053152ff39bf441f8d691425$0.002963 von $0.03
  1. In WarteschlangeBudget $0.03 reserviert
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell off · web off
  4. Dateiread commits.txt
  5. MicroVMmicroVM destroyed
  6. Erfolgreich2 Modellaufrufe, 2,265 TokensAufgezeichnete Ausgabe (Englisch)

    Breaking changes

    • Update /v1/runs requests to use max_cost_micros instead of limit; the old field is no longer supported.

    New

    • Schedule email delivery for saved reports.
    • Use dark mode on the dashboard.
    • View invoices on a dedicated page linked from Settings.

    Improved

    • Large report CSV exports stream to avoid timing out.
    • Dashboard summary queries are cached for 60 seconds.

    Fixed

    • Users stay signed in after resetting their password.
    • An error is shown when an Excel row cannot be parsed.
    • Opening an empty report on mobile no longer crashes.
  7. Worker zerstört$0.002963 berechnet, $0.027037 freigegeben
Modell $0.000363 · Web $0.00 · Rechenleistung $0.0026

Selbst ausführen

Öffnen Sie das Beispiel im Playground, mit der vollständig ausgefüllten Anfrage. Es läuft in Ihrem eigenen Konto, innerhalb des angezeigten Budgets, gegen dieselben schreibgeschützten Beispielsysteme.

Budget für dieses Beispiel: $0.03

So funktioniert es

Fügen Sie die Ausgabe von git log ein und erhalten Sie Notes, die für Kunden statt für Entwickler geschrieben sind: Interne Aufgaben bleiben draußen, Breaking Changes stehen zuerst, mit dem, was zu tun ist. Die Commits sind eine schreibgeschützte Datei, sodass kein Repository-Zugriff nötig ist.

Was der Agent tun kann und was nicht

Die Berechtigungen sind Teil der Anfrage. Alles, was hier nicht aufgeführt ist, steht der Ausführung nicht zur Verfügung.

EinstellungErlaubt
VerbindungenKeine
WebAus
ShellAus
Dateiencommits.txt (schreibgeschützt)
Null-DatenspeicherungAus: Das Protokoll wird 30 Tage lang gespeichert
Budget$0.03, ein festes Limit
Timeout60 Sekunden

Zugangsdaten gelangen nie in die Maschine: Ein Broker ergänzt sie bei jedem Aufruf und erzwingt die oben genannten Methoden.

Der Code

Das ist die genaue Anfrage, die das Beispiel sendet. Setzen Sie EPHEMERAL_API_KEY auf einen Mitgliedsschlüssel Ihrer Organisation.

curl -X POST $EPHEMERAL_URL/v1/runs \
  -H "Authorization: Bearer $EPHEMERAL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @request.json

Dateien in der Anfrage

Inline übergeben, es wird also nichts vorher hochgeladen. Der Agent sieht jede einzelne als schreibgeschützte Datei.

commits.txt
commits.txt
a1f3c9e feat(reports): add scheduled email delivery for saved reports
b72d0aa fix(export): stream CSV exports so large reports no longer time out
c9e4d11 chore(deps): bump eslint to 9.12
d03a6be feat(api)!: rename /v1/runs field "limit" to "max_cost_micros" (old name removed)
e5b1f72 fix(auth): keep users signed in after a password reset
f8c0a34 docs: clarify webhook signature verification
0a9d7be refactor(db): move report queries into their own module
1b2c3d4 feat(ui): dark mode for the dashboard
2c3d4e5 fix(import): show an error when an Excel row cannot be parsed
3d4e5f6 test: add integration tests for billing proration
4e5f607 fix(mobile): prevent crash when opening an empty report
5f60718 perf(dashboard): cache the summary query for 60 seconds
6071829 ci: speed up the build with a dependency cache
718293a feat(billing): show invoices on a dedicated page linked from Settings
Vollständiger Anfragetext request.json

Derselbe Text, mit den Dateien inline.

request.json
{
  "prompt": "commits.txt lists the commits of the next release (hash, then a conventional-commit message; '!' marks a breaking change). Write release notes for customers in Markdown, at most 200 words. First a 'Breaking changes' section with what a customer must change (omit it if none), then 'New', 'Improved' and 'Fixed'. Leave out chores, tests, CI, docs-only and refactor commits. Write in plain language, one line per change, no hashes. Use only what the messages say and never invent details.",
  "files": [
    {
      "path": "commits.txt",
      "content": "a1f3c9e feat(reports): add scheduled email delivery for saved reports\nb72d0aa fix(export): stream CSV exports so large reports no longer time out\nc9e4d11 chore(deps): bump eslint to 9.12\nd03a6be feat(api)!: rename /v1/runs field \"limit\" to \"max_cost_micros\" (old name removed)\ne5b1f72 fix(auth): keep users signed in after a password reset\nf8c0a34 docs: clarify webhook signature verification\n0a9d7be refactor(db): move report queries into their own module\n1b2c3d4 feat(ui): dark mode for the dashboard\n2c3d4e5 fix(import): show an error when an Excel row cannot be parsed\n3d4e5f6 test: add integration tests for billing proration\n4e5f607 fix(mobile): prevent crash when opening an empty report\n5f60718 perf(dashboard): cache the summary query for 60 seconds\n6071829 ci: speed up the build with a dependency cache\n718293a feat(billing): show invoices on a dedicated page linked from Settings\n"
    }
  ],
  "shell": false,
  "timeout_seconds": 60,
  "max_cost_micros": 30000
}

Mehr erfahren

Ähnliche Beispiele

esc

Keine Treffer für „“.