Alle Beiträge

4 Min. LesezeitTrustPolicy

Was ein Audit-Log für einen geteilten Coding-Agent erfassen muss

Der Tag, an dem etwas schiefgeht, ist der falsche Tag, um mit dem Logging zu beginnen. Sechs Felder, die jede Request-Zeile braucht, fünf für jede Approval-Zeile, was keinesfalls im Log stehen darf und warum der Besitzer es behält, nicht der Anfragende.

Von Noah· Product at Muti AI

Ein Audit-Log für einen geteilten Coding-Agent ist ein Append-only-Protokoll mit einer Zeile pro Request und einer Zeile pro Approval, das beim Besitzer der Maschine liegt und von ihm exportiert werden kann. Es beantwortet im Nachhinein, wer den Agenten gebeten hat, was zu tun, wer es erlaubt hat, was tatsächlich lief und was es gekostet hat. Wird der Agent ausschließlich von seinem Besitzer genutzt, reicht das eigene Transkript der runtime völlig aus. Sobald jedoch eine zweite Person Requests senden kann, genügt das nicht mehr.

Dieser Beitrag listet die Felder in der Reihenfolge auf, in der man sie braucht, und zeigt anschließend, was keinesfalls hineingehört.

The request line

Jeder Request erzeugt genau eine Zeile, sobald er einen finalen Zustand erreicht.

FieldWhy it is there
Request idDer Handle, den alle nutzen: im Raum, in Chat-Threads, in Bug-Reports. R20260906-07.
Who askedDer Account des Anfragenden und ob es der Besitzer war, ein Mitglied mit dauerhafter Freigabe oder ein Gast mit einmaligem Approval. Vertrauen gilt pro Person; das Log muss festhalten, welche Person es war.
Which agent, which roomDer Agent gibt Aufschluss über Maschine und Arbeitsverzeichnis. Der Raum zeigt, wer den Durchlauf sehen konnte.
Which rule let it runBesitzer, dauerhafte Freigabe oder ein einmaliges Approval mit dem Namen der freigebenden Person. Dieses Feld lesen Auditoren zuerst.
Outcomedone, failed, cancelled, expired und die Fehlerklasse, falls vorhanden.
TimingErstellt, gestartet, beendet. Der Abstand zwischen Erstellung und Start ist die Approval-Wartezeit; zwischen Start und Beendigung liegt die Ausführung.
UsageTokens oder der eigene Nutzungsbericht der runtime, damit ausgeliehene Requests mit Kosten verknüpft sind.

The approval line

Approvals erhalten eine eigene Zeile, weil es Entscheidungen sind – und Entscheidungen haben andere Leser als Programmdurchläufe.

FieldWhy
The actionDer exakte Befehl oder Pfad, keine Umschreibung: git push origin main, rm -rf build/, read ~/.aws/credentials.
The rule it hitPush auf geteilten Branch, Löschen, Ausgaben, Credentials oder eine benutzerdefinierte Regel.
Who asked, who decidedZwei Namen. Sie unterscheiden sich gewollt, wenn jemand den Agenten ausleiht.
The decisionApproved, rejected, continue read-only oder expired.
The noteWas auch immer die entscheidende Person eingegeben hat. Notizen haben das gleiche Gewicht wie der Request und gehören daher ins Protokoll.
LatencyWie lange der Request gewartet hat. Lange Wartezeiten sind ein Signal, Agenten enger zu begrenzen.

Request-Zeilen und Approval-Zeilen, mit einem freigegebenen Push in Bernstein und einer abgelaufenen Löschung in Rot.Request-Zeilen und Approval-Zeilen, mit einem freigegebenen Push in Bernstein und einer abgelaufenen Löschung in Rot.

What must not be in the log

  • Secrets. Ein Credential-Approval zeichnet auf, dass auf einen Schlüssel zugegriffen wurde, nicht den Schlüssel selbst.
  • File contents. Diffs bestehen aus Pfaden und Zeilenzahlen. Die Änderung liegt im Repository, wo dessen eigene Zugriffskontrolle greift.
  • Full command output. Der Tail reicht aus, um einen Fehler zu erklären. Vollständige Logs können alles Mögliche enthalten.
  • Other rooms. Das Log jedes Raums ist auf diesen Raum beschränkt. Der Besitzer sieht raumübergreifend alles; Mitglieder sehen nur ihren Raum.

Properties, not just fields

Append-only. Niemand bearbeitet das Log, auch nicht der Besitzer. Korrekturen sind neue Zeilen.

Owner-held. Die Person, auf deren Maschine die Arbeit lief, behält das Protokoll und kann es exportieren. Anfragende sehen ihre eigenen Zeilen im Raum.

Complete under revocation. Wird eine Berechtigung oder eine Maschine widerrufen, bricht dies Arbeit in der Warteschlange ab und lässt laufende Arbeit zu Ende laufen. So entsteht im Log nie eine Lücke, in der „etwas lief, wir aber nicht mehr hingeschaut haben“.

Owner actions included. Der Besitzer benötigt für seinen eigenen Agenten keine Approvals, aber seine Requests werden genauso protokolliert. Ein Log, das nur Außenstehende erfasst, deckt nur das halbe Risiko ab.

Reading the log

Drei Fragen tauchen am häufigsten auf, und die obigen Felder beantworten jede davon mit einem einzigen Filter.

  1. „Wer hat das gepusht?“ Approval-Zeilen nach rule = push filtern, who asked und who decided lesen.
  2. „Warum hat dieser Request eine Stunde gedauert?“ Erstellungs- und Startzeit vergleichen; die Approval-Wartezeit liefert meist die Antwort.
  3. „Was hat das Verleihen meines Agenten diesen Monat gekostet?“ Die Nutzung in Request-Zeilen summieren, bei denen who asked nicht der Besitzer ist.

Frequently asked questions

Is the room timeline the audit log? Die Timeline ist das detaillierte, menschenlesbare Protokoll eines einzelnen Laufs. Das Audit-Log ist die Zusammenfassung über alle Läufe hinweg mit einer Zeile pro Ereignis, ausgelegt für Filterung und Export. muti behält beides; das Log wird aus denselben Ereignissen abgeleitet, die der daemon hochlädt. Siehe was der daemon hochlädt.

How long is it kept? Request- und Approval-Zeilen bleiben für die Lebensdauer des Raums erhalten. Das Löschen eines Raums ist ein Soft-Delete; das Protokoll bleibt für den Besitzer bestehen.

Can a requester see other people’s lines? Sie sehen die Timeline des Raums, die die Requests aller Personen in diesem Raum enthält. Der Export bleibt dem Besitzer vorbehalten.

Do owner requests need approval to be logged? Nein. Läufe des Besitzers werden ohne Approvals protokolliert, mit rule = owner.

Das Log macht „du kannst es später widerrufen“ zu einem echten Versprechen. Gib deinem Agenten einen Raum und er bringt eines mit.

Veröffentlicht am

Gib deinem Agent einen Raum.

muti ist während der privaten Beta kostenlos. Verbinde die Maschine, auf der deine Agents laufen, und lade die Menschen ein, denen du vertraust.

Loslegen

Weiterlesen

6 Min. LesezeitComparison

QoderWake and muti

Of every agent product launched in 2026, Alibaba's QoderWake is the closest in shape to muti. Both run on your own machine, and both let a group send it work, through a chat that has to be paired first. They split on whose agent it is, what it runs, and who approves when a colleague's request reaches a delete.

9 Min. LesezeitComparison

WorkBuddy, QwenWork and QoderWake

Tencent's WorkBuddy lets you drive the agent on your own computer from WeChat and WeCom. Alibaba's QwenWork merges desktop, cloud and DingTalk agents into one product. QoderWake runs a team of digital employees on your machine behind a single bot the whole group can mention. All three let colleagues use the agent. They answer how in very different ways.

5 Min. LesezeitPersonal agents

An agent with its own phone number

Manus Cue gives each personal agent an email address, a phone number, a wallet and a computer. That makes the agent reachable by anyone who has the number, which changes the permission question from "what may my agent do" to "what may a stranger make it do". What Manus 2.0 shipped, and what reachability asks of an agent.