Wanneer je agent zich misdraagt, weet je dan welke het was?

Een agent verwijdert een record dat hij niet zou mogen aanraken. Hij stuurt een bericht naar de verkeerde tenant. Hij roept in een loop een API aan en jaagt je rekening omhoog.

Tien minuten na het begin van een incident stel je één vraag: welke agent heeft dit gedaan?

Als je het niet weet, kun je het niet oplossen. Je kunt de build niet stoppen. Je kunt de fout niet auditen. Je kunt niet leren van de fout.

Dit is een identiteitsprobleem.

De meeste teams hebben te maken met drie patronen die de acties van agents verbergen:

  • Gedeelde service-accounts: Tien agents gebruiken één set inloggegevens. Elke actie ziet er hetzelfde uit in je logs.
  • Menselijke inloggegevens: De agent gebruikt jouw inloggegevens. De logs tonen jouw naam, niet de naam van de agent. Dit creëert een enorm beveiligingsrisico.
  • Silent drift: Twee verschillende builds gebruiken dezelfde naam. De ene gebruikt een nieuw model of een nieuwe prompt, maar de logs tonen dezelfde identiteit.

Volg deze stappen om dit op te lossen:

  1. Geef elke agent een eigen identiteit. Gebruik geen menselijke inloggegevens. Gebruik geen gedeelde accounts. De agent moet zichzelf authenticeren.

  2. Voeg zes specifieke velden toe aan elke actie:

  • Accountable party: Wie is verantwoordelijk voor deze agent?
  • Operational owner: Wie beheert deze dagelijks?
  • Tenant: Voor welke klant is dit?
  • Agent-type-id: Welke specifieke build is dit?
  • Agent-instance-id: Welke specifieke run is dit?
  • Trace context: Waar bevindt dit zich in de call chain?
  1. Gebruik hashes voor versiebeheer. Geef je agent geen naam als "support-agent-v2". Als je de system prompt wijzigt, blijft de naam hetzelfde, maar verandert het gedrag. Gebruik in plaats daarvan een content hash. Maak een hash op basis van de container image, de prompt, het model en de configuratie. Als je één regel code wijzigt, verandert de ID. Dit maakt silent drift zichtbaar.

  2. Leg lineage vast. Agents creëren sub-agents. Je moet vastleggen welke parent agent de sub-agent heeft gestart. Je moet ook de prompt vastleggen die de parent aan de sub-agent gaf. Dit is de enige manier om geïnjecteerde instructies of vergiftigde data (poisoned data) te vinden.

Identiteit is je recovery surface. Het stelt je in staat om een kill switch te gebruiken en een audit trail op te bouwen. Je moet dit instellen voordat er een incident plaatsvindt. Het toevoegen van identiteit tijdens een crisis is te laat.

Controleer nu je logs. Kijk naar een actie van een uur geleden. Kun je de specifieke build noemen die die actie heeft uitgevoerd? Als dat niet zo is, heb je een gat dat gedicht moet worden.

Bron: https://dev.to/brennhill/when-your-agent-does-something-bad-can-you-tell-which-agent-did-it-37a2

Optionele leercommunity: https://t.me/GyaanSetuAi