Agent-Skills verwalten

Ein KI-Agent kann über MCP-Server (Model Context Protocol), Unternehmens-APIs oder benutzerdefinierte Skripts auf zahlreiche Tools zugreifen. Wenn ein Agent gleichzeitig sehr vielen Tool-Beschreibungen ausgesetzt wird, kann dies zu einem Kontext-Bloat führen, der die Token-Kosten und die Latenz erhöht und die Reasoning-Leistung des LLM beeinträchtigen kann.

Zur Optimierung der Leistung können Sie Agent Skills (ein Standard für die Verpackung von Tools und Verfahrensbeschreibungen) verwenden, um die progressive Offenlegung von Tools zu implementieren. Anstatt den gesamten Toolkatalog in den Kontext zu stellen, wird der Agent anfangs nur mit einer kleinen Anzahl von Skills vertraut gemacht. Das LLM weist den Agenten an, bestimmte Skill-Pakete dynamisch zu laden, wenn sie relevant werden.

Verwaltung des Skill-Lebenszyklus

Da beim Laden und Verwalten von Skills Tool-Aufrufe verwendet werden, kann die Richtlinie zur semantischen Governance den gesamten Skill-Lebenszyklus abdecken. Wenn Ihr Agent mit dem Google Agent Development Kit (ADK) erstellt wurde, werden die folgenden Haupttools zum Verwalten von Skills verwendet:

ADK Skill Tool Beschreibung
list_skills Zeigt alle verfügbaren Skill-Pakete für das Modell an.
load_skill Importiert dynamisch einen bestimmten Skill und die zugehörigen Tools in den aktuellen Kontext.
load_skill_resource Ruft die für die Ausführung eines Skills erforderlichen Daten oder Assets ab.
run_skill_script Führt die zugrunde liegende Logik aus, die im Skill definiert ist.

Die Richtlinie für die semantische Governance fängt diese Aufrufe des Skill-Verwaltungstools ab und wertet sie anhand Ihrer Einschränkungen in natürlicher Sprache aus. So können Sie Einschränkungen anwenden, um zu steuern, welche Skills unter bestimmten Bedingungen geladen werden.

Beispiele: Lebenszyklusrichtlinien für Skills und Tools

Die folgenden Beispiele zeigen, wie semantische Governance-Richtlinien vor Sicherheitsrisiken im Skill-Lebenszyklus schützen können, z. B. vor Instruction Injection oder Supply-Chain-Compromise.

Laden von Tools in beeinträchtigten Sitzungen verhindern

Szenario:Ein KI‑Agent ist autorisiert, Skills zu laden und auszuführen. Ein Administrator möchte verhindern, dass der KI-Agent Tools lädt, die ausgehende Aktionen ausführen, wenn der Chatverlauf nicht vertrauenswürdigen Kontext enthält, der eingefügte Anweisungen enthalten könnte. Ein Agent könnte beispielsweise ein send_email-Tool laden, nachdem er Webinhalte abgerufen hat.

  • Einschränkung:„Lade keine Skills, die Nachrichten senden oder in externe Systeme schreiben können, wenn der aktuelle Chatverlauf Inhalte enthält, die aus eingehenden E‑Mails, Webseiten oder hochgeladenen Dokumenten abgerufen wurden.“
  • Logik:Wenn das LLM vorschlägt, load_skill(skill_name='send_email') aufzurufen, wird der Chatverlauf von der Richtlinie für semantische Governance geprüft. Wenn bei einem früheren Zug untrusted-Daten abgerufen wurden (z. B. E‑Mail-Inhalte), wird der load_skill-Aufruf durch die Richtlinie abgelehnt. Daher sind die in diesem Skill enthaltenen Outbound-Tools während dieser Sitzung nie für den KI-Agenten verfügbar.

Abhängigkeitsinstallationen einschränken (Lieferkette)

Szenario:Ein Entwicklungs-Agent verwendet einen Skill, um Pakete zu installieren. Ein Angreifer mit Zugriff auf das Skill-Repository ändert die Anweisungen so, dass immer ein schädliches Paket zusammen mit den angeforderten Abhängigkeiten installiert wird.

  • Einschränkung:Das Tool „npm_install“ darf nur für Pakete in der genehmigten Liste ausgeführt werden: „react“, „express“, „lodash“ oder „axios“.
  • Logik:Wenn das LLM einen Tool-Aufruf wie npm_install(packages=['lodash', 'malicious-agent-helper']) vorschlägt, werden die Argumente von der Richtlinie für semantische Governance geprüft. Da malicious-agent-helper nicht auf der Zulassungsliste steht, wird durch die Richtlinie das Ergebnis DENY zurückgegeben, wodurch die Aktion vor der Ausführung blockiert wird.

Nächste Schritte