Der fiese Trick: Dynamisches Patchen von Python-Funktionsquellcode zur Laufzeit

2025-08-24

Dieser Beitrag beschreibt eine faszinierende, aber gefährliche Technik: das dynamische Ändern des Quellcodes einer Python-Funktion zur Laufzeit. Durch Manipulation des `.__code__`-Attributs, Neukompilierung und Injektion in einen Namensraum demonstriert der Autor den dynamischen Austausch von Funktionen. Dies treibt LlamaBots ToolBot an, der sich auf die Werkzeugauswahl und nicht auf die Ausführung konzentriert. Der generierte Code wird in derselben Python-Umgebung kompiliert und ausgeführt und greift auf Laufzeitvariablen für verbesserte KI-Funktionen zu. Obwohl Sicherheitsrisiken bestehen, zeigt dies die Flexibilität von Python und die Bedeutung der Trennung von Werkzeugauswahl und Ausführung in LLM-Agenten.

Entwicklung Dynamischer Code