Versteckte Funktionen, um dein Hermes Agent Setup zu verzehnfachen

AAI LABS
Computing/SoftwareManagementInternet Technology

Transcript

00:00:00Seit wir Hermes verwenden, haben wir viele unserer Arbeitsabläufe darauf eingerichtet, wie wir euch
00:00:04in den letzten Videos gezeigt haben. Es überwacht unsere Apps, koordiniert das Team auf Slack und mehr, aber je
00:00:09mehr wir es nutzten, desto öfter stießen wir auf dieselben Probleme, und es begann sich so anzufühlen, als ob unser Setup
00:00:13nicht ausreichte. Wie immer begannen wir nach Wegen zu suchen, um die Probleme zu lösen, aber da
00:00:18realisierten wir, dass wir gar nichts hinzufügen mussten, weil alles, was wir brauchten, bereits in Hermes
00:00:23selbst steckte. Wir nutzten es einfach nicht voll aus. Wenn ihr neu auf dem Kanal seid,
00:00:27herzlich willkommen. Wir sind ein Softwareunternehmen und dies ist AI Labs, wo wir euch zeigen, wie man ein Unternehmen
00:00:32mit KI optimiert, unter Verwendung bewährter Methoden unseres eigenen Teams. In diesem Video gehen wir alle Einstellungen durch,
00:00:37die wir geändert haben, um unseren Workflow zu verbessern. Die erste Kategorie dreht sich alles um Kontext und Output-Limits.
00:00:43Hermes verwendet den Ordner “.hermes”, der alle Konfigurationen und Informationen enthält, die den Agenten steuern, und all
00:00:49das lebt in einer einzigen Datei namens “config.yaml”. Es ist eine sehr lange Datei und sie enthält jede Konfiguration,
00:00:55die mit dem Agenten-Setup verknüpft ist. Wenn ihr also mehrere Profile verwaltet wie wir, bekommt jedes seinen
00:01:00eigenen separaten Ordner und jedes Profil hat seine eigene “config.yaml”-Datei. Die erste, die wir ändern werden, ist
00:01:06max_bytes. Standardmäßig ist dies auf 50.000 gesetzt, was bedeutet, dass es 50.000 Zeichen von jedem Tool-Output
00:01:13gleichzeitig in das Kontextfenster zieht und der Rest abgeschnitten wird. Das wurde zum Problem, als wir es
00:01:17verwendeten, um Testläufe zu überwachen, da es die Probleme nicht richtig sehen konnte, wenn sie lang waren, also brauchten wir mehr von
00:01:23diesem Output im Kontextfenster. Dafür könnt ihr entweder “max_bytes” direkt in der “config.yaml”-Datei festlegen
00:01:29oder es mit dem Befehl “hermes config” auf die benötigte Zahl ändern. Sobald das erledigt ist, zieht es diese Anzahl von
00:01:34Zeichen aus allen Tool-Outputs in das Kontextfenster, aber ihr müsst sicherstellen, dass das richtige
00:01:39Profil ausgewählt ist, da die Änderungen, die ihr mit dem Befehl “hermes config” vornehmt, in der Konfigurationsdatei eures aktiven
00:01:44Profils erscheinen. Ein weiteres Problem tritt auf, wenn der Agent eine Datei mit vielen Zeilen liest. Das passierte
00:01:50uns, als wir Hermes mit unserer Wissensdatenbank des Unternehmens verbanden, wo wir diese großen Richtliniendokumente haben, die
00:01:55leicht mehr als 2.000 Zeilen lang sind. Also, als es sie einlas, indem es sie in Stücke brach, überging es ständig
00:02:01wichtige Details, also stellten wir es auf 5.000 und ließen den Agenten mehr der Datei auf einmal lesen. Es gibt noch ein weiteres
00:02:07Limit, das zu einem Problem wird, wenn man viele große Markdown-Dateien hat. Wenn euer Dokument lange
00:02:12Absätze hat, die als eine einzige lange Zeile gespeichert sind, und diese Zeile länger als 2.000 Zeichen ist, wird sie nicht vollständig gelesen. Wenn ihr also
00:02:18das erhöhen wollt, könnt ihr es mit dem Befehl “hermes config” ändern und die Zeichenanzahl festlegen, die
00:02:23ihr benötigt. Auf diese Weise kann der Agent mehr als 2.000 Zeichen in einer einzigen Zeile lesen. Die ersten drei Einstellungen
00:02:28sind hauptsächlich wichtig, wenn ihr mit großen Dateien arbeitet, aber diese nächste ist für jeden wichtig, und das ist die
00:02:33Kompressionsschwelle. Standardmäßig ist die Kompressionsschwelle auf 50 gesetzt, was bedeutet, sobald 50 %
00:02:39des Kontextfensters gefüllt sind, komprimiert es alles darin. Aber eine Menge anderer Agenten wie Codex und
00:02:45Claude Code haben dies auf etwa 75 eingestellt. Wir sind selbst darauf gestoßen, während wir Hermes betrieben, da wir es
00:02:51mit einem kleineren Modell bei 200.000 Kontext konfiguriert hatten; es komprimierte zu früh, was nicht ideal ist, wenn man
00:02:56eigentlich Dinge erledigen will. Nun, Modelle wie Opus oder die Gemini-Modelle mit einem Millionen-Token-Fenster
00:03:02wären hier in Ordnung, da die Kompression bei ihnen erst bei 500.000 Token stattfindet. Aber für Modelle mit 200.000
00:03:08Kontext geschieht dies bei 100.000 Token, was bei einem langen Lauf Probleme verursacht. Also haben wir die Kompressionsschwelle
00:03:15auf 0,75 eingestellt. Auf diese Weise können wir zumindest 75 % des Kontextfensters nutzen, bevor es zur Kompression kommt. Eine weitere
00:03:22Einstellung heißt “target_ratio”, die standardmäßig auf 20 gesetzt ist. Wenn Hermes komprimiert, komprimiert es
00:03:28nicht den gesamten Chat. Stattdessen lässt es 20 % der Konversation unkomprimiert und startet die neue
00:03:34und beginnt das neue Gespräch mit diesem unkomprimierten Teil sowie der Zusammenfassung; dieser unkomprimierte Teil von 20 Prozent wird also zu Ihrem “Tail”
00:03:40sobald die neue, komprimierte Konversation beginnt. Wie viel unkomprimiert bleibt, hängt davon ab, wie groß
00:03:45euer Kontextfenster ist. Bei einem 1-Million-Token-Kontextfenster werden 100.000 Token hinzugefügt, und bei einem 200.000
00:03:52Token-Kontextfenster werden nur 20.000 Token hinzugefügt. Dieser “Tail” gibt dem Agenten mehr Kontext zur
00:03:58vorherigen Konversation, sodass er leicht wieder anknüpfen kann. Also funktionieren 20 bei uns bei einem 200.000-Kontextfenster, aber wenn
00:04:04ihr ein größeres Modell verwendet, könnt ihr den Config-Befehl nutzen, um es höher einzustellen. Der ideale Bereich liegt zwischen
00:04:0910 und 80 Prozent. Je höher die Zahl, desto mehr Token bleiben in eurem Kontextfenster, aber ihr habt auch
00:04:15weniger freien Raum zum Arbeiten. Wie wir im letzten Video besprochen haben, haben die “memory.md”- und “user.md”-
00:04:21Dateien, die Hermes führt, ein hartes Limit, wie viele Zeichen sie aufnehmen können. Danach fängt Hermes an,
00:04:26Informationen zu verwerfen, von denen der Agent glaubt, dass er sie nicht mehr braucht. Ihr könnt diese Limits auch ändern, entweder
00:04:32direkt in eurer “config.yaml”-Datei oder über die Hermes-Desktop-App im Einstellungsbereich. Von dort aus
00:04:37könnt ihr auch die meisten der Einstellungen ändern, über die wir gerade gesprochen haben. Und wenn euch das Video bisher gefällt,
00:04:42abonniert den Kanal und drückt den “Hype”-Button. Diese kleine Geste der Unterstützung bedeutet uns viel.
00:04:47Die zweite Kategorie sind Unteragenten. Bei Hermes seid ihr darauf beschränkt, drei Unteragenten gleichzeitig zu spawnen, und als wir
00:04:53an unseren Projekten arbeiteten, stießen wir an dieses Limit, und die Dinge dauerten am Ende länger als nötig.
00:04:58In der Konfiguration kommt dieses Limit vom Wert “max_concurrent_children”, der standardmäßig auf drei gesetzt ist.
00:05:03Da wir auf Probleme stießen, nutzten wir den Config-Befehl und änderten diesen Wert auf fünf. Von diesem
00:05:08Punkt an kann es, wann immer es Unteragenten startet, bis zu fünf von ihnen zusammen ausführen, aber das ist token-
00:05:13intensiv. Wenn ihr also mit vielen Unteragenten arbeitet, müsst ihr die Kosten im Auge behalten. Nun, in
00:05:18Claude Code kann jeder Unteragent seine eigenen Unteragenten erstellen, und das ist hilfreich, wenn ihr mit
00:05:23einem großen Ordner arbeitet, wo ein Agent sich in weitere Agenten verzweigen kann, um verschachtelte Repos zu erkunden, aber Hermes
00:05:28blockiert dies mit dem Flag “max_spawn_depth”, das standardmäßig auf eins gesetzt ist, und das stoppt jeden Unteragenten
00:05:34davon, weitere zu erstellen. Also könnt ihr “max_spawn_depth” über eins erhöhen. Danach können eure Unteragenten
00:05:39ihre eigenen Unteragenten auch erstellen. Es gibt eine weitere Unteragenten-Funktion namens “auto_approve”, die standardmäßig auf “false”
00:05:44gesetzt ist. Das bedeutet, die Unteragenten, die ihr startet, erben nur die Berechtigungen der Eltern, und sie könnten
00:05:50immer noch durch Berechtigungsaufforderungen blockiert werden. Wenn ihr das also ändern wollt, könnt ihr es direkt auf “true”
00:05:55hier setzen. Sobald ihr das getan habt, können eure Unteragenten im “auto_approve”-Modus laufen und werden nicht von irgendwelchen
00:06:00Berechtigungsaufforderungen blockiert. Unteragenten erledigen einfache Aufgaben wie Websuchen, die nicht die Schwerstarbeit
00:06:06eures Hauptmodells benötigen. Aber sie auf diesem leistungsstarken Modell laufen zu lassen, verbraucht eine Menge Kosten für solche Arbeit, also
00:06:11könnt ihr das Modell ändern, das für jeden Unteragenten verwendet wird, und es auf ein kleineres umstellen, was euch Token
00:06:16spart. Und wenn dieses kleinere Modell von einem anderen Anbieter stammt, könnt ihr es mit dem Befehl “hermes auth” hinzufügen,
00:06:21was euch ermöglicht, Modelle von welchem Anbieter auch immer ihr wollt, einzubinden. Aber bevor wir zu
00:06:25den Einstellungen kommen, die uns Kosten sparen, ein Wort von unserem Sponsor Helix. Jede Woche gibt es ein neues KI-
00:06:31Tool, das euch hilft, Apps, Websites und Produkte schneller als je zuvor zu bauen, aber niemand spricht darüber, was passiert,
00:06:37bevor ihr anfangt zu bauen. Die meisten Leute springen direkt in das Programmieren mit einer halbfertigen Idee und bauen am Ende
00:06:42dieselbe Sache dreimal. Helix ist eine KI-geführte Produktplanungsplattform, die eine grobe Idee nimmt
00:06:48und sie in einen strukturierten Plan verwandelt, den ihr tatsächlich an einen Entwickler oder Stakeholder übergeben könnt.
00:06:53Ihr beschreibt eure Idee in einem Satz und fünf KI-Spezialisten-Agenten machen sich an die Arbeit und decken Validierung,
00:06:59Marktforschung, Produktentwicklung, Geschäftsmodellierung und Wachstumsstrategie ab. Es zieht Live-Marktdaten in Echt-
00:07:05zeit, verbindet sich mit über 20 Tools, die ihr bereits nutzt wie Notion, Jira und Airtable, und die “Canvas” passt sich
00:07:11an eure tatsächlichen Produktbedürfnisse an, anstatt euch in eine generische Vorlage zu zwingen. Wenn ihr fertig seid, exportiert ihr ein
00:07:16investorenbereites PDF-Blueprint, das tatsächlich auf echter Forschung basiert, nicht auf Vermutungen. Klickt auf den Link in
00:07:21der Beschreibung und probiert Helix kostenlos aus. Die dritte Kategorie ist “Kosten”. Das sind im Grunde die Einstellungen, die euch Token
00:07:27sparen. Wenn ihr Hermes zum ersten Mal einrichtet, gebt ihr ihm die Modelle für verschiedene Zwecke, aber ihr könnt auch
00:07:32Hilfsmodelle festlegen. Hilfsmodelle sind im Grunde die günstigeren, schnelleren, die Hermes für
00:07:38Hintergrund-Teilaufgaben verwendet. Auf diese Weise wird das teure Hauptmodell, das ihr eingerichtet habt, nicht für kleine Aufgaben verschwendet,
00:07:43die nicht so kompliziert sind. Standardmäßig, wenn ihr die Hilfsmodelle leer lasst, greift Hermes auf das
00:07:48kostengünstigste Modell in eurer Konfiguration zurück. Da wir OpenRouter verwendeten, war es auf Gemini Flash eingestellt, damit diese
00:07:54günstigeren Modelle Aufgaben hinter den Kulissen erledigen konnten. Wenn ihr also Kosten sparen wollt, könnt ihr günstiger
00:07:59Modelle manuell einrichten. Sie können euch viel Geld bei Aufgaben wie Websuchen oder Kompression sparen, wenn euer Hauptmodell
00:08:05etwas wie Opus ist; ihr wollt es wahrscheinlich nicht für triviale Aufgaben verschwenden. Zum Kosten sparen, ein weiteres
00:08:11Ding, das ihr konfigurieren könnt, ist der Anstrengungsgrad des Modells, das ihr verwendet. Anstrengung ist im Grunde, wie viel
00:08:15Denkarbeit das Modell in eine Aufgabe steckt. Wenn die Anstrengung höher ist, wird zwar der Output besser sein, aber die
00:08:20verbrauchten Token werden auch höher sein. Ihr könnt es auf “low” oder “minimum” stellen, sodass der Agent keine Token verschwendet.
00:08:26Ihr könnt das Denken auch komplett ausschalten, wenn ihr keine Anstrengungsgrade verwenden wollt. Die vierte Kategorie ist
00:08:32Workflow, und sie deckt eine Reihe anderer Funktionen ab, die Hermes so viel besser zu verwenden machen. Die erste ist
00:08:37Schnellbefehle. Wenn ihr Claude Code verwendet habt, kennt ihr vielleicht Schrägstrich-Befehle, wo ihr benutzerdefinierte, wiederverwendbare
00:08:43Anweisungen hinzufügt. Sie erledigen einen ähnlichen Job, aber Hermes handhabt sie anders, weil es keine Prompt-
00:08:48Anweisungen verwendet, wie Claude Code und andere Agenten es tun. Schnellbefehle kommen in zwei Arten. Die erste ist
00:08:54“exec”, die einen Terminalbefehl ausführt und seinen Output in das Kontextfenster wirft. Das ist hilfreich für
00:08:59das Erstellen von Skripten, die eine ganze Reihe von Befehlen von nur einem einzigen ausführen. Zum Beispiel für Git-Operationen
00:09:04könnt ihr einen benutzerdefinierten “exec”-Befehl einrichten und ihn ausführen, wann immer ihr wollt, dass der Agent diese Befehle verwendet. Die
00:09:09andere Art ist “alias”. Das ist weniger ein benutzerdefinierter Befehl und mehr eine Möglichkeit, bestehende umzubenennen. Für
00:09:15Beispiel, wenn ihr einen schnelleren Weg wollt, “compress” auszuführen, könnt ihr einen Alias auf nur einen einzigen Buchstaben setzen und ihn
00:09:20schnell ausführen. Es gibt keinen direkten Weg, dies einzurichten, also müsst ihr es eigentlich in der “config.yaml” tun, oder ihr könnt einfach
00:09:25Claude Code oder Hermes bitten, es für euch zu tun, und es wird die Änderungen selbst vornehmen. Abgesehen davon hat Hermes
00:09:31auch einen Checkpoint-Mechanismus. Ein Checkpoint ist im Grunde ein gespeicherter Zustand eurer Dateien zu einem bestimmten Punkt in
00:09:36der Zeit. Ihr könnt darauf zurücksetzen, wenn ein Experiment etwas kaputt macht. Es ist standardmäßig ausgeschaltet, also müsst ihr es
00:09:41auf “true” setzen. Sobald Checkpointing eingeschaltet ist, könnt ihr den “rollback”-Befehl verwenden, um zu einem vorherigen
00:09:46Checkpoint zurückzukehren. Eine weitere Sache, die ihr ändern könnt, sind Benachrichtigungen für Hintergrundprozesse. Wenn ihr das auf “all” setzt, werdet
00:09:52ihr eine Benachrichtigung für alles erhalten, was Hermes im Hintergrund tut. Ihr könnt es ändern, wenn ihr diese nicht
00:09:56wollt. Es gibt auch ein Flag namens “hermes_ephemeral_system_prompt”, das euch erlaubt, Inhalt in den
00:10:01System-Prompt des Agenten hinzuzufügen. Das ist eine Umgebungsvariable und die Anweisung, die ihr als Wert hinzufügt, sie
00:10:06wird Teil des System-Prompts. Also könnt ihr jede Anweisung hinzufügen, die ihr wollt. Auf diese Weise, aber dieser
00:10:11Prompt gilt nur für die Sitzung, die ihr in diesem Terminal öffnet, und er bleibt nicht langfristig bestehen,
00:10:16daher ist er hauptsächlich nützlich für einmalige Anwendungsfälle. Ihr könnt Hermes auch im “yolo”-Modus ausführen, was dasselbe
00:10:22ist wie der “dangerously skip permissions”-Modus in Claude. Dies stoppt den Agenten davon, dort zu sitzen und darauf zu warten,
00:10:27dass ihr jede Aktion genehmigt. Ihr könnt ihn mit dem “yolo”-Befehl einschalten oder indem ihr Hermes mit dem
00:10:32“yolo”-Flag im Terminal startet. An einem Punkt stießen wir auf einen Fehler und waren uns nicht sicher, ob er von Hermes
00:10:37selbst kam oder von einer Konfiguration, die wir eingestellt hatten. Da stießen wir auf den “ignore_user_config”-Modus. Er streift
00:10:43den Agenten aller Konfigurationen in eurem “.hermes”-Ordner und lässt ihn in Isolation laufen, damit ihr herausfinden könnt,
00:10:48was tatsächlich den Fehler verursacht, und ihn beheben könnt. Ihr könnt auch zwischen den mehreren Persönlichkeiten wechseln,
00:10:53die damit kommen, und Spaß mit den verschiedenen Stilstimmen haben, die bereits in den Konfigurationen sind, unter Verwendung des “personality”-
00:10:59Befehls. Da eine Menge Leute danach gefragt haben, haben wir ein Starterpaket mit allen
00:11:03Anleitungen und Ressourcen zusammengestellt, die ihr braucht. Es ist in unserer Community “AI Labs Pro” verfügbar. Wenn ihr also
00:11:09den Kanal unterstützen und Zugang zu diesem Ressourcenpaket erhalten möchtet, schaut es euch unbedingt an. Der Link ist in der
00:11:14Beschreibung. Das bringt uns zum Ende dieses Videos. Wenn ihr den Kanal unterstützen und uns helfen möchtet, weiterhin
00:11:19Videos wie dieses zu machen, könnt ihr das tun, indem ihr den “Super Thanks”-Button unten verwendet. Wie immer danke ich euch für das
00:11:24Zuschauen und ich sehe euch im nächsten.

Key Takeaway

Die Optimierung des Hermes-Setups erfolgt durch präzise Anpassungen der Konfigurationsdatei 'config.yaml', insbesondere bei Kontext-Limits, Kompressionsschwellen und der Skalierung von Unteragenten, um die Effizienz bei komplexen Arbeitsabläufen zu maximieren.

Highlights

  • Das Kontextfenster von Hermes lässt sich durch Erhöhung des Wertes 'max_bytes' in der 'config.yaml' von standardmäßig 50.000 Zeichen auf einen höheren Wert anpassen, um längere Tool-Outputs vollständig zu erfassen.

  • Die Kompressionsschwelle lässt sich auf 0,75 anheben, damit erst bei 75 % Auslastung des Kontextfensters eine Kompression stattfindet und bei 200.000-Token-Modellen nicht zu früh Informationen gekürzt werden.

  • Der 'target_ratio'-Wert definiert bei der Kompression den 'Tail', wobei 20 % der Konversation unkomprimiert bleiben, um dem Agenten Kontext für den Übergang zu erhalten.

  • Durch Anheben von 'max_concurrent_children' von drei auf fünf können mehr Unteragenten gleichzeitig ausgeführt werden, was jedoch den Token-Verbrauch erhöht.

  • Die maximale Verschachtelungstiefe von Unteragenten wird über das Flag 'max_spawn_depth' gesteuert, das standardmäßig auf eins gesetzt ist und durch Erhöhung rekursive Agenten-Strukturen erlaubt.

Timeline

Kontext- und Output-Limits

  • Das Standardlimit 'max_bytes' von 50.000 Zeichen schneidet lange Tool-Outputs zu früh ab.
  • Die Kompressionsschwelle von 0,5 führt bei 200.000-Token-Modellen zu einer vorzeitigen Reduzierung des Kontextes.
  • Der 'target_ratio'-Wert steuert den Anteil der unkomprimierten Konversation am Ende, der als 'Tail' den Kontext für neue Dialoge bewahrt.

Die 'config.yaml' im '.hermes'-Ordner steuert die wesentlichen Parameter des Agenten. Um Probleme bei großen Wissensdatenbanken oder langen Dateizeilen über 2.000 Zeichen zu vermeiden, lassen sich diese Limits manuell oder per 'hermes config' erhöhen. Eine Anpassung der Kompressionsschwelle auf 0,75 optimiert die Ausnutzung des Kontextfensters für Modelle mit mittlerer Token-Kapazität.

Optimierung von Unteragenten

  • Das Limit 'max_concurrent_children' bestimmt die Anzahl gleichzeitig laufender Unteragenten und ist standardmäßig auf drei begrenzt.
  • Das Flag 'max_spawn_depth' verhindert standardmäßig die rekursive Erstellung weiterer Unteragenten durch Unteragenten.
  • Die 'auto_approve'-Funktion erlaubt es Unteragenten, Aufgaben ohne manuelle Bestätigungsaufforderungen auszuführen.

Bei komplexen Projekten können Standardeinstellungen den Workflow verlangsamen. Die Erhöhung der parallelen Unteragenten auf fünf verbessert die Bearbeitungsgeschwindigkeit, erfordert jedoch eine Überwachung der Token-Kosten. Zusätzlich ermöglicht das Anheben der Spawn-Tiefe eine tiefere Aufgabenverzweigung, während 'auto_approve' manuelle Blockaden eliminiert.

Kosten- und Workflow-Einstellungen

  • Die Nutzung von kleineren Hilfsmodellen für triviale Aufgaben wie Websuchen spart Token-Kosten ein.
  • Der 'yolo'-Modus überspringt Berechtigungsabfragen und beschleunigt die Ausführung bei bekannten Workflows.
  • Checkpoints ermöglichen eine Rückkehr zu einem stabilen Dateizustand bei fehlgeschlagenen Experimenten.

Kosteneffizienz wird durch die Zuweisung günstigerer Hilfsmodelle für Hintergrundaufgaben erreicht. Workflow-Verbesserungen beinhalten Schnellbefehle (alias/exec), den Einsatz von Checkpoints zur Absicherung gegen Fehler sowie dedizierte Modi wie 'ignore_user_config' zur Fehlerbehebung in isolierten Umgebungen.

Community Posts

View all posts