TuBrief
구독 채널
비디오
커뮤니티

Wie man riesige Prompts aufteilt, um Token-Verschwendung bei Agenten zu reduzieren

TuBrief 편집팀
2026년 3월 14일
0
Computing/Software

원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.

Deutsch한국어EnglishEspañol中文العربيةहिन्दीFrançaisPortuguêsРусскийBahasa Indonesia日本語

관련 영상

▲ Community-Session: So erstellst und veröffentlichst du Skills1:03:28

▲ Community-Session: So erstellst und veröffentlichst du Skills

Vercel

커뮤니티의 다른 글

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

2026년 9월 13일

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

2026년 9월 13일

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

2026년 9월 13일

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

2026년 9월 13일

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

2026년 9월 12일

Apple Won the AI Race

2026년 9월 12일

댓글 (0)

Log in to leave a comment

아직 작성된 글이 없습니다

© 2026 . All rights reserved.

TuBrief
구독 채널
비디오
커뮤니티
로그인

Wie man riesige Prompts aufteilt, um Token-Verschwendung bei Agenten zu reduzieren

Eine monolithische Architektur, die alle möglichen Richtlinien und Tools in einen einzigen System-Prompt presst, stößt schnell an ihre Grenzen. Schon bei etwas längeren Konversationen vergisst der Agent die Anweisungen, die mitten im Prompt standen. Da bei jeder Anfrage zigtausend Tokens redundant übertragen werden, schießen die Inferenzkosten in die Höhe und man muss lange warten, bis das erste Token generiert wird.

In der Praxis wird dieses Problem durch eine schrittweise Kontextlade-Struktur gelöst, die auf der offenen Spezifikation von agentskills.io basiert. Dabei handelt es sich um einen Ansatz, bei dem die entsprechenden Skills nur im Bedarfsfall geladen werden, um Tokens zu sparen.

Kriterien für die Aufteilung in unabhängige Markdown-Skill-Dateien

Monolithische System-Prompts sollten anhand von Domänengrenzen, Tool-Ausführungsrechten und der Ausführungshäufigkeit aufgeteilt werden. Um zu verhindern, dass sich Skills bei der Einbettungs-Ähnlichkeitssuche gegenseitig behindern, sollten in einer einzigen Sitzung maximal 3 Skills gleichzeitig aktiv sein.

Am Anfang der ausgelagerten Skill-Datei sollte ein YAML-Frontmatter stehen, das einen Identifier (der nur aus Bindestrichen, englischen Kleinbuchstaben und Zahlen besteht) sowie den Zweck der Ausführung angibt.

`yaml

name: backend-api-generator
description: Generates Spring Boot REST API controller and service boilerplate code. Use when the user asks to create API endpoints, build REST controllers, or define DTO mappings for backend services.
when_to_use:

  • User requests new REST API endpoint creation
  • User provides database schema and asks for controller layer implementation
  • Do NOT use for: database migration SQL, frontend component generation
    allowed-tools:
  • read_file
  • write_file
  • list_directory
    effort: medium

`

Der Prozess zum Erstellen einer schrittweisen Ladestruktur ist einfach:

  • Bei der Initialisierung des Agenten werden nur die YAML-Frontmatter-Metadaten aller Skills im Verzeichnis (ca. 100 Tokens pro Skill) in den Prompt geladen.
  • Wenn eine Benutzeranfrage eingeht, wird deren semantische Ähnlichkeit mit den Skill-Beschreibungen verglichen, um nur den benötigten Skill-Inhalt dynamisch abzurufen.
  • In der Ausführungsphase werden gemäß den Anweisungen im Hauptteil die erforderlichen Hilfsskripte ausgeführt und nur die Ergebnisse in den Kontext einbezogen.

Wenn man eine monolithische Struktur, die ständig 15.000 bis 30.000 Tokens belegt, auf eine SKILL.md-Struktur mit Lazy Loading umstellt, sinkt der anfängliche Token-Overhead um über 90 %. Basierend auf internen Testdaten von Anthropic lässt sich die p95-Latenz um 12 % bis 40 % verkürzen und der durchschnittliche Token-Verbrauch pro Konversation um 29,6 % senken.

Interne Einschränkungen zur Verhinderung von Kontextkontamination

Wenn mehrere Skills nacheinander geladen werden, verbleiben die Anweisungen des vorherigen Skills oft in der Sitzung und verfälschen die nächste Aufgabe. Bei risikoreichen Prüfungen oder Vorgängen, die viele Protokolle hinterlassen, sollte im YAML-Frontmatter eine Unterkontext-Verzweigung (context: fork) eingerichtet werden, um eine Isolierung auf Prozessebene zu erreichen.

`yaml

name: security-vulnerability-auditor
description: Audits backend source code for OWASP top 10 security flaws. Use when auditing code security or checking for SQL injection vulnerabilities.
context: fork
model: claude-sonnet-4-20250514
effort: high

`

Auch die klare Definition von Ein- und Ausgabedatenverträgen (Data Contracts) darf nicht fehlen.

  • Durch die Deklaration von Argument-Strukturen und der Liste erlaubter Tools (allowed-tools) in den YAML-Metadaten werden beliebige Bash-Ausführungen oder unüberlegte Netzwerkaufrufe verhindert.
  • Im Hauptteil werden Regeln für ein reines JSON-Ausgabeschema ohne Markdown-Wrapping festgelegt.
  • Die Anweisungen werden so eingeschränkt, dass nur das Endergebnis an die Konversationssitzung zurückgegeben wird.

`markdown

Output Schema Contract

All responses must strictly adhere to the following JSON structure without markdown wrapping:
{
"status": "SUCCESS" | "FAILED",
"generated_files": [
{
"path": "string",
"content": "string"
}
],
"error_message": "string | null"
}

`

Die Isolierung in einen Subprozess verhindert, dass Tool-Aufrufprotokolle die Hauptsitzung überfluten. Da die Hauptkonversationssitzung sauber bleibt, sinkt auch die Fehlerwahrscheinlichkeit beim Datenaustausch zwischen Sub-Agenten.

Entwicklung von Schutzmechanismen zur Blockierung von Endlosschleifen

Wenn Anforderungen unklar sind oder Tool-Aufrufe wiederholt fehlschlagen, gerät der Agent in eine Endlosschleife von Wiederholungen. Das ist der Moment, in dem innerhalb weniger Minuten API-Kosten in Höhe von Dutzenden von US-Dollar verbrannt werden. Wenn man am Ende des Skill-Dateitextes eine schrittweise statische Überprüfungscheckliste (Verification Checklist) einfügt, führt der Agent vor Beendigung der Aufgabe eine Selbstüberprüfung durch.

`markdown

Execution & Self-Testing Protocol

Before declaring the task finished, you MUST sequentially execute the following verification checklist:

  1. [Pre-check] Verify that all required input parameters are present. If mandatory arguments are missing, STOP immediately and ask the developer for input.
  2. [Generation] Write the requested implementation code.
  3. [Syntax Verification] Check the written code for missing imports, unresolved symbols, and syntax errors.
  4. [Self-Correction] If a syntax error is identified, attempt correction ONCE. Do not re-run the file write tool more than twice for the same error.

`

Auch das Schreiben eines Circuit Breakers, der die Schleife physisch unterbricht, ist unkompliziert:

  • Oben im Skill wird die maximale Anzahl von Tool-Aufrufen (MAXIMUM_TOOL_CALL_LIMIT: 3) angegeben.
  • Es wird eine Einschränkung formuliert, dass bei zweimaligem aufeinanderfolgendem Auftreten desselben Fehlercodes keine weiteren Tool-Aufrufe mehr getätigt werden.
  • Es wird angewiesen, die Ausführung bei Erreichen der Abbruchbedingung sofort zu stoppen und ein Benachrichtigungsformat auszugeben.

`markdown
[SKILL EXECUTION HALTED]
Skill Name: backend-api-generator
Failure Reason: [Brief error description]
Attempts Made: [Number of retries]
Suggested Action: [Action required by backend developer]

`

Bei riskanten Aktionen wie dem Löschen von Dateien oder dem Drop von Datenbanken ist es sicherer, die Option disable-model-invocation: true zu aktivieren. Damit wird verhindert, dass der Agent diese eigenständig aufruft, und es wird eingeschränkt, dass sie nur ausgeführt werden, wenn der Entwickler einen Slash-Befehl (/skill-name) direkt eingibt.

Versionsverwaltung und Bereitstellung in teamweiten Repositories

Wenn Teamkollegen gemeinsam Skills schreiben, sollten sie der Standard-Verzeichnisarchitektur von agentskills.io folgen, um Konflikte mit Markdown-Dateien zu vermeiden. Im Hauptordner werden Hauptteil, CLI-Skripte, Referenzdokumente und statische Vorlagenressourcen klar voneinander getrennt platziert.

Verzeichnis- und Dateipfad Rolle Erstellungsrichtlinie
skills/api-generator/SKILL.md Pflicht-Einstiegsdokument Enthält YAML-Frontmatter und zentrale Prozessrichtlinien (innerhalb von 500 Zeilen)
skills/api-generator/scripts/ Ordner für ausführbaren Code Speicherort für Python/Bash-CLI-Skripte, die der Agent bei Bedarf aufruft
skills/api-generator/references/ Ordner für Hilfsreferenzdokumente Enthält umfangreiche API-Spezifikationen, DB-Schemata und Styleguides
skills/api-generator/assets/ Ordner für statische Ressourcen-Templates Speichert generierten Code-Boilerplate und Konfigurationsdateibeispiele

Zur Überprüfung der Skill-Qualität wird das Evaluierungs-Framework promptfoo verwendet.

  • Im Dateinamen promptfooconfig.yaml werden der Pfad zur zu testenden SKILL.md und das LLM-Modell angegeben.
  • Es werden Testfälle geschrieben, die das Intent-Matching und die Einhaltung des JSON-Formats überprüfen.
  • Im Terminal wird der Befehl npx promptfoo@latest eval ausgeführt, um die Einhaltung der Richtlinien zu messen.

`yaml
description: "Backend Agent Skills Validation Suite"
prompts:

  • "file://skills/api-generator/SKILL.md"
    providers:
  • id: "anthropic:messages:claude-3-5-sonnet-20241022"
    tests:
  • description: "Test automatic skill activation for REST API generation query"
    vars:
    user_query: "Create a Spring Boot REST Controller for User Management."
    assert:
    • type: icontains
      value: "backend-api-generator"
    • type: javascript
      value: "output.includes('@RestController') && output.includes('ResponseEntity')"

`

Für die Bereitstellung wird eine Trunk-Based-Development-Strategie mit kurzlebigen Branches und Git-Tags (v1.2.0) kombiniert. Wenn sich ein Agent in der Produktion fehlerhaft verhält, kann man mit dem Befehl git checkout tags/v1.1.0 -b hotfix/rollback sofort auf den Stand des vorherigen Tags zurückrollen.