Connect with us

Künstliche Intelligenz

Das kann OpenClaw in der PRAXIS | c’t 3003


Was passiert, wenn ein KI-Agent permanent auf dem eigenen Rechner läuft und per Messenger gesteuert wird? OpenClaw zeigt es: Lampen schalten, Musik generieren, Kinderbuch-Stifte bespielen, vieles funktioniert erstaunlich gut und ohne Konfiguration. Der KI-Agent lernt zudem selbstständig dazu. Klingt perfekt, ist es aber nicht: Das System kann auch Schaden anrichten. Und seit Anthropic die Flatrate gestrichen hat, ist Claude Opus als bestes Modell kaum noch erschwinglich.

Weiterlesen nach der Anzeige

(Hinweis: Dieses Transkript ist für Menschen gedacht, die das Video oben nicht schauen können oder wollen. Der Text gibt nicht alle Informationen der Bildspur wieder.)

Guck mal hier, ich schicke einfach eine Sprachnachricht an meinen OpenClaw-Assistenten. Ich hab hier so ein elektronisches Namensschild, da steht irgendwie hinten www.lednametags.de hinten drauf. Ich hab keine Lust, die Software selbst zu installieren. Ich möchte das einfach an den Rechner hängen, auf dem du läufst, und dann soll da I LOVE c’t 3003 draufstehen. Ja, paar Sekunden später steht da I LOVE c’t 3003 drauf. Und ich hab nichts vorbereitet, ich hab nix selbst installiert, ich hab einfach nur eine Telegram-Sprachi geschickt. Und das Krasse ist, das Ding hat mir sogar eigene Animationen auf das Teil programmiert, was zum Beispiel mit der Windows-Software für dieses LED-Namensschild so ohne Weiteres gar nicht möglich wäre. Ich habe noch mehr Beispiele, ich habe aber auch noch ein paar Horrorgeschichten, warum OpenClaw auch ganz schön problematisch sein kann. Vor allem glaube ich, dass ich euch OpenClaw bzw. ähnliche Systeme jetzt besser erklären kann als vorher, weil ich nämlich auch ein bisschen gebraucht habe, um zu checken, was daran jetzt eigentlich so anders oder besonders ist. Und ich bin zu 100% davon überzeugt, dass solche Systeme in Zukunft alltäglich werden. Bleibt dran!

Liebe Hackerinnen, liebe Internetsurfer, herzlich willkommen hier bei…

Ja, manchmal mache ich hier Videos und denke so: „Passt schon, ne?“ Und dann merke ich aber: „Hm, ich glaube, das hat man gar nicht so gut verstanden.“ Und das habe ich besonders doll gemerkt, als die Streamer Staiy und Drakon auf unser OpenClaw-Video reagiert haben. Das ist jetzt auch kein Vorwurf an die beiden oder so, ist alles gut, aber ich habe offenbar viel zu viel KI-Wissen vorausgesetzt und nicht deutlich genug für normal technisch interessierte Menschen erklärt, was an OpenClaw jetzt eigentlich so krass ist.

Und deshalb versuche ich das jetzt ein zweites Mal. Also finde ich wichtig, weil solche OpenClaw-artigen Systeme wirklich extrem relevant zu werden scheinen. Guck mal hier, in China legen zum Beispiel etliche Kommunen nicht nur so Förderprogramme auf für Firmen, die kommerzielle OpenClaw-Lösungen entwickeln. Es gibt auch wirklich so Aktionen, wo Leute sich kostenlos OpenClaw auf ihre Rechner von Profis installieren lassen können, inklusive so Plüsch-Hummer-Nippes, weil der Hummer, das ist das Wappentier von OpenClaw. Gleichzeitig rät die chinesische zentrale Sicherheitsbehörde für Cyberangelegenheiten aber explizit davon ab, OpenClaw bei Regierungsstellen, Staatsbetrieben und Banken auf Arbeitsrechnern zu installieren.

Und ich finde, das zeigt sehr anschaulich, dass OpenClaw einerseits faszinierend und nützlich ist, aber gleichzeitig auch super gefährlich.

Weiterlesen nach der Anzeige

Aber jetzt endlich konkret, was das ist, OpenClaw? Ja, das ist eine Software, die der österreichische Entwickler Peter Steinberger als Experiment für sich selbst entwickelt hat. In einem Interview mit mir hat er sogar gesagt, dass er es als eine Art Kunstprojekt sieht. Anders als ChatGPT kann OpenClaw Dinge auf einem Computer machen. ChatGPT kann ich natürlich auch Dateien schicken zum Analysieren und ChatGPT kann auch Sachen generieren, zum Beispiel PDFs, aber ChatGPT hat keinen direkten Zugriff auf meinen Rechner. Das wohnt ausschließlich im Browser oder halt in der ChatGPT-Handyapp. OpenClaw wohnt dagegen auf meinem Rechner. Ich selbst muss als Nutzer OpenClaw auf einem Rechner installieren. Ich kann also nicht einfach eine Website aufrufen, sondern ich muss Zugang zu einem Computer haben. Das kann ein lokaler Rechner sein, der hier bei mir auf dem Schreibtisch steht, Homeserver, alter Laptop, Raspberry Pi geht auch, oder halt ein angemieteter Server im Netz. Ich habe OpenClaw hier bei mir auf einem Framework Desktop mit Fedora Linux installiert, auf dem sonst nichts läuft und der permanent eingeschaltet ist. Das ist so der normale Modus Operandi für OpenClaw.

So, und weil das Ding halt lokal auf einem Rechner läuft, denken viele Leute, dass OpenClaw auch zwingend was mit lokalen KI-Modellen zu tun hat und dass man also einen Rechner braucht, auf dem lokale KI-Modelle gut laufen. Und nein, das stimmt nicht. OpenClaw funktioniert mit Abstand am besten, wenn man es mit den leistungsfähigsten KI-Modellen verwendet, und das sind zurzeit leider die großen Cloud-Modelle. Man kann es mit lokalen Modellen verwenden, habe ich auch intensiv ausprobiert, sage ich später noch was zu, aber meiner Meinung nach funktioniert OpenClaw zurzeit am besten mit Anthropic Claude Opus. Das bedeutet also, dass man OpenClaw auch problemlos auf einem Rechner nutzen kann, der keine lokalen Modelle laufen lassen kann. OpenClaw selbst ist sehr ressourcenschonend, das läuft auf einer Kartoffel, das muss ja nur Prompts an Anthropic schicken in meinem Fall und die Ergebnisse entgegennehmen.

Kurzer Einschub, also die coolen Sachen, die mein OpenClaw kann und die in diesem Video vorkommen, für die ist, sag ich mal, zu mindestens 80% das LLM verantwortlich, in meinem Fall Claude Opus. Aber Claude Opus ist inzwischen nahezu unbezahlbar, weil es nicht mehr per Abo geht. Dazu später mehr.

So, und jetzt denken vielleicht einige von euch, haben auch viele kommentiert, ja, okay, das läuft auf dem Rechner und kann da Dinge machen. Was ist daran jetzt aber anders als zum Beispiel Claude Code oder Codex oder OpenCode? Da kann ich ja auch einfach sagen, guck dir mal alle Bilder in dem und dem Verzeichnis auf meiner SSD an und kopiere alle Katzenfotos in das und das Verzeichnis. Ja, das stimmt, aber Claude Code und Co. machen halt nur Sachen, wenn ich die explizit starte und dann prompte. OpenClaw kann ich einfach sagen, schick mir jede Stunde ein Gedicht, das mich daran erinnert, genug Matcha Latte zu trinken, weil OpenClaw halt immer läuft.

So, und jetzt noch ein weiterer Unterschied zu Claude Code und Co. OpenClaw läuft da, wo ich mit meinem Bot kommunizieren will. Also in meinem Fall ist das Telegram. Nicht, weil ich Telegram so super finde, finde ich nicht, aber weil ich OpenClaw halt so in Telegram integrieren kann, dass es ein eigener Account ist. Würde ich WhatsApp oder Signal benutzen, würde der OpenClaw-Bot quasi ich sein. Das heißt, wenn der eine Nachricht schreibt, sieht das für andere so aus, als würde sie von mir kommen. Und das Ding könnte auch alles lesen, was reinkommt. Für mich ist das aber keine Option, deshalb benutze ich Telegram, da sieht er nur, was explizit an ihn geht.

So, und alleine, dass ich mit dem Bot über Messenger kommuniziere, macht für mich schon einen riesigen Unterschied aus, weil ich zum Beispiel einfach von unterwegs mit dem Bot sprechen kann. Ohne Telegram müsste ich mir überlegen, wie ich von außen an meinen Rechner komme, also, was weiß ich, VPN einrichten oder sogar Ports öffnen, muss ich hier alles nicht. OpenClaw ist einfach eine „Person“ in meinem Messenger. Das hat offenbar auch Anthropic gecheckt, also die Leute, die Claude Code machen, und die bieten jetzt auch offiziell Messenger-Unterstützung an.

Und trotzdem ist das immer noch nicht das Gleiche, weil OpenClaw proaktiv Sachen machen kann und Claude Code nur reaktiv. Prompt rein, Antwort raus. Oder auch Prompt rein und dann kommt da die Software raus. OpenClaw hat obendrein auch noch sehr durchdachte Memory-Modelle, damit er sich auch Sachen merken kann, wenn das Kontextfenster gelöscht wird, also quasi das Kurzzeitgedächtnis des KI-Modells. Claude Code versucht das auch, aber immer nur im Rahmen des gerade aktiven Projekts bzw. des aktuellen Projektordners. OpenClaw ist auch selbstmodifizierend. Man kann also einfach auf Telegram sagen, wenn du mir in Zukunft Sprachis schickst, dann bitte auf Schwäbisch mit dem und dem Text-to-Speech-Modell. Und dann wird das gespeichert.

So, jetzt aber endlich nochmal ein paar Beispiele, was das Ding kann und wofür ich das benutze. Ich hatte ja am Anfang schon das Beispiel mit diesem LED-Namensschild hier gezeigt. Ja, ich habe halt nichts konfiguriert, das ging halt einfach. Also einfach sagen, per Text oder Sprachi, ja, und der Bot ist dann wirklich in der Lage, Bilder dafür zu generieren. Und ich habe dann mal gefragt, wie das eigentlich funktioniert, und dann sagt der Bot, mache ich „per Hand“, also ich zitiere, Pixel für Pixel in Python. Das fand ich einigermaßen erstaunlich, vor allem, weil es ja die „offizielle“ Software nur für Windows gibt. Für macOS gibt es eine kostenpflichtige inoffizielle Software, ja und für Linux nur so ein Python-Script. Das ist für Menschen oft nicht so richtig leicht zu bedienen, aber für OpenClaw und solche agentischen Systeme ist so ein Script deutlich leichter als grafische Benutzeroberflächen. Das ist nämlich das Ding, was man echt verstehen muss. Alles, was sich auf der Kommandozeile machen lässt, in Skripten oder Python oder über ein MCP oder über eine API, über MCP hatten wir mal ein eigenes Video, das machen OpenClaw und Claude Code problemlos. Alles, was allerdings mit grafischen Benutzeroberflächen zu tun hat und leider auch Websites im Browser, das geht schon auch irgendwie, aber viel, viel, viel schlechter. Ja, und das Namensschild ist ein perfektes Beispiel, das kann man komplett über Python programmieren und das geht problemlos in Sekunden.

Ich habe dann auch nochmal was vermeintlich Schwierigeres auf OpenClaw geworfen. Ich habe hier nämlich noch so einen alten Tiptoi-Stift, da kann man sich so Kinderbücher mit vorlesen lassen. Man musste allerdings manuell erst die Audiodateien des entsprechenden Kinderbuchs drauftun und die Software dafür, die gibt es nur für Windows und macOS. Ich also wieder eine Sprachi hier an OpenClaw geschickt. Ich möchte die Inhalte von diesem Bild, also von diesem Tiptoi-Buch, auf meinen Tiptoi-Stift draufladen. Bitte regel das alles. Ich möchte einfach nur den Tiptoi-Stift an den Rechner anschließen, auf dem du läufst. Und dann sollen bitte die Inhalte für dieses Buch da drauf gespielt werden. Danke.

Ja, und das hat auch einfach funktioniert. Ich war dann recht ungläubig, weil ich ja schon wusste, dass es eigentlich keine Linux-Software dafür gab. Und ich habe OpenClaw dann gefragt, wie er das gemacht hat. Ja, und dann hat er halt einfach irgendwelche GME-Dateien, whatever, heruntergeladen und die auf den Stift kopiert. Offenbar ist das das Gleiche, was die Windows- und Mac-Software auch macht. Aber woher wusste OpenClaw das? Das steht ja vermutlich nicht in den Claude-Trainingsdaten. Ja, das hat er mir dann alles erklärt. Er hat halt irgendwo irgendwelche Tiptoi-Projekte auf GitHub gefunden und so herausgefunden, wie die Tiptoi-Website aufgebaut ist, wo die Dateien liegen und so weiter. Das hätte ich vielleicht auch selbst irgendwann irgendwie hinbekommen. Aber ich kann definitiv nicht so schnell Informationen erfassen wie ein Sprachmodell und hätte dafür definitiv länger gebraucht.

Ja, und OpenClaw kann natürlich nicht nur Sachen bedienen, die per USB an seinem Host-Rechner dranhängen, sondern auch Sachen im Netzwerk tun. Ich habe drei Sachen ausprobiert, die mir bei mir zu Hause eingefallen sind. Schalte meine Philips-Hue-Lampe in dem und dem Raum an, schmeiß mir mal ein selbstgeneriertes Lied auf mein Google-Home-Assistant-Gerät in der Küche und spiel was auf meinem Sonos-Soundsystem ab. Und alles drei hat er einfach gemacht, ohne dass ich irgendetwas konfigurieren musste.

Ganz kurz, das ist der 3003-Diss-Track, den er lokal auf meinem Rechner generiert hat. Und ich muss leider zugeben, dass ich das öfter als Prank mache, dass ich irgendwelche Quatschlieder generiere und die dann auf diverse Boxen hier in der Wohnung schmeiß, um meine Familie zu ärgern. Ja, das geht alles.

Auf jeden Fall hat er alle diese drei Sachen, also Lampe, Sonos und Google Assistant, alles drei einfach gemacht, ohne dass ich irgendwas konfigurieren musste. Also die Informationen, die ich hier gerade erwähnt habe, einfach wie die Geräte heißen, waren die Informationen, die ich OpenClaw auch gegeben habe. Bei der Hue-Lampe musste ich einmal zum Bestätigen auf die Hue-Bridge drücken, aber das ist ja das ganz normale Sicherheitsfeature, das macht man einmal und dann kann OpenClaw schalten und walten, wie es will. Und manchmal brauchen Sachen auch ein, zwei Versuche, da muss man vielleicht noch eine Frage beantworten oder sagen, versuch’s nochmal. Aber wenn OpenClaw Dinge einmal hinbekommen hat, schreibt er sich die gewöhnlich auch in seine TOOLS.md, das ist quasi sein Notizbuch, wo steht, welche Tools er wie benutzen kann.

Und, weil ich OpenClaw, habe ich ja gerade schon gesagt, auf einem recht leistungsfähigen Rechner laufen habe, kann der darauf halt Lieder, Bilder, Videos generieren und die Tools dafür, also zum Beispiel Ace-Step für Musik, die hat er alle selbst installiert und das ist eine AMD-Maschine und ich habe ehrlich gesagt mit lokalen KI-Tools oft Probleme mit Nicht-Nvidia-Hardware, aber OpenClaw macht das alles ohne Probleme. Also, was heißt ohne Probleme? Manchmal klappt es, wie gesagt, nicht beim ersten Versuch, aber irgendwann passt das dann schon. Manchmal dauert es auch zehn Minuten, aber ist ja egal, ich muss ja nichts machen dabei. Und wie gesagt, einmal installiert, schreibt er sich das auf und dann läuft das.

Aber ich check das schon, das sind alles Dinge, die für so Computerheinis wie mich beeindruckend sind. Aber das ist natürlich auch nichts, was man jeden Tag verwendet, das sind eher so Party-Zaubertricks. Also, dass ich so meine Familie damit ärgere, dass ich auf den Boxen hier in der Wohnung irgendwelche generierten Lieder abspiele. Man kann ja so Pranks mitmachen, ne?

Deshalb. Was ich aber jeden Tag verwendet habe, und das ist mir fast ein bisschen peinlich, das ist OpenClaw als Chatgruppen-Teilnehmer. Ja, ich weiß, das ist psychologisch problematisch, ein LLM zu vermenschlichen, vor allem, weil ich meinen Bot auch so eingestellt habe, dass er wirklich schreibt wie ein Mensch, also viel Kleinbuchstaben, Komma- und Tippfehler etc. Aber es ist wirklich interessant, eine KI im Chat drin zu haben, statt auf so einer ChatGPT-artigen Chatbot-Oberfläche. Und ich weiß auch nicht, ob ich und meine Freunde irgendwie seltsam sind, aber uns hat das sehr konsistent Spaß gemacht, so ein quasi allwissendes Ding im Chat zu haben, das strittige Fragen klären kann und uns irgendwas erklären kann.

Was ich besonders erstaunlich fand, das Ding hat manchmal echten Menschenhumor. Zum Beispiel haben wir einmal über einen Artikel gesprochen, in dem es darum geht, dass Incel-Sprache in den Mainstream wandert, also sowas wie Looksmaxxing, also generell irgendwas-maxxing. Da wurde dann auch die Netflix-Doku „Inside the Manosphere“ erwähnt und jemand sagte dann so, natürlich nicht ernst gemeint, kann man die irgendwo runterladen? Und der Bot: Kann ich dir nicht bei helfen, sorry, bin da Compliancemaxxing. Und ich meine, Compliancemaxxing ist schlau, ist ein gutes Wortspiel, bezieht sich auch wirklich auf Dinge und das ist nur ein Beispiel dafür. Also das Ding wirkt tatsächlich auf eine Art intelligent.

Vor allem fand ich auch interessant, dass der Bot manchmal bessere Antworten gegeben hat als Opus 4.6 auf claude.com, also das gleiche Sprachmodell, nur halt nicht im OpenClaw-Korsett oder Harness, wie man in der KI-Welt dazu sagt. Offenbar lag das daran, dass Opus auf meinem Rechner quasi lokal suchen konnte, über die Brave-API geht das übrigens, während Opus auf claude.com offenbar geblockt war auf dieser spezifischen Website, die da besucht werden sollte.

Also nochmal OpenClaw zusammengefasst, das kann Dinge auf meinem Rechner machen, das läuft permanent als Service oder als Daemon, kann also auch proaktiv irgendwas tun, zum Beispiel zweimal am Tag eine sehr spezifische News-Zusammenstellung in eine Telegram-Chatgruppe oder in Discord oder halt sonst woanders reinposten und es ist LLM-agnostisch. Das heißt, ich kann das mit jedem LLM, was sogenannte Tool Calls beherrscht, nutzen. Und zwar auch lokalen. Also Tool Calls ist Aufruf von Tools. Das können eigentlich alle neueren LLMs.

In der Praxis habe ich mehrere lokale LLMs ausprobiert. Auch auf wirklich leistungsfähigen Maschinen, wie zum Beispiel einem Mac Studio mit 512 GB Unified RAM. Das lief leider nie ansatzweise so gut wie Cloud-Modelle. Das Problem ist nicht nur die „Intelligenz“ der lokalen Modelle, sondern vor allem, dass OpenClaw bei jeder Anfrage riesige Prompts da reinballert. Also das sind hier bei mir bei einem einfachen „Hallo“ 171.000 Tokens, sagt OpenClaw selbst. Ja, also der knallt da halt nicht nur das System-Prompt rein, sondern auch die sogenannten Workspace-Dateien. Das ist die AGENTS.md, das ist die SOUL.md, also seine Seele, die USER.md, also mit welchen Usern er interagiert, und die TOOLS.md, das sind eben die Tools, die aufkamen, und die IDENTITY.md und so weiter. Und das ist in jedem Prompt drin. Das wird von den Cloud-Modellen so gemacht, dass die Sachen, die ein zweites Mal kommen, über den sogenannten KV-Cache verarbeitet werden. Das heißt, man muss diese Tokens dann nicht bezahlen, die gelten dann nicht. Aber ja, bei den lokalen Modellen tut sich ja extrem viel. Zum Beispiel ist Qwen 3.5, was noch nicht so lange raus ist. Das wirkt auf mich erstmal sehr vielversprechend. Das ist auch schnell und da muss ich auf jeden Fall nochmal ein bisschen länger mit experimentieren, aber es ist auf jeden Fall noch kein Opus 4.6, aber vielleicht kommt das noch.

So, und jetzt nochmal das Thema, das man bei OpenClaw natürlich erwähnen muss. Das Ding macht Sachen und kann deshalb auch Sachen kaputt machen. Also ich persönlich würde OpenClaw niemals, niemals Zugriff auf meine Mails geben, auch nicht auf irgendwelche persönlichen Daten, unter gar keinen Umständen auf irgendwas, was mit Geld zu tun hat, und ich würde OpenClaw auch nicht auf einem Rechner installieren, der offene Ports hat, also aus dem großen Internet erreichbar ist. Ich habe OpenClaw auf einem Rechner, der nur bei mir hier im internen Netz hängt, auf dem ich in keine wichtigen Accounts eingeloggt bin, beziehungsweise ich auch nicht OpenClaw irgendwelche Passwörter gebe, wo auch keine wichtigen Daten drauf sind. Generell finde ich gut, wenn man mit solchen Systemen experimentiert, man sollte aber versuchen zu verstehen, was die machen und was die Risiken sind.

OpenClaw kann autonom Software installieren und natürlich kann er sich da Trojaner einfangen und generell kann er sich eine Prompt Injection einfangen. Gerade wenn man kleine lokale Modelle verwendet, die großen State-of-the-Art-Cloud-Modelle sind da natürlich darauf optimiert, dass sie nicht so sensibel auf Prompt Injections reagieren, aber die sind auch nicht zu 100% sicher.

Und was passiert, wenn man OpenClaw Zugriff auf wichtige Daten, wie die eigenen Mails gibt? Das zeigt das inzwischen in der Szene berühmte sogenannte Yue-Incident. Da hat nämlich eine Meta-KI-Forscherin, also jemand, die sich auskennt eigentlich, Hunderte Mails von OpenClaw gelöscht bekommen, ohne dass sie das wollte. Sie hatte aber sogar explizit gesagt, analysiere nur mein Postfach, lösche keine Mails. Es ist dann trotzdem passiert.

Und ich habe solche Sachen auch beobachtet, also undramatischer, weil ich OpenClaw ja keinen Zugriff auf wichtige Sachen gegeben habe, aber OpenClaw hat auf jeden Fall manchmal einfach halluziniert, also mit dem Brustton der Überzeugung Quatsch erzählt, keine Ahnung, Restaurants empfohlen, die es gar nicht gibt, aber es ist auch vorgekommen, dass OpenClaw eine mehrere Wochen problemlos lauffähige Ace-Step-Installation einfach komplett zerschossen hat. Es hat es dann selbst wieder repariert bekommen, aber ja, war erst mal kaputt. Und ich habe auch sehr oft gehabt, dass OpenClaw sich bei einem Update selbst zerkonfiguriert hat, also dass man sowas gesagt hat wie, mach ein Update oder stell das mal so oder so ein und dann sagt OpenClaw, okay, und dann war es weg. Dann konnte ich es nicht mehr über Telegram bedienen. Ich musste mich dann über SSH auf den OpenClaw-Rechner draufgehen und da gibt es dann den OpenClaw-Doctor-Befehl, der OpenClaw wieder repariert. Das klappte auch immer, aber ihr merkt schon, das ist auf jeden Fall faszinierende Software, aber kein Rundum-Sorglos-Paket, auf gar keinen Fall. Ohne zu verstehen, was OpenClaw ist und was es macht und vor allem, was es kaputt machen kann, sollte man OpenClaw auf keinen Fall benutzen. Wenn ihr euch das zutraut, dann probiert das auf einer Maschine aus, wo es kein Problem wäre, wenn alles drauf gelöscht wird. So sollte man das sehen.

Es ist für mich wirklich sonnenklar, dass solche permanent laufenden, selbstlernenden Agentensysteme keine kurzzeitige Modeerscheinung sind, sondern das ist was, was Menschen und Unternehmen in Zukunft immer mehr nutzen werden. Darauf könnt ihr mich gerne festnageln, davon bin ich wirklich überzeugt. Da steckt so viel Potenzial drin. Es ist aber nicht so, dass OpenClaw irgendwie fertig ist oder so. Im Gegenteil, es ist noch buggy, es ist noch gefährlich. Wenn man nicht weiß, was man tut, es ist, wie Peter Steinberger das ja auch beschrieben hat, experimentelle Software, im wahrsten Sinne des Wortes. Man kann damit experimentieren und dadurch besser verstehen, was agentische Systeme Stand heute so leisten können, wie man die vielleicht für sich selbst nutzen kann. Aber das Ding ist nichts für Leute, die irgendwas Fertiges haben wollen. Vor allem ist es, wenn man das meiner Meinung nach beste Modell haben will, extrem teuer.

So, und das ist hier jetzt nochmal eine wichtige Aktualisierung. Anthropic hat nämlich vor wenigen Tagen entschieden, dass man Claude Opus und auch Sonnet nicht mehr mit einem Abo, also einer Flatrate, verwenden kann. Also kann man schon, aber nicht mehr mit externen Tools wie leider OpenClaw. Nicht mal mit dem extrem teuren Claude-Max-Abo für 107,10 Euro im Monat, das ich für meine Zeit mit OpenClaw abgeschlossen hatte. Also für die Zeit, bevor diese neue Regel galt. Will man Claude-LLMs verwenden, muss man jetzt über API abrechnen. Und das ist was, was ich euch unter keinen Umständen empfehlen würde, weil die über 100 Euro, die ich vorher im Monat bezahlt habe, die ballert ihr da locker, wenn ihr ein bisschen was damit macht, am Tag durch. Am Tag, okay? Wenn ihr einfach nur Hallo dahin schreibt, dann kann es sein, dass das Ding weit über 100.000 Token an die Server schickt. Und ja, OpenClaw ist eine Token-Schleuder, das muss man so sagen. Das ist aber halt schade, weil Opus meiner Meinung nach das einzige LLM ist, mit dem OpenClaw halt wirklich nützlich ist.

Es gibt eine Alternative, ob das nun daran liegt, dass OpenClaw-Erfinder Peter Steinberger jetzt bei OpenAI arbeitet. Auf jeden Fall kann man jetzt OpenClaw mit einem einfachen ChatGPT-Plus-Abo, also es kostet ein bisschen mehr als 20 Euro im Monat, über Flatrate benutzen, mit dem aktuellen LLM Codex 5.4. Und das muss man so klar sagen, das ist leider deutlich, deutlich, deutlich schlechter als Claude Opus. Ich habe das ja gezwungenermaßen, nachdem Anthropic halt mein Abo gecancelt hat sozusagen oder die Flatrate, habe ich das umgeschaltet auf Codex 5.4. Und ja, was soll ich sagen, also die Sprache ist irgendwie kaputt. Das Ding sagt Sachen wie, das ist ziemlich hybrisig. Also kommen ständig solche komischen Wortschöpfungen und irgendwelchen Formulierungen, die auch grammatikalisch nicht viel Sinn ergeben. Manchmal werden auch so Fragmente in anderen Sprachen, neulich hatte ich was in Hindi da reingehauen, in die Antworten, ganz komisch. Vor allem kann es aber auch weniger. Also die beeindruckende Tool-Benutzungskompetenz, die ist bei Codex 5.4, ja, schrottig.

Eigentlich bin ich ja sowieso nicht der größte Fan davon, dass alles über irgendwelche Server von irgendwelchen US-Unternehmen läuft. Dauerhaft würde ich OpenClaw auf jeden Fall erst verwenden, wenn es ein lokales Modell gäbe, was gut damit funktioniert. Aber da habe ich noch keins gefunden, was Opus ansatzweise das Wasser reichen kann und was einigermaßen schnell auf bezahlbarer Hardware läuft. Ihr vielleicht? Gerne in die Kommentare schreiben. Interessiert mich wirklich. Tschüss.

c’t 3003 ist der YouTube-Channel von c’t. Die Videos auf c’t 3003 sind eigenständige Inhalte und unabhängig von den Artikeln im c’t Magazin. Die Redakteure Jan-Keno Janssen, Lukas Rumpler, Sahin Erengil und Pascal Schewe veröffentlichen jede Woche ein Video.


(jkj)



Source link

Künstliche Intelligenz

heise+ Expertentalk: Balkonkraftwerk – Solarenergie für Einsteiger


Wer heute Stromkosten sparen will, benötigt kein Eigenheim und keine komplizierte Solaranlage auf dem Dach. Balkonkraftwerke haben sich längst vom Nischenprodukt zur massentauglichen Lösung entwickelt. Doch zwischen Anmeldung, Montage und der Wahl der richtigen Module bleiben für viele Einsteiger wichtige Fragen offen. Welche Anlage passt zu meiner Ausrichtung? Was muss ich bei der Anmeldung im Marktstammdatenregister beachten? Und wie viel Ertrag ist an einem bewölkten Tag eigentlich realistisch?

Haben Sie Fragen zu Balkonkraftwerken? Am Mittwoch, 27. Mai 2026, liefern wir Ihnen ab 17 Uhr im Expertentalk die passenden Antworten. In unserem Live-Talk klären wir die wichtigsten Hürden und beantworten Ihre Fragen direkt im Stream.

Durch den Talk führt Sie Moderator Daniel Augustin. Als Experten mit dabei sind die c’t-Redakteure Jan Mahn und Sven Hansen. Ihre Fragen können Sie während der Live-Sendung direkt im Chat stellen oder auch gern vorab im Forum oder per E-Mail. Wir freuen uns auch über weitere Themenvorschläge.


Das war die Leseprobe unseres heise-Plus-Artikels „heise+ Expertentalk: Balkonkraftwerk – Solarenergie für Einsteiger“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.



Source link

Weiterlesen

Künstliche Intelligenz

C-Libraries in Java nutzen 3: Komplexe Anwendung, Fallstricke und Best Practices


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Javas Foreign Function & Memory API (FFM) dient dazu, auf Code in einer Shared Library beziehungsweise DLL zuzugreifen, der in einer Programmiersprache wie C oder Rust geschrieben ist. Allerdings muss der Code dazu einige Voraussetzungen erfüllen.

Weiterlesen nach der Anzeige




Rudolf Ziegaus ist Software-Entwickler, Java-Trainer und Geschäftsführer der IO Software GmbH. Seine Lieblingsthemen sind PKi, Kryptographie und systemnahe Programmierung.

Diese dreiteilige Artikelserie zeigt anhand einer in C geschriebenen Demo-Library, wie eine Java-Anwendung die Funktionen der Bibliothek aufruft, welche Vorbereitungen erforderlich sind und welche Regeln zu beachten sind.

Nachdem die ersten beiden Teile die wichtigsten Begriffe und Techniken beim Zugriff von Java auf nativen Code via der FFM-API gezeigt haben, behandelt dieser dritte und letzte Teil einige Spezialitäten, die zu beachten sind.

Es gibt Anwendungen, die nicht das vollständige MemorySegment benutzen sollen, sondern nur einen Teil davon – beispielsweise wenn sie eine Liste übergeben bekommen, aber nur Teile davon benötigen. Dann ist es praktisch, wenn man nicht immer auf das komplette Array zugreifen muss, sondern sich eine Art View über den Speicherbereich legen kann – genau das leistet die Methode asSlice. Sie schneidet einen Bereich aus dem Segment aus und liefert ein neues Segment für diesen Bereich.

Wenn etwa ein MemorySegment 64 Byte lang ist, ließen sich folgendermaßen die letzten 16 Byte davon abrufen:

Weiterlesen nach der Anzeige


MemorySegment segment = arena.allocate(64);
MemorySegment info = segment.asSlice(48, 16);


segment enthält hier den gesamten Speicherbereich. Die Methode asSlice() schneidet die 16 Bytes ab Position 48 heraus.

Die Daten werden dabei aber nicht kopiert, sondern es entsteht eine View über den ausgewählten Bereich. Wenn sich der Inhalt des Bereichs ändert (im Beispiel der Bereich info), dann ändert sich auch der Originalspeicherbereich segment.

Ein Problem entsteht, wenn das Segment eine falsche Länge hat – mit reinterpret kann man die Länge des Segmentes neu festlegen. In manchen Fällen kann es vorkommen, dass das Segment mit der Länge 0 zurückgegeben wird, beispielsweise, wenn die native Funktion einen void*-Pointer zurückgibt. Ein Zugriff auf das Segment würde eine ArrayIndexOutOfBoundException auslösen. Daher muss man zunächst das Segment auf die richtige Länge setzen, was voraussetzt, dass sie bekannt ist.

Für folgendes Beispiel liefert die native Funktion getMemory() einen void*-Pointer auf einen Speicherbereich zurück. Außerdem ist bekannt, dass der Speicherbereich 100 Byte groß ist. Dann kann man folgendermaßen auf das Ergebnis zugreifen:


MemorySegment segment = (MemorySegment) method.invoke();
MemorySegment value = segment.reinterpret(100);
String result = value.getString(0);
System.out.println("Result getMemory:" + result);


Oft ist unklar, wie viele Byte ein Datentyp in C auf einer bestimmten Plattform belegt. Der folgende Code ruft die Größe des Datentyps auf der verwendeten Plattform ab. Der Code ermittelt alle unterstützten Datentypen und zeigt die benötigte Größe in Bytes und das Alignment für den Datentyp long an:


public void printTypeInfos()
{
  Map typeInfos = linker.canonicalLayouts();
  System.out.println("Canonical layout keys: " + 
                     typeInfos.keySet());
  printTypeInfo(typeInfos, "long");
}

private void printTypeInfo(Map typeInfos, 
                           String type)
{
  MemoryLayout typeLayout = typeInfos.get(type);
  if (typeLayout != null)
  {
    System.out.println("C '" + type + "' layout: " + typeLayout +  
                       ", size=" + typeLayout.byteSize() + ", 
                       align=" + typeLayout.byteAlignment());
  }
  else
  {
    System.out.println("Datentyp“ + type + " nicht in“  +  
    „canonicalLayouts() enthalten");
  }
}	


Wer eine Library auf mehreren Betriebssystemen plattformübergreifend nutzen möchte, sollte zunächst mit einem Betriebssystem beginnen und nach dem erfolgreichen Einsatz prüfen, ob die genutzten Funktionen sich auch unter den anderen Betriebssystemen problemlos verwenden lassen.

Ich musste beispielsweise bei meinem Projekt zum Zugriff auf das Hardware-Sicherheitsmodul (HSM) feststellen, dass die Portabilität zum Teil sehr problematisch ist, da sie von den verfügbaren Treibern und Shared Libraries abhängt. So war ein Zugriff auf ein HSM via opensc unter Linux kein Problem, während sich unter Windows einige Funktionen gar nicht nutzen ließen, sondern eine Access Violation in der JVM hervorriefen.

Falls es deutliche Unterschiede zwischen den Plattformen gibt, ist ein Weg, die Funktionen in einer gemeinsamen Basisklasse zu abstrahieren und dann in abgeleiteten Klassen für jede Plattform unterschiedlich zu gestalten.

Mögliche Probleme beim plattformübergreifenden Zugriff sind

  • unterschiedliche Größen der Datentypen,
  • unterschiedliche Größen von Strukturen,
  • unterschiedliches Alignment der Elemente in einer Struktur.

In diesem Fall ist der Zugriff auf den Sourcecode der Shared Library hilfreich. Sollte er nicht möglich sein, lassen sich bestimmte Informationen über die Größe der Datentypen auf der Zielplattform mithilfe der Methode printTypeInfos() ermitteln.

Während meiner Arbeit mit der Foreign Function & Memory API haben sich einige Best Practices herauskristallisiert. So ist es sinnvoll, zunächst mit einfachen Libraries und einfachen Funktionen anzufangen, bevor man sich an größere Libraries beziehungsweise komplexere Funktionen wagt.

Sinnvoll ist es Throwable abzufangen und in eigene Exceptions umzuwandeln, die von RuntimeException abgeleitet sind.

Wer die gleichen Funktionen aus der Library mehrfach benötigt, sollte Method-Handles in einer Map cachen, um nicht immer wieder dieselben Infos abrufen zu müssen. Strukturen sollte man immer per Adresse (ValueLayout.ADDRESS) übergeben und die Strukturen als eigene Klasse mappen, damit der Code übersichtlich bleibt.

Wenn Anwendungen Speicherbereiche allokieren müssen, sollte die Arena dafür möglichst weit oben in der Hierarchie stehen, und die Anwendung sollte die Arena mit try-with-resources erzeugen, damit die Freigabe des Speichers automatisch erfolgen kann.

Das Tool jextract sollte man besser meiden. Eine manuelle Implementierung ist einfacher zu verstehen und vor allem auch zu warten.

Wer den Sourcecode der Shared Library unter Kontrolle hat, sollte auf Datentypen wie int32_t und int64_t setzen, damit klar ist, wie viel Byte sie jeweils belegen.

Für größere Projekte kann es empfehlenswert sein, einen Basis-Layer für den Zugriff auf die C-Funktionen zu implementieren und in einem weiteren Layer die Zugriffschicht für Java draufzusetzen, die keinerlei FFM-spezifische Details mehr enthalten sollte. Bei sehr umfangreichen Projekten empfiehlt sich eine zusätzliche Komfortschicht, die die wichtigsten Use Cases kapselt.

Bei der Suche nach Fehlerursachen im Zusammenspiel zwischen Java und C mit der Foreign Function & Memory API helfen ein paar Fragen:

  • Ist der richtige Library-Pfad angegeben?
  • Ist es die richtige Shared Library (32 Bit oder 64 Bit)?
  • Lässt sich die Shared Library überhaupt laden?
  • Stimmen die Funktionsnamen?
  • Stimmen die Parameter (Anzahl und Datentypen) und der Rückgabewert überein?
  • Bei den Datentypen: Stimmen die Größen überein? Insbesondere der Datentyp long in C ist kritisch, da sich die Größe auf verschiedenen Plattformen unterscheidet – in Windows müssen Anwendungen ihn als JAVA_INT behandeln, unter Linux dagegen als ValueLayout.JAVA_LONG.



Source link

Weiterlesen

Künstliche Intelligenz

PV-Vorhersage für Home Assistant: E-Auto und smarte Geräte effizient laden


„Ich denke niemals an die Zukunft. Sie kommt früh genug“, soll Albert Einstein gesagt haben. Und er lag natürlich falsch. Denn wer über die Zukunft seiner PV-Erträge nachdenkt, kann seine smarten Geräte besser steuern. So läuft die Waschmaschine erst, wenn genug Sonnenstrom vorhanden ist und das E-Auto pausiert das Laden, wenn die Prognose schlecht aussieht.

  • Mit dem Dienst Forecast.Solar lassen sich PV-Ertragsprognosen direkt in die Smart-Home-Zentrale Home Assistant einbinden.
  • Für eine präzise Berechnung müssen spezifische Anlagendaten wie Standort, Neigungswinkel, Ausrichtung und Gesamtspitzenleistung hinterlegt werden.
  • Um Fehler und Systemausfälle zu vermeiden, sollte man mit einfachen Automationslogiken starten, anstatt das System direkt zu überfremden.

Dafür benötigt man präzise Ertragsprognosen. Diese liefert der Dienst Forecast.Solar: Er sagt vorher, wie viel Strom die eigene PV-Anlage in den nächsten Stunden oder Tagen produzieren könnte. Bindet man diese Daten in die kostenlose Smart-Home-Zentrale Home Assistant ein, lassen sich große Verbraucher wie E-Autos, Waschmaschinen oder Wärmepumpen besser steuern.

Wir zeigen, wie man Forecast.Solar einrichtet, die passende Integration in Home Assistant hinzufügt und im Energie-Dashboard verwendet. Als Beispiel erstellen wir eine simple Automation, wie Home Assistant eine Push-Nachricht aufs Handy schickt und den Nutzer über die aktuelle Prognose für morgen informiert. Schließlich gehen wir noch darauf ein, wie man anhand der Prognose sein E-Auto effizient laden kann.


Das war die Leseprobe unseres heise-Plus-Artikels „PV-Vorhersage für Home Assistant: E-Auto und smarte Geräte effizient laden“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.



Source link

Weiterlesen

Beliebt