{
  "video_id": "F1DYkY1BlfM",
  "channel_slug": "aidotengineer",
  "channel_handle": "aidotengineer",
  "title": "Lobster Trap: OpenClaw in Containers — Sally Ann O'Malley, Red Hat",
  "duration_seconds": 1316.0,
  "url": "https://www.youtube.com/watch?v=F1DYkY1BlfM",
  "upload_date": "",
  "transcript": "[Musik]\nHey, ähm, ich bin Sally.  Ich arbeite bei Red Hat.\nIch bin seit etwa 10 Jahren dort und\ndie ersten 7 Jahre waren super, total\ncool.  Ich habe an Containern,\nLinux-Sicherheitsthemen und Kubernetes gearbeitet.  Um\nin OpenShift.  Genau das habe ich die\nersten 7 Jahre gemacht.\nUnd dann, äh, vor etwa 3 Jahren, nun ja,\nvor etwa 5 Jahren, bin ich in die\nOrganisation für aufstrebende Technologien gewechselt, und das war\nauch super, weil ich jetzt nicht mehr so ​​stark an\nein bestimmtes Produkt gebunden bin.  Ich kann einfach an dem arbeiten, was ich\nwill.  Ich kann einfach neue Dinge ausprobieren.\nEindrucksvoll.  Und dann, vor etwa 3 Jahren, war es plötzlich so, als ob nur noch\nKI im Spiel wäre, alles drehte sich nur noch um\nKI.  Ich wusste es nicht. Ich wusste nur, dass es\nbei Red Hat ein Data-Science-Team gibt.  Ich hatte keine Ahnung, was\nsie taten.  Maschinelles Lernen irgendwas\n.  Ähm, also, ich habe\nangefangen, mich mit KI zu beschäftigen, und äh\nja, es war viel Python und\nMarkdown.  Alles lief so ab wie:\n„Okay, noch ein Chatbot, noch mehr Python,\nnoch mehr Markdown.“  Ähm, aber nun sind wir hier\nund in was für einer verrückten, fantastischen\nWelt leben wir. Also, als\nich OpenClaw zum ersten Mal entdeckte,\nwar ich eine Woche lang zu Hause, quasi im\nUrlaub, hatte mir ein paar Tage frei genommen und da\npassierte so ein Malzbier-Buch und ich dachte nur:\n„Was zum Teufel\nist das? Das muss ich unbedingt ausprobieren!“\nUnd so habe ich es auf GitHub gefunden.\nAls Erstes schaue ich mir den\nFührerschein an.  Äh, MIT, super.  Äh, OpenClaw,\nich denke mir: „Das installiere ich jetzt sofort\nauf OpenShift.“  Und so habe\nich in den nächsten Tagen einfach das\nImage erstellt,\nes lokal in einem Container ausgeführt, es auf\nOpenShift bereitgestellt und einfach damit herumgespielt.   Ich\nging wieder zur Arbeit und dachte: „Leute,\nschaut euch mal OpenClaw an. Das ist echt cool.“\nUnd ein paar Leute auf Slack meinten:\n„Das ist ein Sicherheitsalbtraum. Benutzt\nOpenClaw nicht. Installiert es nicht auf dem\nArbeitslaptop.“\nIch dachte nur: „Leute,\nwas habe ich die\nletzten zehn Jahre gemacht? Wir können\njede Anwendung sicher ausführen. Genau darum geht es bei\nrel. Wenn wir das\nnicht können, dann... na ja\n. Das ist unsere\neinmalige Chance, es allen zu beweisen.“\nUnd so kommt auch Red Hat nun zu dieser Ansicht.\nÄhm, ja, also, in\ndiesem Vortrag geht es darum, dass ich\nin Containern arbeite.  Und deshalb wollte ich\neine Liste mit Gründen erstellen,\nwarum die Ausführung in\nContainern der richtige Weg ist.  Ich lasse\nalles in Containern laufen.  Es ist mir irgendwie\nfremd,\netwas einfach nativ auszuführen.  Es ist chaotisch.  Es\nlandet einfach nur Zeug auf meinem Computer, das ich\nspäter wieder löschen muss.  Ich mag es nicht.  Ähm, also,\ndas ist eine Eins-zu-eins-Sache.  Äh, und ich\nfrage meine ewige Kralle.\nIch glaube, ich muss meine ewige\nKralle vorstellen, denn sie ist ja die\nganze Zeit dabei, also werde ich sie mal beiseite nehmen\n.  Meine ewige Klaue ist Shubra und ähm, sie\nhat zwei Unteragenten.  Ich habe Freude.   Kennt sich\njemand mit\nJyotish-Astrologie aus?\nMensch, jedes Mal, wenn ich frage, weiß niemand,\nwas es ist.  Das ist\nsehr wissenschaftliche Astrologie.  Also, sie ist\nAstrologie-Expertin und erstellt mir\nwöchentlich meine Horoskope, mein Geburtshoroskop und so weiter\n.  Also, Joy und dann ist da noch mein zweiter Agent,\nBruno, der mich täglich\nüber die Bruins informiert.\nAlso, wir gehen in die Playoffs und\nes ist ein enges Rennen, deshalb möchte ich\nsicherstellen, dass die Bruins es schaffen. Ähm\n, das ist meine ewige Kralle und äh,\nund ich habe sie gefragt, warum wir dich\nim Container einsetzen sollten?  Und äh, das hat sie\nalles gesagt, falls Sie es gelesen haben, aber\nes ist reproduzierbar, Sie können Ihre\nGeheimnisse isolieren, es ist portabel über verschiedene Infrastrukturen, ich\nkann es auf meinem Laptop ausführen, ich kann es auf meinem\nx86 ausführen, ich kann es auf meinem Mac ausführen, ich kann\nes in Kubernetes ausführen.  Die Daten werden durch Volumes unterstützt,\nwas eine sehr gute Grundlage für\nBackup und Wiederherstellung bietet.  Äh, weil ich meine\nForever Claw liebe und sie jede\nNacht mit äh mit äh so\neinem System-D-Dienst sichere, wie auch immer der\nauf dem Mac heißt.  Und ähm, und man\nbekommt einfach dieses natürliche, äh,\nman bekommt einfach diesen natürlichen Sandkasten, wenn\nman etwas in einem Container ausführt.  Es ist\n, wissen Sie, so ist es nun mal,\nund man muss sehr genau angeben,\nworauf man\nvom Host Zugriff gewährt.  Und so, ja, sie\nliebt es, in einem Container zu laufen.  Das ist also alles, was\nSie wissen müssen.  Es bietet\nihr eine saubere, vorhersehbare Umgebung, sie muss sich\nkeine Gedanken über die\nEigenheiten des Betriebssystems oder veraltete Abhängigkeiten machen.  Das ist\nbuchstäblich die Definition dafür, warum man\nalles in Containern ausführen sollte.\nUnd äh, nur ganz\nkurz, wir werden das jetzt nicht vorlesen\n, aber das ist Joy, mein Horoskop.  Ähm,\nes ist für heute, einen Vortrag zu halten,\nhervorragend.  Es ist ein besonders günstiger\nTag für ein Gespräch.  Äh, ja.  Deshalb\nläuft dieses Gespräch bisher so toll.\nUnd äh,\nmein tägliches Briefing, äh, Geeky, wacht endlich auf\n.  Er hatte eine kleine Flaute.  Er bereitet sich\nendlich\nauf die Playoffs vor,\ndaher sieht es so aus, als ob die Bruins\ngut dastehen werden.  Sie sind drin und äh\nja.\nJa, also\nContainer ermöglichen mir... äh, noch etwas\nanderes, was Container können,\nist, dass man ein ganzes Agentenverzeichnis einrichten kann,\nin dem man beispielsweise einige Tools,\neinige Skills oder einige MCP-Server ausführt.  Sie\nkönnen\ndiese Dateien in einem Verzeichnis speichern und das\nGanze in Ihren Container einbinden,\nsodass beim Start alles sofort\neinsatzbereit ist.\nIch mache das auch.\nAm Ende dieses Vortrags zeige ich euch,\nwie ich es installiere, und ich glaube, das ist eine\nErinnerung für mich selbst: Oh nein, lasst uns über\nGeheimnisse sprechen.\nIch nutze also Podman für alles, nicht\nDocker.  Ähm, aber\ntheoretisch kann man mit\nPodman und Docker alles machen.  Aber Podman hat da eine\nrichtig coole Funktion namens Podman\nSecrets.  Und Sie können Ihre API-Schlüssel speichern.\nIch werde es\nspäter an den Seiten zeigen.  Sie können Ihre API-Schlüssel\nin einem Podman-Secret speichern.\nUnd dann wird dieses Geheimnis in den\nBehälter eingebaut.  Und so wird einfach die\nTrennung hergestellt.  Ihre Geheimnisse, Ihre API-\nSchlüssel sind dann nur eine Referenz zurück zum\nGeheimnis.  Und bei OpenClaw ist das wirklich\nTolle, dass es da quasi eine doppelte Funktion gibt,\ndenn in OpenClaw gibt es eine geheime\nReferenzfunktion, die ich auch nutze.  Meine API-\nSchlüssel sind also\nZeiger auf eine geheime Referenz auf das externe\nGeheimnis.  Und äh, das ist nicht perfekt, aber\nes gibt mir ein gewisses Maß an Beruhigung, dass ich\nmeine API-\nSchlüssel nicht in den Protokollen und so weiter preisgeben muss.  Und\nganz ähnlich verhält es sich mit\nKubernetes, wo es Kubernetes-Secrets gibt.\nAnstelle einer einfachen\nUmgebungsvariablen hat man ein\nSecret,\neine Secret-Referenz\nauf eine Umgebungsvariable.\nUnd dies ist meine Erinnerung daran, euch am Ende zu zeigen, wie\nich meine Container installiere.  Ich\nhabe ein richtig cooles Werkzeug.  Ich habe es speziell\nfür mich zusammengestellt, mit allem, was ich zum\nAusführen von Containern benötige.  Ich will es\nniemandem aufdrängen, aber es ist auf GitHub und am\nEnde kann ich\nIhnen sagen, wo genau.  Du kannst es gerne ausprobieren.\nIch denke also,\nwir bewegen uns auf eine Welt zu, in der\ndiese Agenten, diese KI-Workloads, was auch immer,\nüberall laufen werden.  Ich\nhoffe, das können wir alle einsehen.\nStellen Sie sich also vor, meine Vision ist, dass äh alle\nOpenClaws\nüberall herumlaufen und\nmiteinander kommunizieren.  Und äh,\ninsbesondere bei geschäftlichen\nAnwendungsfällen, also ganz realen Dingen, nicht Astrologie\nund Bruins.\nDas wirft\ndie Frage auf, wie man eine\nAnwendung auf\ndiese Weise betreiben kann, nämlich nach\nSicherheit und\nwie man das Ganze in großem Umfang umsetzen kann.\nUnd genau das bietet Ihnen Kubernetes.\nUnd Sie können –\nwas ich immer mache – etwas\nlokal entwickeln und es dann nach Kubernetes übertragen.\nUnd das Gleiche gilt auch für KI-\nWorkloads oder OpenClaw.\nUnd ich war gestern auf der PyTorch Con und ähm,\nmein Freund von Nvidia meinte, ich könnte\ndas hier teilen.  Sie führen\nihre Modellbewertungen\nmit OpenClaw durch.  Sie haben ungefähr 10\nIngenieure.  Sie betreiben jeweils ihre\nOpenClaws-Instanzen in Kubernetes und\nüberprüfen regelmäßig die\nModellauswertungen.\nUnd es funktioniert so gut für sie.  Er sagte,\nes sei, als würde er die Arbeit von\nsechs Ingenieuren alleine erledigen\n.  Lasst uns mal kurz darüber\nnachdenken\n.  Nicht alle von uns verlieren ihre\nJobs, Leute.  Als ob das nicht passieren würde.   Das Besondere daran ist, dass\nsein\nTeam dadurch die Möglichkeit bekommt, lustige und\ninteressante Dinge zu tun.  Sie dürfen\nkreative Dinge tun.  Und genau das ermöglicht\nmir und meinem Team die KI: Wir können uns auf unkonventionelle,\nverrückte Dinge konzentrieren,\nund wir müssen nicht mehr den mühsamen\nCode schreiben.  Als hätte ich\nseit einigen Monaten keinen Code mehr geschrieben.  Und das ist tatsächlich erst vor ungefähr\nsechs Monaten passiert.  Ich habe\nKI benutzt und dachte:\n„Weißt du was? Die ist viel besser\nim Programmieren als ich.“  Und da ist etwas, das\nich mag:\nJa.  Und das habe ich meinem Team mitgeteilt.\nWir hatten eine Organisationssitzung und ich meinte:\n„Leute, wenn ihr nicht für alles KI einsetzt\n, verpasst ihr echt was.\nDas ist 1000 Mal besser als ich im\nProgrammieren.“  Und einige der Top-\nIngenieure bei Red Hat zogen definitiv die\nAugenbrauen hoch, und an\nihren anschließenden Kommentaren konnte ich erkennen, dass sie dachten:\n„Auf keinen Fall.“  Ich so: „Ja.“  Äh, und so.\nJa, es\nermöglicht uns, einfach größer zu träumen,\nund äh,\ndies ist meine Erinnerung daran, Ihnen\nspäter die Kubernetes-Seite meines Installationsprogramms zu zeigen.\nUnd ja, Backup und Wiederherstellung sind eine\nschöne, saubere Angelegenheit, wenn man in\nContainern arbeitet, sodass der Zustand der\nVolumes gleich bleibt.  Ein weiterer Vorteil von Docker\nund Podman ist die Möglichkeit, Volumes zu verwenden.  Und so\nbefindet sich mein gesamter Laufzeitzustand in einem schön\nabgegrenzten Podman-Volume.\nUnd natürlich verfügt Kubernetes über PVCs.\nDas ist im Grunde genau das, worüber ich gerade gesprochen habe.\nUnd so sähe meine Vision vom\nArbeitsplatz-Setup für Open Claw aus: Man\nhat seine eigene, sorgfältig zusammengestellte\nOpen Claw-Basisversion, die man als neuer Mitarbeiter erhält\n.  Und was genau ist darin enthalten\n?  Es enthält Ihre Liste\nder von Ihrem Unternehmen genehmigten MCP-Server sowie\nIhre Authentifizierung, die\nvon Ihrem Unternehmen genehmigt wurde.  Es beinhaltet all\ndiese Fähigkeiten, die speziell für\nIhr Team wichtig sind,\nbeispielsweise den Zugriff auf Ihr Google Drive.  So wie\nall diese Dinge, die\nman jeden Tag bei der Arbeit benutzt.\nDu kannst das nehmen und es einfach\nüber dein gesamtes Team verteilen.\nUnd dann können Sie es\nindividuell personalisieren.  Und genau das\nermöglicht diese Konfiguration.\nDie Alternative wäre, dass Sie ein neuer\nMitarbeiter sind und neben jemandem sitzen oder das\nRepository von jemandem bekommen und sich das Ganze quasi\nselbst zusammenstellen.  Ähm,\nund ja, Teamstandards,\nportable Umgebungen,\nreproduzierbares Onboarding.  Das ist meine\nVision für Open Claw im\nArbeitsalltag der Zukunft.\nÄh, ich habe meine „Ewigkeitskralle“ erst vor Kurzem entwickelt\n.  Es war ungefähr einen Monat lang, in dem\nich\nbei Open Claw mitgeholfen habe und mich dabei so\ngefühlt habe, als würde ich selbst gar kein richtiges\nOpen Claw leiten.  Ich bin den ganzen\nTag über ständig damit beschäftigt, es hochzufahren,\nherunterzufahren, zu testen und aufzubauen\n.  Stündlich gibt es etwa 100 neue\nCommits.  Ich greife also ständig auf den\nHauptzweig zu.  Ich war gestern auf der PyTorchCon und habe seit\nein paar Tagen keine Änderungen vom Hauptzweig übernommen\n.  Äh, und es gab Zeiten, da waren es um die\n10.000 Commits.  Kein Witz,\nes war der Wahnsinn.  Ich dachte nur: „Ich weiß nicht,\nwas ihr da macht. Macht mal langsam.“\nÄh, nicht wirklich, wir wollen nicht langsamer werden\n.  Ja, äh, das\nist die Geschichte.\nUnd ich habe noch vier Minuten.  Ich bin total\nbegeistert, weil ich jetzt\nhierher wechseln kann.\nUm also dieses lokale Installationsprogramm hier auszuführen,\ndas ich hier glaube, habe ich.   Ja\n.\nEs ist einfach nur ein NPM run dev.  Was\nmir daran nicht gefällt, ist, dass\nich es auf meinem Mac\nnicht in einem Container ausführen kann.   Äh, ich\nglaube, das kann ich.  Ich habe mir einfach noch nicht\ndie Zeit genommen, herauszufinden, wie man einen\nContainer aus einem Container erzeugt.  Das geht,\nwenn du Linux benutzt, denn Linux ist einfach\ngenial.  Auf Ihrem Mac ist das jedoch nicht\nmöglich, denn falls Sie es noch nicht wussten:\nWenn Sie auf Ihrem Mac einen Container ausführen\n, arbeiten Sie in einer virtuellen\nMaschine.  Gleiches gilt für Docker.  Container\nlaufen nur unter Linux.  Wenn Sie also\neinen Container auf Ihrem Mac ausführen,\narbeiten Sie immer in einer virtuellen Maschine.\nDocker richtet einen ein, und Mac auch.\nEs wird also etwas knifflig, wenn man\neinen Container nehmen und daraus einen weiteren\nContainer erzeugen möchte.  Aber nun gut, los geht's\n.\nWenn ich also eine lokale Instanz ausführen möchte\nund ich bereits ein paar Instanzen am Laufen habe.\nMan weiß ja nie, was die Demo-Götter als Nächstes vorhaben\n.  Ich bin nur für den Fall da, dass\nes nicht funktioniert.  Ich werde, ich werde, ähm,\nJoe hochfahren.   Um\nmeinen Pod einzurichten, gebe ich ihm einfach einen Namen.\nUnd dann sind all diese Optionen sehr\nsubjektiv, denn ich sage Ihnen, dass dies\ngenau das ist, was ich brauche.  Wenn es dir also\ngefällt, nutze es.  Wenn du\nes ändern möchtest, reiche einen Pull Request ein.  Cool.\nDer übliche Port ist 89. Das ist der\nStandardport.  Da dies aber bereits die zweite Version ist,\ndie ich auf meinem Rechner ausführe, musste ich\nsie einfach auf 99 erhöhen.\nDiese geheimen Podman-Mappings möchte ich\neuch hier zeigen.\nSie sehen also, dass ich das alles\nschon eingerichtet habe.  Sie sind nur auf meinem System.\nSie ähneln Envars, sind aber keine\nEnvars, weil sie eingeschlossen sind.\nÄhm, das sind meine API-Schlüssel.\nUnd was passiert mit diesem Installationsprogramm?\nEs benötigt ... Wenn Sie Docker verwenden,\nsollte dies auch mit Docker funktionieren.  Es trägt zwar ganz klar die\nHandschrift von Podman, aber ich habe\nes so konzipiert, dass es auch mit Docker funktioniert.\nWenn Sie also Docker verwenden, werden die\nUmgebungsvariablen benötigt.  Sie möchten diese also als\nUmgebungsvariablen exportieren und sie zu geheimen Open Claw-\nReferenzen machen.   Eine\nwirklich coole Funktion von Open Claw.\nAktivieren Sie das unbedingt.  Für jede\naktuelle Anmeldeinformation wird eine geheime Referenz erstellt.\nEs schafft diese Trennung zwischen dem Ausspielen\nIhres Geheimnisses innerhalb von Open Claw oder sozusagen\nnur einem Hinweis darauf.  Das ist der richtige Weg\n.\nUnd dann noch Ihre Anbieter.  Ich fange also\nmit Open Router an, weil ich bisher\nmit Gemma experimentiert habe.\nUnd sie ist Gemma ist großartig.\nUnd als Ausweichlösung nutze ich dann\nAnthropic.  Klar, warum nicht?\nAber oh, hier sind noch ein paar andere\nMöglichkeiten.\nSie können Ihren lokalen Endpunkt verwenden,\nwenn Sie Ihren eigenen betreiben.\nDas könntest du auch einfach hinzufügen.\nUnd da ich beruflich im Bereich Observability tätig bin, dachte\nich mir: „Ich werde die\nMöglichkeit bieten, einen Open Telemetry\nCollector mit Jaeger einzurichten.“\nEs funktioniert und ist fantastisch, aber ich werde\nes nicht testen.  Also lasst uns\nmein System nicht belasten.\nEine weitere Funktion:\nWie viel Zeit?  Oh, ich muss mich beeilen.\nEin weiteres Feature ist die SSH-Sandbox, die\nwir hier bereitstellen werden.\nDie SSH-Sandbox in Open Claw ist super\n.  Sie geben ihm SSH-Schlüssel und bekannte\nHosts an, um auf beliebige Orte zuzugreifen,\nund es führt alle\nseine Befehle in diesem Arbeitsbereich aus.  Das ist\necht cool.  Also, ich habe gerade einen\nPodman-Container gestartet.  Und wenn ich zu\nden Instanzen gehe, die\nich jetzt habe, habe ich Joe.\nUnd es gibt Protokolle\nfür Joe, die Gateway-Protokolle.   Ähm, der\nBefehl, den ich Ihnen zeigen möchte\n.  Das sollte man nicht vergessen.\nHier ist also der Podman-Befehl.  Wenn Sie\nDocker ausführen würden, wäre es ein\nDocker-Befehl.  Habe ich das\nmit Docker getestet?  Nein. Äh,\nich habe einen Freund, der bei Docker arbeitet.\nEr ist großartig.  Er sagte mir, er würde\ndas ausprobieren und sicherstellen, dass es\nauch mit Docker funktioniert.  Ähm, er hat auch\ndieses sehr coole Projekt namens Infer\nRS ​​entwickelt, das\nGemma nimmt und es wirklich, wirklich, wirklich\nschnell ausführt und Turbo Quant verwendet.\nÄh, also, das ist ähm Eric.   Das\nist also mein Podman-Befehl und\näh,\nhier ist er.  Joe.\nUnd wenn ich einfach nur Models mag, mache ich\nStatus.   Manche\nLeute sagen, es sei schwierig, Open Claw zu aktivieren\n.  Es dauerte nur 2 Sekunden, und ich habe\ndie ganze Zeit ununterbrochen geplappert.  Es hätte\n1 Sekunde dauern können.\nÄh, also ich kann sagen: Hey,\nähm.\nUnd das Tolle ist, ich habe keine Zeit, es\nIhnen zu zeigen, weil ich zu viel rede, aber\ndie Agenten sind alle bereit.  Ich habe Joe.\nOh, nicht der.  Festhalten.  Ich muss\nzu Larry rübergehen.\nLarry, ich habe mit\neinem MCP-Server und einem Subagenten angefangen.  Ähm, das gesamte\nFormular.\nAlso,\näh, ich komme noch einmal auf Joe zurück.\nIch wollte Ihnen zeigen, wie einfach es ist, das\nModell zu wechseln, falls Sie das noch nicht\nwussten.\nIch bin mir nicht sicher, ob es\nGPT 5 ist, hoffentlich erkennt es, dass es nur\nGPT 5.4 ist.\nNein, ich habe nicht. Nein. Nein. Nein. Wir müssen\nzu Larry rübergehen.\nWeil\nich das zusätzliche Modell nicht mit\nJoe eingerichtet habe.   So, jetzt haben\nwir's.\nNun ja, ähm,\nich hatte nicht genug Zeit, um\nalles durchzugehen, was ich durchgehen wollte, aber\n,\näh,\ncool.\nDas andere ist Kubernetes.  Und\nmit Kubernetes geht das genauso\neinfach.\nEs ist gerade eben\nmit meinem Kind-Cluster verbunden.\nUnd wenn ich rübergehe, kann ich auch\nganz einfach auf meinen Kubernetes-Claw zugreifen.\nÄhm,\nda ist Carl.  Er läuft in\nKubernetes.  Und ich kann über\nOpenShift darauf zugreifen.  Es gibt da so eine Möglichkeit:\nWenn Sie mit OpenShift verbunden sind, schaltet das System automatisch auf OpenShift um\n.  Ja, genau.  Äh, lauft jemand den\nOpen Claw-Container?  NEIN?\nProbier es aus.  Ja.\nEindrucksvoll.  Okay, cool.\nÄh, vielen Dank.  Äh,\nist nach mir noch jemand dran?  Du wartest?\nOkay, tschüss.\n[Gelächter]\n[Applaus]\n[Musik]",
  "transcript_chars": 18650,
  "ingested_at": "2026-05-22T22:30:23.503158+00:00",
  "source": "channel",
  "yt_meta": {
    "view_count": 946,
    "like_count": 48,
    "channel_id": "UCLKPca3kwwd-B59HNr-_lvA",
    "categories": [
      "Science & Technology"
    ],
    "tags": [
      "ai",
      "ai engineer",
      "ai engineering",
      "software development",
      "tech",
      "startups",
      "software architecture",
      "machine learning"
    ]
  }
}