Hallo zusammen,
Nach verschiedenen Tests von LLMs veröffentliche ich eine Portierung des SDK (v0.11.0) für die Erstellung einer externen Integration in der Sprache Go.
Der Link zum Projekt befindet sich hier: experimental-gladys-assistant-integration-sdk-go.
Um mein SDK zu validieren, habe ich Tests geschrieben und ein Beispiel auf Basis des Projekts von @prohand zur Luftqualität erstellt, da es eher einfach ist.
Geschichte der Portierung
Ich wollte die Fähigkeiten von Cline mit meinem Cline Pass-Abonnement testen, indem ich mehrere LLMs ausprobiere, um die richtige Entwicklungsstrategie zu finden.
Erste Portierung in Python
Ich begann mit einer Portierung in Python unter Verwendung von Qwen 3.8 Max, um den Projektplan zu erstellen und die Analyse des offiziellen SDKs in JS durchzuführen. Anschließend verwendete ich Deepseek V4 Pro für die Entwicklung.
Das SDK in Python funktionierte, aber das Docker-Image des Beispiels (Luftqualität) — das eigentlich recht einfach ist — belegte 300 MB Speicherplatz. Man muss schließlich Python und alle Projektabhängigkeiten speichern. Eine solche Größe für einen so kleinen Code ist meiner Meinung nach eine Häresie und langfristig nicht tragbar, wenn man Dutzende externe Integrationen verwendet.
Neue Portierung in Go
Ich bin also von vorne mit einer kompilierten, stabilen und weit verbreiteten Sprache angefangen. Meine Wahl fiel auf Go aus den genannten Gründen, aber auch weil sie von LLMs gut beherrscht wird und von Google entwickelt wird (ein Zeichen für Seriosität). Übrigens ist Docker auch in Go geschrieben.
Dieses Mal habe ich nur ein kostengünstiges LLM verwendet, um zu sehen, ob das ausreicht, und meine Wahl fiel auf Deepseek V4 Flash. Ich habe es sowohl für das Denken als auch für das Codieren verwendet.
Dieses Modell erwies sich als ausreichend. Es ist nicht notwendig, ein großes Modell wie Fable oder Kimi K3 zu haben, denn @pierre-gilles hat mit seiner sehr vollständigen README eine hervorragende Arbeit geleistet. Sie enthält alle technischen Details, damit ein LLM, selbst ein „einfaches“, eine Portierung durchführen kann. Das gilt auch für die externe Integration dank ihres sehr gut dokumentierten Templates.
Letztlich habe ich jetzt ein funktionierendes SDK und ein Beispiel mit einem Docker-Image von weniger als 19 MB. Das ist also sehr leicht im Vergleich zu den 169 MB der JS-Version von @prohand. Keine Überraschung: Die JS-Version erfordert Node.js und seine Abhängigkeiten, während es in meinem Fall ein einfaches ausführbares Programm in einem Image auf Basis von Alpine OS ist.
Fazit
Nach meinen Tests ist das Wichtigste die Erstellung einer guten Projektdefinition, sowohl in Bezug auf die Hauptziele als auch auf die technischen Aspekte, idealerweise mit Hilfe eines Modells wie Qwen 3.8 Max / Fable / Opus. Sobald die Datei README.md, AGENTS.md oder CLAUDE.md erstellt und vollständig ist, kann man zu einem leichteren Modell für das Codieren übergehen. In meinem Fall reichte Deepseek V4 Flash aus, aber die Version Pro ist immer noch vorzuziehen, wenn der generierte Code zu viele Fehler enthält oder zu komplex ist.
Und jetzt?
Ich werde dieses Projekt nicht weiterführen: Es handelte sich um ein Experiment, und ich werde keine Zeit haben, mich darum zu kümmern, neben meinen anderen Projekten. Sie können es natürlich übernehmen, wenn Sie möchten, es ist komplett frei.
Ich hoffe, dieser Beitrag interessiert Sie und hilft Ihnen bei Ihren zukünftigen Entwicklungen!