Design des Helium Agent

Helium Agent ist ein leichtgewichtiger KI-Agent, der mit Python entwickelt wurde. Er läuft in Ihrem Terminal. Er ist auf minimale Komplexität ausgelegt.

Hier sind die zentralen Design-Entscheidungen aus der Entwicklung:

• Architektur Das System nutzt eine flache Architektur. Ich vermeide schwere Frameworks und tiefe Abhängigkeitsbäume. Ich verwende XML-Tags wie anstelle von OpenAI Function Calling. Dies macht den Agenten modellagnostisch. Sie können jedes beliebige LLM verwenden.

• Komponierbarkeit durch Dependency Injection Ich verwende eine einfache Schleife namens AgenticLoop. Sie akzeptiert zwei Eingaben: einen Model Caller und einen Tool Executor. Diese eine Entscheidung ermöglicht vier verschiedene Modi:

  • Allgemeiner Chat
  • Coding-Workflows
  • Subagenten
  • Eigene Skills Ich verwende keine Unterklassen oder komplexen Muster. Nur zwei einfache Funktionen.

• State Management Helium ist ein Single-User-Tool. Ich verwende Singletons auf Modulebene für den Gesprächsverlauf und das Gedächtnis. Globaler Zustand ist der einfachste Weg, um eine einzelne Benutzersitzung darzustellen. Dies verhindert Over-Engineering.

• Safety Gates Ich verwende ein dreistufiges System für die Tool-Ausführung:

  • Safe: Führt Aufgaben wie das Lesen von Dateien oder Suchen automatisch aus.
  • Risky: Erfordert die Erlaubnis des Benutzers für Aufgaben wie das Schreiben von Dateien.
  • Conditional: Überprüft Befehle wie Bash-Skripte auf Gefahren. Dies verhindert, dass ein halluzinierendes Modell Ihre Dateien löscht.

• Kommunikation Ich verwende rohe HTTP-Anfragen anstelle des OpenAI SDKs. Dies reduziert Abhängigkeiten und hält den Code transparent. Sie sehen genau, was an die API gesendet wird.

• Skill-System Skills sind einfach nur Markdown-Dateien. Sie können einen neuen Skill hinzufügen, indem Sie eine Textdatei mit YAML Frontmatter schreiben. Es gibt keine komplexe Registrierungs-API. Dies macht das Plugin-System für jeden einfach nutzbar.

• Lessons Learned

  1. Dependency Injection ermöglicht kostengünstige Komponierbarkeit.
  2. Der System Prompt ist Ihre API. Behandeln Sie ihn wie erstklassigen Code.
  3. Wenn Sie Lazy Imports benötigen, um zirkuläre Abhängigkeiten zu beheben, sind Ihre Modulgrenzen falsch. Korrigieren Sie stattdessen die Architektur.

Einfachheit skaliert. Wählen Sie die einfachste Lösung, die für Ihren spezifischen Anwendungsfall funktioniert.

Quelle: https://dev.to/debmalyasen34/designing-helium-agent-1b39

Optionale Lern-Community: https://t.me/GyaanSetuAi