Agent-Kontext-Engineering
Agent 上下文工程(Agent-Kontext-Engineering) ist eine technische Praxis zur systematischen Gestaltung und Optimierung der Kontextinformationen, die an KI-Agenten übergeben werden. Ihr Ziel ist es, Agenten in die Lage zu versetzen, innerhalb eines begrenzten Kontextfensters die wirksamsten Informationen zu erhalten, wodurch die Genauigkeit, Effizienz und Zuverlässigkeit der Aufgabenausführung verbessert werden.
Anders als traditionelle Programme haben KI-Agenten keine feste Ausführungslogik; ihr Verhalten wird vollständig durch den Kontext bestimmt, den sie erhalten — einschließlich System-Prompts, Tool-Beschreibungen, Gesprächsverlauf und extern abgerufener Informationen.
Der Kern des Kontext-Engineerings besteht darin, eine Frage zu beantworten:Was muss der Agent in dieser Aufrufrunde am dringendsten wissen?

Kontext-Engineering ist kein einmaliges Schreiben von Prompts, sondern ein kontinuierlicher Optimierungsprozess, der sich über den gesamten Lebenszyklus der Entwicklung, des Testens und des Betriebs von Agent-Systemen erstreckt.
Kernelemente
Der Agent-Kontext besteht aus den folgenden Ebenen:
| Ebene | Inhalt | Eigenschaften |
|---|---|---|
| System-Prompt | Rollendefinition, Verhaltensregeln, Anforderungen an das Ausgabeformat | Wird bei jedem Aufruf mitgeführt, relativ stabil |
| Tool-Definitionen | Namen, Parameter und Funktionsbeschreibungen der verfügbaren Tools | Verbraucht eine große Anzahl von Token, muss prägnant sein |
| Verlauf | Gesprächs- und Tool-Aufrufprotokolle der aktuellen Sitzung | Wächst kontinuierlich, erfordert Strategien zur Kürzung oder Zusammenfassung |
| Abgerufener Kontext | Inhalte, die aus externen Wissensdatenbanken oder Code-Repositories abgerufen werden | Bedarfsgerecht injiziert, erfordert Relevanz-Ranking |
| Benutzereingabe | Die aktuelle Anweisung oder Frage des Benutzers | Nicht kontrollierbar, kann aber durch Klärung optimiert werden |
Kernpraktiken
Kontextbudget-Verwaltung
Betrachten Sie das Kontextfenster als ein begrenztes „Budget“ und teilen Sie es sinnvoll auf verschiedene Arten von Kontext auf.
Nicht alle Informationen verdienen es, Kontextraum zu belegen; jeder Kontext sollte einen klaren ROI haben.
上下文预算分配建议(以 200K token 窗口为例): 系统提示 ██████████ 10% (20K token) 工具定义 ████████████████ 20% (40K token) 检索上下文 ████████████████████ 25% (50K token) 历史记录 ████████████████████████ 30% (60K token) 用户输入 ████████ 5%~10% (10-20K token) 预留缓冲 ████ 5% (10K token)
Das tatsächliche Verhältnis sollte dynamisch an den spezifischen Aufgabentyp des Agenten angepasst werden.
Wenn der Agent hauptsächlich Codegenerierung durchführt, kann der Anteil des abgerufenen Kontexts erhöht werden.
Wenn der Agent ein Multi-Turn-Dialogassistent ist, sollte das Budget für den Gesprächsverlauf priorisiert werden.
System-Prompt-Engineering
Der System-Prompt ist der Grundpfeiler des Agent-Verhaltens und sollte strukturierten Autorenprinzipien folgen.
Prinzipien für die Erstellung:
| Prinzip | Beschreibung | Beispiel |
|---|---|---|
| Hierarchische Organisation | Unterteilen Sie Anweisungen nach Rolle, Regeln, Prozess und Format in Blöcke | Mit Markdown-Überschriften trennen |
| Positive Formulierung | Sagen Sie dem Agenten, was er tun soll, nicht was er nicht tun soll | "Antworten Sie prägnant" ist besser als "seien Sie nicht weitschweifig" |
| Beispiele bereitstellen | Verwenden Sie Few-Shot-Beispiele anstelle langer Beschreibungen | Beispiele für das Ausgabeformat sind effektiver als textliche Beschreibungen |
| Klare Prioritäten | Welche Regel der Agent befolgen sollte, wenn Regeln in Konflikt stehen | "Sicherheitsregeln haben Vorrang vor Effizienzanforderungen" |
| Redundanz entfernen | Löschen Sie Regeln, die nie ausgelöst werden, und doppelte Anweisungen | Überprüfen und straffen Sie den System-Prompt regelmäßig |
Das Folgende ist ein Beispielgerüst eines strukturierten System-Prompts:
## 角色 你是一名 Python 代码审查助手。 ## 核心规则 - 每个问题附上修复建议 - 按严重程度排序输出 - 不确定时标注「待确认」 ## 工作流程 1. 分析代码变更 2. 按严重程度分类问题 3. 逐一输出问题与建议 ## 输出格式 **问题**:[问题描述] **严重程度**:[高/中/低] **建议**:[修复建议]
Optimierung der Tool-Beschreibung
Tool-Beschreibungen nehmen oft den größten Anteil am Kontext ein, aber viele Tools werden nie tatsächlich aufgerufen.
Zu den Optimierungsstrategien gehören:
| Strategie | Methode | Wirkung |
|---|---|---|
| Tool-Reduktion | Tool-Definitionen entfernen, die nichts mit der aktuellen Aufgabe zu tun haben | Tool-Kontext um 30%~50% reduzieren |
| Prägnante Beschreibungen | Beschreiben Sie den Zweck und die Parameter jedes Tools in einem einzigen Satz | Verbessern Sie die Genauigkeit des Modells beim Verstehen von Tools |
| Parametereinschränkungen | Klären Sie Anwendungsszenarien und Einschränkungen von Parametern in der Beschreibung | Parameterfehler bei Tool-Aufrufen reduzieren |
| Gruppierte Registrierung | Registrieren Sie verschiedene Tool-Sets dynamisch nach Aufgabenphase | Vermeiden Sie "Auswahlschwierigkeiten", die durch zu viele Tools verursacht werden |
Jede Nicht-Null-Tool-Definition ist eine Belastung. Jedes beibehaltene Tool erfordert eine Abwägung zwischen Beschreibungsqualität und Token-Kosten.
Strategien zur Komprimierung des Verlaufs
In Multi-Turn-Konversationen wächst der Verlauf schnell und verbraucht Kontext.
Es ist notwendig, eine geeignete Komprimierungsstrategie zu wählen, um Kontextvollständigkeit und Fenstergrenzen auszubalancieren.
常见历史压缩策略对比: 策略 方法 适用场景 ───────────────────────────────────────────────── 滑动窗口 保留最近 N 轮完整记录 短对话、实时交互 阶梯摘要 每轮做一次增量摘要 长对话、客服场景 分层摘要 近期保留完整、远期做摘要 文档生成、复杂任务 关键轮标记 标记重要轮次,其余丢弃 调试、分步执行任务
Hierarchische Zusammenfassung ist die am häufigsten verwendete Strategie: Behalten Sie die letzten 3-5 Runden vollständig bei und ersetzen Sie frühere Konversationen durch strukturierte Zusammenfassungen.
Eine strukturierte Zusammenfassung sollte die Schlüsselinformationen der ursprünglichen Konversation enthalten: Was das Ziel des Benutzers war, was der Agent getan hat, welche Ausgabe er erzeugt hat und auf welche Fehler er gestoßen ist.
Qualitätskontrolle für abgerufenen Kontext
Wenn ein Agent auf eine externe Wissensdatenbank angewiesen ist, bestimmt die Qualität des abgerufenen Kontexts direkt die Qualität der Ausgabe.
Wichtige Punkte zur Verbesserung der Qualität des abgerufenen Kontexts:
| Phase | Häufige Probleme | Verbesserungsmethoden |
|---|---|---|
| Abfrageumschreibung | Benutzereingabe ist nicht präzise genug | Lassen Sie den Agenten die Abfrage vor dem Abruf umschreiben |
| Relevanzfilterung | Abgerufene Ergebnisse enthalten irrelevanten Inhalt | Legen Sie einen Relevanzschwellenwert fest und warnen Sie proaktiv, wenn er unzureichend ist |
| Quellenangabe | Der Agent kann die Glaubwürdigkeit von Informationen nicht beurteilen | Quellpfad und Aktualisierungszeit anhängen |
| Längenkürzung | Abgerufene Ergebnisse belegen zu viel Kontext | Absatzweise kürzen und die relevantesten Segmente beibehalten |
Gängige Muster
Schrittweise Offenlegung
Anstatt alle Informationen auf einmal in den Kontext zu stopfen, werden sie entsprechend der Ausführungsphase schrittweise offengelegt.
Der anfängliche Kontext enthält nur den System-Prompt und die für die aktuelle Phase erforderlichen Tools. Nachdem der Agent die aktuelle Phase abgeschlossen hat, werden die Tools und Regeln für die nächste Phase injiziert.
Dieser Modus hält die "Dichte" des Kontexts in einem vernünftigen Bereich und verhindert, dass der Agent durch irrelevante Informationen gestört wird.
Kette zur Kontextkomprimierung
Wenn eine Aufgabe die Verarbeitung großer Datenmengen erfordert, wird sie mithilfe verketteter Aufrufe in mehrere Schritte aufgeteilt, wobei bei jedem Schritt nur die wichtigsten Zwischenergebnisse beibehalten werden.
步骤1:读取全部日志文件 → 输出 { 错误数量,时间范围,错误类型列表 }
步骤2:基于步骤1的输出,分析 Top 3 错误 → 输出 { 根因分析,修复建议 }
步骤3:基于步骤2的输出,生成修复 PR → 输出 { PR 标题,描述,代码变更 }
Die Eingabe jedes Gliedes ist die verfeinerte Zusammenfassung aus dem vorherigen Schritt und nicht die Rohdaten, wodurch der Kontext jederzeit eine kontrollierbare Größe behält.
Kontext-Wasserzeichen
Platzieren Sie "Wasserzeichen"-Markierungen an Schlüsselstellen im Kontext, um das Verhalten des Agenten zu überwachen und zu diagnostizieren.
上下文水印示例: <system-reminder> 当前使用的上下文策略版本:v2.3 检索到的文档来源:docs/api-reference/ 共 3 个文件 已消耗上下文:85,000 / 200,000 tokens </system-reminder>
Diese Wasserzeichen beeinflussen das Verhalten des Agenten nicht direkt, aber beim Debuggen können sie schnell lokalisieren, ob die Kontextinjektion wie erwartet ausgeführt wurde.
Bewertung und Iteration
Die Wirksamkeit des Kontext-Engineerings muss durch Bewertung überprüft werden und kann nicht allein nach Intuition beurteilt werden.
Häufig verwendete Bewertungsdimensionen:
| Dimension | Bewertungsmethode | Wichtige Kennzahlen |
|---|---|---|
| Aufgabenabschlussrate | Den Agenten auf einem Standard-Testset ausführen | Erfolgsrate, Verteilung der Fehlerursachen |
| Kontext-Effizienz | Die Kontextnutzung jedes Aufrufs zählen | Durchschnittlicher Token-Verbrauch, Kontextauslastungsrate |
| Qualität der Tool-Aufrufe | Genauigkeit der Tool-Aufrufe und Korrektheitsrate der Parameter analysieren | Anteil ungültiger Aufrufe, Anzahl der Wiederholungsversuche |
| Antwortkonsistenz | Mehrere Tests mit derselben Eingabe | Ausgabestabilität, Formatkonformitätsrate |
Kontext-Engineering ist keine einmalige Konfiguration; es erfordert die Etablierung einer iterativen Schleife aus "Testen → Analysieren → Optimieren → erneut testen."
Hinweise
Ein größeres Kontextfenster ist nicht immer besser. Ein übermäßiger Kontext kann die Aufmerksamkeit des Modells auf wichtige Informationen verwässern und die Ausgabequalität tatsächlich verringern.
Das blinde Hinzufügen von Regeln kann System-Prompts aufblähen und selbstwidersprüchlich machen. Jede neue Regel muss auf Konflikte mit bestehenden Regeln geprüft werden.
Änderungen an Tool-Definitionen können das Verhalten bestehender Agenten beeinflussen. Nach der Änderung sollten Regressionstests in typischen Szenarien durchgeführt werden.
Die Strategie zur Verlaufs-Komprimierung muss anhand der Aufgabenmerkmale des Agenten gewählt werden; keine einzelne Strategie kann in allen Szenarien optimal funktionieren.
Sensible Informationen im Kontext (API-Schlüssel, interne Pfade usw.) können sich über Tool-Aufrufe und Protokolle verbreiten, daher ist eine ordnungsgemäße Desensibilisierung erforderlich.
Verwandte Konzepte
| Konzept | Beschreibung |
|---|---|
| Prompt-Engineering | Fokus auf Prompt-Design und -Optimierung für einen einzelnen Aufruf |
| Kontextfenster | Die maximale Anzahl von Tokens, die ein Modell auf einmal verarbeiten kann |
| Token | Die kleinste semantische Einheit des von einem Modell verarbeiteten Textes |
| RAG (Retrieval-Augmented Generation) | Ein Architekturmuster, das den Kontext durch externen Abruf erweitert |
| Few-Shot-Prompting | Beispiele im Kontext bereitstellen, um die Modellausgabe zu steuern |
| Chain-of-Thought | Lassen Sie das Modell seinen Argumentationsprozess im Kontext darlegen |