Zum Inhalt springen

Konzept

Warum es das .exons-Format gibt und wie es aufgebaut ist.

Der Name

In der Molekularbiologie sind Exons die Abschnitte eines Gens, die eine Zelle tatsächlich in Proteine übersetzt — der ausgedrückte, wirksame Teil. Eine .exons-Datei ist das Gegenstück für einen Agenten: die ausdrückbare, ausführbare Spezifikation seines Verhaltens.

Zweiteilige Datei

Jede .exons-Datei besteht aus zwei Teilen:

  1. YAML-Frontmatter — die Konfiguration: Identität, Ausführungsparameter, Werkzeuge, Gedächtnis, Sicherheit und mehr.
  2. Template-Body — der Prompt, geschrieben mit der {~…~}-Template-Syntax.
greeter.exons
---
name: greeter
description: A friendly greeter agent
type: agent
execution:
  provider: openai
  model: gpt-4o
  temperature: 0.7
---
{~exons.message role="system"~}
You are a friendly greeter.
{~/exons.message~}

{~exons.message role="user"~}
Say hello to {~exons.var name="user_name" default="World" /~}
{~/exons.message~}

Dokumenttypen

Der Typ legt fest, welche Felder erlaubt sind. Es gibt genau drei:

TypBeschreibung
promptEinfaches Template — Variablen, Bedingungen, Schleifen. Keine Skills/Tools/Constraints.
skillWiederverwendbare Fähigkeit mit Inputs/Outputs. Kann Gedächtnis, Registry und Verifikation haben.
agentVollständiger Agent mit Werkzeugen, Skills, Constraints und Metadaten. Alle Felder verfügbar.

Warum {~…~}

Prompts enthalten oft selbst geschweifte Klammern, doppelte geschweifte Klammern oder eckige Klammern — JSON, XML, Go-Templates, Jinja-artige Syntax. Die {~…~}-Delimiter wurden bewusst so gewählt, dass sie niemals mit Prompt-Inhalten kollidieren. Ein Prompt kann unverändert JSON-Beispiele oder Code enthalten, ohne dass die Template-Engine durcheinandergerät.

Hinweis

Brauchst du ein literales {~ in der Ausgabe, schreibe \{~ — die Escape-Sequenz erzeugt die wörtlichen Zeichen.

Weiter