[{"data":1,"prerenderedAt":1240},["ShallowReactive",2],{"blog-/blog/ai/getting-started-with-llms":3,"/blog/ai/getting-started-with-llms-surround":464,"/blog/ai/getting-started-with-llms-related":475},{"id":4,"title":5,"author":6,"body":7,"category":449,"date":450,"description":451,"extension":452,"featured":453,"image":454,"meta":455,"navigation":453,"path":456,"seo":457,"stem":458,"tags":459,"__hash__":463},"blog/blog/ai/getting-started-with-llms.md","Einstieg in Large Language Models","Wilson",{"type":8,"value":9,"toc":439},"minimark",[10,14,18,23,26,34,50,54,59,62,343,347,350,376,380,383,401,405,425,429,432,435],[11,12,5],"h1",{"id":13},"einstieg-in-large-language-models",[15,16,17],"p",{},"Large Language Models (LLMs) haben verändert, wie wir mit Technologie interagieren. Von der Code-Generierung bis zur Content-Erstellung werden diese Modelle zu unverzichtbaren Werkzeugen für Entwickler und Professionals.",[19,20,22],"h2",{"id":21},"was-ist-ein-llm","Was ist ein LLM?",[15,24,25],{},"Ein LLM ist ein neuronales Netzwerk, das auf riesigen Mengen an Textdaten trainiert wurde. Es lernt Muster in Sprache – Grammatik, Fakten, Reasoning – und kann auf Basis von Prompts kohärenten Text erzeugen.",[15,27,28,29,33],{},"Die entscheidende Erkenntnis ist: ",[30,31,32],"strong",{},"Skalierung zählt",". Modelle mit Milliarden von Parametern zeigen emergente Fähigkeiten, die kleinere Modelle schlicht nicht haben:",[35,36,37,41,44,47],"ul",{},[38,39,40],"li",{},"Komplexes Reasoning",[38,42,43],{},"Code-Generierung",[38,45,46],{},"Mehrstufiges Problemlösen",[38,48,49],{},"Wissensübertragung über Domänen hinweg",[19,51,53],{"id":52},"wie-du-loslegst","Wie du loslegst",[55,56,58],"h3",{"id":57},"_1-wähle-deine-api","1. Wähle deine API",[15,60,61],{},"Der zugänglichste Weg, mit LLMs zu arbeiten, führt über APIs:",[63,64,69],"pre",{"className":65,"code":66,"language":67,"meta":68,"style":68},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await fetch('https://api.anthropic.com/v1/messages', {\n  method: 'POST',\n  headers: {\n    'Content-Type': 'application/json',\n    'x-api-key': process.env.ANTHROPIC_API_KEY,\n    'anthropic-version': '2023-06-01',\n  },\n  body: JSON.stringify({\n    model: 'claude-sonnet-4-20250514',\n    max_tokens: 1024,\n    messages: [{ role: 'user', content: 'Erkläre Quantencomputing einfach.' }],\n  }),\n})\n","typescript","",[70,71,72,115,136,146,168,196,217,223,244,261,275,323,334],"code",{"__ignoreMap":68},[73,74,77,81,85,89,93,97,100,103,107,109,112],"span",{"class":75,"line":76},"line",1,[73,78,80],{"class":79},"spNyl","const",[73,82,84],{"class":83},"sTEyZ"," response ",[73,86,88],{"class":87},"sMK4o","=",[73,90,92],{"class":91},"s7zQu"," await",[73,94,96],{"class":95},"s2Zo4"," fetch",[73,98,99],{"class":83},"(",[73,101,102],{"class":87},"'",[73,104,106],{"class":105},"sfazB","https://api.anthropic.com/v1/messages",[73,108,102],{"class":87},[73,110,111],{"class":87},",",[73,113,114],{"class":87}," {\n",[73,116,118,122,125,128,131,133],{"class":75,"line":117},2,[73,119,121],{"class":120},"swJcz","  method",[73,123,124],{"class":87},":",[73,126,127],{"class":87}," '",[73,129,130],{"class":105},"POST",[73,132,102],{"class":87},[73,134,135],{"class":87},",\n",[73,137,139,142,144],{"class":75,"line":138},3,[73,140,141],{"class":120},"  headers",[73,143,124],{"class":87},[73,145,114],{"class":87},[73,147,149,152,155,157,159,161,164,166],{"class":75,"line":148},4,[73,150,151],{"class":87},"    '",[73,153,154],{"class":120},"Content-Type",[73,156,102],{"class":87},[73,158,124],{"class":87},[73,160,127],{"class":87},[73,162,163],{"class":105},"application/json",[73,165,102],{"class":87},[73,167,135],{"class":87},[73,169,171,173,176,178,180,183,186,189,191,194],{"class":75,"line":170},5,[73,172,151],{"class":87},[73,174,175],{"class":120},"x-api-key",[73,177,102],{"class":87},[73,179,124],{"class":87},[73,181,182],{"class":83}," process",[73,184,185],{"class":87},".",[73,187,188],{"class":83},"env",[73,190,185],{"class":87},[73,192,193],{"class":83},"ANTHROPIC_API_KEY",[73,195,135],{"class":87},[73,197,199,201,204,206,208,210,213,215],{"class":75,"line":198},6,[73,200,151],{"class":87},[73,202,203],{"class":120},"anthropic-version",[73,205,102],{"class":87},[73,207,124],{"class":87},[73,209,127],{"class":87},[73,211,212],{"class":105},"2023-06-01",[73,214,102],{"class":87},[73,216,135],{"class":87},[73,218,220],{"class":75,"line":219},7,[73,221,222],{"class":87},"  },\n",[73,224,226,229,231,234,236,239,241],{"class":75,"line":225},8,[73,227,228],{"class":120},"  body",[73,230,124],{"class":87},[73,232,233],{"class":83}," JSON",[73,235,185],{"class":87},[73,237,238],{"class":95},"stringify",[73,240,99],{"class":83},[73,242,243],{"class":87},"{\n",[73,245,247,250,252,254,257,259],{"class":75,"line":246},9,[73,248,249],{"class":120},"    model",[73,251,124],{"class":87},[73,253,127],{"class":87},[73,255,256],{"class":105},"claude-sonnet-4-20250514",[73,258,102],{"class":87},[73,260,135],{"class":87},[73,262,264,267,269,273],{"class":75,"line":263},10,[73,265,266],{"class":120},"    max_tokens",[73,268,124],{"class":87},[73,270,272],{"class":271},"sbssI"," 1024",[73,274,135],{"class":87},[73,276,278,281,283,286,289,292,294,296,299,301,303,306,308,310,313,315,318,321],{"class":75,"line":277},11,[73,279,280],{"class":120},"    messages",[73,282,124],{"class":87},[73,284,285],{"class":83}," [",[73,287,288],{"class":87},"{",[73,290,291],{"class":120}," role",[73,293,124],{"class":87},[73,295,127],{"class":87},[73,297,298],{"class":105},"user",[73,300,102],{"class":87},[73,302,111],{"class":87},[73,304,305],{"class":120}," content",[73,307,124],{"class":87},[73,309,127],{"class":87},[73,311,312],{"class":105},"Erkläre Quantencomputing einfach.",[73,314,102],{"class":87},[73,316,317],{"class":87}," }",[73,319,320],{"class":83},"]",[73,322,135],{"class":87},[73,324,326,329,332],{"class":75,"line":325},12,[73,327,328],{"class":87},"  }",[73,330,331],{"class":83},")",[73,333,135],{"class":87},[73,335,337,340],{"class":75,"line":336},13,[73,338,339],{"class":87},"}",[73,341,342],{"class":83},")\n",[55,344,346],{"id":345},"_2-beherrsche-das-prompting","2. Beherrsche das Prompting",[15,348,349],{},"Gute Prompts machen den Unterschied zwischen brauchbaren und unbrauchbaren Outputs. Wichtige Prinzipien:",[35,351,352,358,364,370],{},[38,353,354,357],{},[30,355,356],{},"Sei spezifisch"," – Sag dem Modell genau, was du willst",[38,359,360,363],{},[30,361,362],{},"Liefere Kontext"," – Gib relevante Hintergrundinformationen",[38,365,366,369],{},[30,367,368],{},"Nutze Beispiele"," – Zeig das Format, das du erwartest",[38,371,372,375],{},[30,373,374],{},"Setze Grenzen"," – Definiere, was die Antwort leisten soll",[55,377,379],{"id":378},"_3-baue-iterativ","3. Baue iterativ",[15,381,382],{},"Fang klein an. Baue einen einfachen Chatbot und ergänze dann Features:",[384,385,386,389,392,395,398],"ol",{},[38,387,388],{},"Einfaches Prompt → Antwort",[38,390,391],{},"Konversationshistorie",[38,393,394],{},"System-Prompts für die Persona",[38,396,397],{},"Tool Use und Function Calling",[38,399,400],{},"RAG (Retrieval Augmented Generation)",[19,402,404],{"id":403},"häufige-stolperfallen","Häufige Stolperfallen",[35,406,407,413,419],{},[38,408,409,412],{},[30,410,411],{},"Halluzinationen"," – LLMs können plausibel klingende, aber falsche Informationen erzeugen. Kritische Fakten immer prüfen.",[38,414,415,418],{},[30,416,417],{},"Token-Limits"," – Behalte die Kontextfenstergrößen im Blick und manage sie sorgfältig.",[38,420,421,424],{},[30,422,423],{},"Kostenmanagement"," – API-Calls summieren sich. Antworten cachen und nach Möglichkeit kleinere Modelle einsetzen.",[19,426,428],{"id":427},"wie-gehts-weiter","Wie geht's weiter?",[15,430,431],{},"In kommenden Artikeln gehen wir tiefer in Prompt Engineering, den Aufbau von RAG-Systemen und das Deployment KI-gestützter Anwendungen in Production.",[15,433,434],{},"Das Feld bewegt sich schnell, aber die Grundlagen der Arbeit mit LLMs bleiben konstant: klare Kommunikation, iterative Entwicklung und sorgfältige Evaluation.",[436,437,438],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":68,"searchDepth":117,"depth":138,"links":440},[441,442,447,448],{"id":21,"depth":117,"text":22},{"id":52,"depth":117,"text":53,"children":443},[444,445,446],{"id":57,"depth":138,"text":58},{"id":345,"depth":138,"text":346},{"id":378,"depth":138,"text":379},{"id":403,"depth":117,"text":404},{"id":427,"depth":117,"text":428},"ai","2026-02-15T00:00:00.000Z","Eine praktische Einführung in LLMs – was sie sind, wie sie funktionieren und wie man heute mit ihnen anfängt zu bauen.","md",true,"/images/llm-cover.svg",{},"/blog/ai/getting-started-with-llms",{"title":5,"description":451},"blog/ai/getting-started-with-llms",[460,461,462],"llm","machine-learning","tutorial","ZsRPqX3mDxkldhP6k6PXHimnuGCsxY92wUaCJ4OEIk0",[465,470],{"title":466,"path":467,"stem":468,"description":469,"children":-1},"Browser Harness: Wenn der Agent seinen eigenen Browser-Treiber schreibt","/blog/ai/2026-05-18-browser-harness-self-healing-agents","blog/ai/2026-05-18-browser-harness-self-healing-agents","Browser Use legt mit Browser Harness einen radikal dünnen, selbstheilenden CDP-Harness vor – ein Open-Source-Werkzeug, das LLM-Agenten dort hinbringt, wo Playwright-Wrapper an ihre Grenzen stoßen.",{"title":471,"path":472,"stem":473,"description":474,"children":-1},"Wie man einen Finanz-Agenten baut","/blog/finance/2026-02-20-wie-man-einen-finanz-agenten-baut","blog/finance/2026-02-20-wie-man-einen-finanz-agenten-baut","Eine Schritt-für-Schritt-Anleitung zum Aufbau eines KI-gestützten Finanzagenten — von Subagenten und Tool-Routing bis hin zu Scratchpads und Evaluierungen.",[476,826,1055],{"id":477,"title":466,"author":6,"body":478,"category":449,"date":815,"description":469,"extension":452,"featured":453,"image":816,"meta":817,"navigation":453,"path":467,"seo":818,"stem":468,"tags":819,"__hash__":825},"blog/blog/ai/2026-05-18-browser-harness-self-healing-agents.md",{"type":8,"value":479,"toc":807},[480,483,486,506,512,516,523,526,560,563,567,570,609,616,619,629,639,642,676,683,687,690,698,705,720,724,727,733,739,753,756,760,763,783,786,790,793,796,799,804],[11,481,466],{"id":482},"browser-harness-wenn-der-agent-seinen-eigenen-browser-treiber-schreibt",[15,484,485],{},"Wer schon einmal einen Agenten gebaut hat, der „einfach mal kurz\" eine Webseite bedienen soll, kennt das Drama: Selektoren, die nach dem nächsten Deploy verschwinden. Playwright-Wrapper, die für 80 % der Seiten funktionieren – und ausgerechnet bei der Seite scheitern, die der Kunde gerade braucht. Captchas, Iframes, Shadow-DOM, Single-Page-Apps, die ihre Knöpfe per JavaScript an unerwarteten Stellen rendern.",[15,487,488,489,498,499,185],{},"Browser Use, eines der bekanntesten Projekte für browserbasierte AI-Agenten, legt jetzt einen Gegenentwurf vor, der bewusst mit den bisherigen Frameworks bricht: ",[30,490,491],{},[492,493,497],"a",{"href":494,"rel":495},"https://github.com/browser-use/browser-harness",[496],"nofollow","Browser Harness"," – ein „self-healing harness\" für Browser-Agenten, mit zugehöriger Landing-Page unter ",[30,500,501],{},[492,502,505],{"href":503,"rel":504},"https://www.browser-harness.com",[496],"browser-harness.com",[15,507,508,509],{},"Die zentrale Idee in einem Satz: ",[30,510,511],{},"Statt dem Agenten Werkzeuge zu geben, gibt man ihm einen sehr dünnen, editierbaren Werkzeugkasten – und lässt ihn die fehlenden Werkzeuge selbst schreiben, während er arbeitet.",[19,513,515],{"id":514},"was-ist-daran-neu","Was ist daran neu?",[15,517,518,519,522],{},"Bisherige Stacks für Browser-Automatisierung haben eines gemeinsam: sie sind ",[30,520,521],{},"aufgebläht",". Playwright, Puppeteer und ihre Agent-Wrapper schleppen tausende Zeilen Code für Selektor-Engines, Retry-Logik, Session-Management, DOM-Snapshots und Click-Heuristiken mit sich herum. Das hilft, solange die Welt sich genau so verhält, wie sich der Framework-Autor das vorgestellt hat. Sobald das nicht mehr der Fall ist, kämpft der Agent gegen die Abstraktion an, statt mit ihr.",[15,524,525],{},"Browser Harness dreht das um:",[35,527,528,534,540,550],{},[38,529,530,533],{},[30,531,532],{},"Eine einzige WebSocket-Verbindung zu Chrome über das Chrome DevTools Protocol (CDP)"," – nichts dazwischen.",[38,535,536,539],{},[30,537,538],{},"~1.000 Zeilen Code, verteilt auf vier Kerndateien."," Das ist kein Tippfehler. Der gesamte Harness ist klein genug, dass ein Modell ihn in einem einzigen Kontextfenster überblickt.",[38,541,542,545,546,549],{},[30,543,544],{},"Der Agent editiert seine eigenen Helfer."," In ",[70,547,548],{},"agent-workspace/agent_helpers.py"," legt er zur Laufzeit neue Funktionen ab, sobald er merkt, dass eine fehlt. Diese Helfer bleiben für den nächsten Lauf erhalten – der Harness wird mit jedem Task ein bisschen mächtiger.",[38,551,552,555,556,559],{},[30,553,554],{},"Domain-Skills als Community-Playbooks."," Unter ",[70,557,558],{},"agent-workspace/domain-skills/\u003Csite>/"," sammeln sich pro Domain stabile Selektoren, API-Tricks und Edge-Cases – nicht von Menschen geschrieben, sondern vom Agenten selbst gefunden und per PR beigesteuert.",[15,561,562],{},"Das ist die titelgebende „Selbstheilung\": Wenn ein Schritt scheitert, schreibt der Agent den fehlenden Helper, führt ihn aus, und das nächste Mal ist er bereits da. Aus dem klassischen Bild „Werkzeug + Agent\" wird ein lebendes System, das mit Nutzung wächst.",[19,564,566],{"id":565},"wie-sieht-das-in-der-praxis-aus","Wie sieht das in der Praxis aus?",[15,568,569],{},"Die Aufrufkonvention ist absichtlich primitiv – ein Heredoc voll Python an ein CLI:",[63,571,575],{"className":572,"code":573,"language":574,"meta":68,"style":68},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","browser-harness \u003C\u003C'PY'\nnew_tab(\"https://docs.browser-use.com\")\nwait_for_load()\nprint(page_info())\nPY\n","bash",[70,576,577,589,594,599,604],{"__ignoreMap":68},[73,578,579,583,586],{"class":75,"line":76},[73,580,582],{"class":581},"sBMFI","browser-harness",[73,584,585],{"class":87}," \u003C\u003C",[73,587,588],{"class":87},"'PY'\n",[73,590,591],{"class":75,"line":117},[73,592,593],{"class":105},"new_tab(\"https://docs.browser-use.com\")\n",[73,595,596],{"class":75,"line":138},[73,597,598],{"class":105},"wait_for_load()\n",[73,600,601],{"class":75,"line":148},[73,602,603],{"class":105},"print(page_info())\n",[73,605,606],{"class":75,"line":170},[73,607,608],{"class":87},"PY\n",[15,610,611,612,615],{},"Keine Subcommands, kein argparse, kein „Session-Manager\", keine Konfigurationspipeline. ",[70,613,614],{},"run.py"," startet den Daemon, führt den Python-Block aus, fertig. Wer Browser-Wrapper aus dem Playwright-Universum gewohnt ist, sucht hier instinktiv nach Vertrautem – und genau das ist der Punkt.",[15,617,618],{},"Der vom Projekt empfohlene Interaktionsstil ist ebenso minimalistisch:",[620,621,622],"blockquote",{},[15,623,624,625,628],{},"Screenshot machen → Pixel ablesen → ",[70,626,627],{},"click_at_xy(x, y)"," → Screenshot zur Verifikation.",[15,630,631,632,638],{},"Statt sich durch CSS- oder XPath-Selektoren zu kämpfen, nutzt der Agent ",[30,633,634,635],{},"Koordinaten-Clicks via ",[70,636,637],{},"Input.dispatchMouseEvent",". Das geht durch Iframes, Shadow DOM und Cross-Origin-Grenzen einfach hindurch, weil Chrome das im Compositor auflöst – nicht im DOM. Selektoren werden zur Ausnahme, nicht zur Regel.",[15,640,641],{},"Was bekomme ich aus der Box?",[35,643,644,654,660,666],{},[38,645,646,649,650,653],{},[30,647,648],{},"Lokaler Modus:"," Der Agent verbindet sich mit dem schon laufenden Chrome des Users (Stichwort ",[70,651,652],{},"chrome://inspect/#remote-debugging","). Keine eigenen Browser-Launches, keine Session, die parallel zur echten des Users läuft.",[38,655,656,659],{},[30,657,658],{},"Stealth-Browser in der Cloud"," über Browser Use Cloud – inkl. Proxies und Captcha-Solving, mit kostenfreiem Tier (3 parallele Browser).",[38,661,662,665],{},[30,663,664],{},"24/7-Deployments"," auf einer „Browser Use Box\".",[38,667,668,671,672,675],{},[30,669,670],{},"Sub-Agenten:"," jeder bekommt seinen eigenen isolierten Browser (",[70,673,674],{},"BU_NAME","), parallel ausführbar.",[15,677,678,679,682],{},"Setup-Aufwand für Nutzer:innen: ein einziger Prompt an Claude Code oder Codex, „lies ",[70,680,681],{},"install.md"," und folge den Schritten\" – der Agent installiert sich quasi selbst.",[19,684,686],{"id":685},"warum-die-architektur-klein-bleibt-und-warum-das-wichtig-ist","Warum die Architektur klein bleibt – und warum das wichtig ist",[15,688,689],{},"In der README finden sich Design-Constraints, die fast schon den Tonfall eines Manifests haben:",[620,691,692],{},[15,693,694],{},[695,696,697],"em",{},"Don't add a manager layer. No retries framework, session manager, daemon supervisor, config system, or logging framework.",[15,699,700,701,704],{},"Das ist keine Faulheit, das ist eine These: ",[30,702,703],{},"Je mehr Logik der Harness selbst übernimmt, desto weniger kann der Agent verstehen, was schiefläuft, und desto schwerer kann er korrigieren."," Eine fette Abstraktion versteckt die Wahrheit der Maschine vor dem Modell. Ein dünner Harness lässt das Modell direkt mit dem Browser verhandeln – und gibt ihm einen Workspace, in dem es seine Erkenntnisse ablegen kann.",[15,706,707,708,713,714,719],{},"Das passt zu einer These, die das Browser-Use-Team gerade systematisch ausformuliert – siehe ihre Posts ",[492,709,712],{"href":710,"rel":711},"https://browser-use.com/posts/bitter-lesson-agent-harnesses",[496],"„The Bitter Lesson of Agent Harnesses\""," und ",[492,715,718],{"href":716,"rel":717},"https://browser-use.com/posts/web-agents-that-actually-learn",[496],"„Web Agents That Actually Learn\"",": Frameworks, die das Modell „smart\" zu machen versuchen, indem sie ihm Entscheidungen abnehmen, altern schlecht. Frameworks, die dem Modell rohen Zugang und einen Platz zum Lernen geben, altern gut.",[19,721,723],{"id":722},"die-vorteile-jetzt-und-in-zukunft","Die Vorteile – jetzt und in Zukunft",[15,725,726],{},"Drei Stränge, warum dieses Projekt mehr ist als nur „noch ein Automation-Tool\":",[15,728,729,732],{},[30,730,731],{},"1. Robust gegen Layout-Änderungen."," Koordinaten-Clicks und runtime-generierte Helfer überleben Frontend-Refactors deutlich besser als hartkodierte Selektoren. Wenn doch etwas bricht, wird der Fix Teil des Skills für die nächste Runde.",[15,734,735,738],{},[30,736,737],{},"2. Skaliert mit Modell-Fähigkeit, nicht mit Framework-Code."," Je besser die zugrundeliegenden LLMs werden, desto kompetenter wird der Harness automatisch – ohne dass jemand eine neue Abstraktion in die Codebase schreiben muss. Klassische Wrapper profitieren genau umgekehrt: jede Modellverbesserung legt eine weitere Schicht ihres Overheads frei.",[15,740,741,744,745,748,749,752],{},[30,742,743],{},"3. Wissen kumuliert öffentlich."," Die ",[70,746,747],{},"domain-skills/","-Sammlung ist der vielleicht spannendste Teil. Wenn ein Agent für LinkedIn-Outreach, Amazon-Bestellungen oder Expense-Filing einmal die zuverlässigen Pfade gefunden hat, landen die als PR im Repo und stehen allen zur Verfügung. Das ist im Kern ",[30,750,751],{},"ein versioniertes, kollaboratives Gedächtnis für das Web",", geschrieben von Agenten, kuratiert von Menschen.",[15,754,755],{},"Für Indie Hacker, Solo-Founder und kleine Teams bedeutet das: Browser-Automatisierung wird von einer Spezialdisziplin zu etwas, das man am Abend nebenbei aufsetzt – mit der berechtigten Hoffnung, dass es Wochen später noch funktioniert.",[19,757,759],{"id":758},"wo-ich-vorsichtig-wäre","Wo ich vorsichtig wäre",[15,761,762],{},"Der ehrliche Teil: Ein selbstheilender Harness, der Python-Code schreibt und ausführt, ist genau so mächtig und genau so gefährlich, wie es klingt.",[35,764,765,771,777],{},[38,766,767,770],{},[30,768,769],{},"Code-Ausführung im Workspace"," ist explizit Teil des Designs – nicht etwas, was man „abschalten\" sollte, ohne die Idee zu verlieren. Sandboxing wird zur Verantwortung des Nutzers.",[38,772,773,776],{},[30,774,775],{},"Auth ist explizit ausgeschlossen."," Das Projekt sagt offen: Wenn der Agent vor einer Login-Wand steht, soll er stoppen und nachfragen, nicht Credentials aus Screenshots eintippen. Das ist die richtige Default-Haltung, verschiebt aber das Secret-Management auf die Aufrufer-Seite.",[38,778,779,782],{},[30,780,781],{},"Domain-Skills sind öffentlich."," Wer per PR beiträgt, sollte sich daran erinnern: keine Pixel-Koordinaten, keine Secrets, keine Task-Narration – nur die dauerhafte Struktur der Seite.",[15,784,785],{},"Nichts davon ist ein Showstopper, aber alles davon ist ein Stück Disziplin, das man als Team etablieren sollte, bevor man Browser Harness in produktive Workflows einbaut.",[19,787,789],{"id":788},"warum-das-wichtig-ist","Warum das wichtig ist",[15,791,792],{},"Browser-Agenten sind eine der wenigen Stellen, an denen LLMs auf eine Welt treffen, die sich nicht um sie schert. Webseiten ändern sich, ohne dem Agenten Bescheid zu sagen. Frameworks, die diesen Konflikt durch zusätzliche Schichten lösen wollen, häufen Tech-Debt an, der mit jedem neuen Modell-Release veraltet.",[15,794,795],{},"Browser Harness wählt den entgegengesetzten Weg: weniger Code, mehr Modell, ein offener Workspace zum Lernen. Das ist nicht der einzige denkbare Ansatz – aber er ist konsequent, MIT-lizenziert, und ab heute öffentlich. Für alle, die Agenten bauen, die nicht nur in Demos funktionieren, sondern auch in der zweiten Woche noch, lohnt sich ein langer Blick darauf.",[15,797,798],{},"Ein WebSocket. Kein Wrapper. Ein Agent, der seine Werkzeuge selbst schmiedet.",[15,800,801],{},[30,802,803],{},"Damit kommt man erstaunlich weit.",[436,805,806],{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":68,"searchDepth":117,"depth":138,"links":808},[809,810,811,812,813,814],{"id":514,"depth":117,"text":515},{"id":565,"depth":117,"text":566},{"id":685,"depth":117,"text":686},{"id":722,"depth":117,"text":723},{"id":758,"depth":117,"text":759},{"id":788,"depth":117,"text":789},"2026-05-18T00:00:00.000Z","images/browser-harness-self-healing-agents.svg",{},{"title":466,"description":469},[820,821,822,823,824],"browser-use","browser-automation","ai-agents","cdp","open-source","IXryswt5EgZXoqg_QP_4cjDCJFYAv1srrwYchspgi8c",{"id":827,"title":828,"author":6,"body":829,"category":449,"date":1040,"description":1041,"extension":452,"featured":453,"image":1042,"meta":1043,"navigation":453,"path":1044,"seo":1045,"stem":1046,"tags":1047,"__hash__":1054},"blog/blog/ai/2026-03-04-ai-weekly-recap-w10.md","Claude Code, agents.md Mythen und der KI-Tsunami: Was du jetzt wissen musst",{"type":8,"value":830,"toc":1029},[831,834,844,848,859,862,866,889,892,897,911,915,922,925,929,936,947,951,957,960,964,971,974,988,991,995,1002,1005,1009,1016,1019,1023,1026],[11,832,828],{"id":833},"claude-code-agentsmd-mythen-und-der-ki-tsunami-was-du-jetzt-wissen-musst",[15,835,836,837,713,840,843],{},"Die KI-Welt dreht sich schneller denn je. Während viele noch versuchen, ChatGPT im Alltag zu integrieren, setzen Tools wie ",[30,838,839],{},"Claude Code",[30,841,842],{},"Perplexity Computer"," bereits neue Maßstäbe in Sachen Autonomie und Produktivität. Hier sind die spannendsten Entwicklungen der Woche.",[19,845,847],{"id":846},"_1-claude-code-totale-kontrolle-sogar-von-unterwegs","1. Claude Code: Totale Kontrolle – sogar von unterwegs",[15,849,850,851,854,855,858],{},"Anthropic setzt die Konkurrenz massiv unter Druck. Mit der neuen ",[30,852,853],{},"Remote Control"," Funktion lässt sich Claude Code jetzt direkt via Telegram, WhatsApp oder Slack steuern. Zudem ermöglichen ",[30,856,857],{},"Scheduled Tasks"," in Claude Cowork das Automatisieren von Daily Briefings oder wöchentlichen Reports, ohne dass der Nutzer manuell eingreifen muss.",[15,860,861],{},"Der neue Plugin-Marktplatz rundet das Paket ab: Entwickler können eigene Erweiterungen teilen und nutzen – ein Ökosystem, das an VS Code Extensions erinnert, nur für KI-gestütztes Coding.",[19,863,865],{"id":864},"_2-die-überraschung-warum-du-deine-agentsmd-vielleicht-löschen-solltest","2. Die Überraschung: Warum du deine agents.md vielleicht löschen solltest",[15,867,868,869,872,873,876,877,880,881,884,885,888],{},"Ein Highlight der Woche ist die Studie von Dr. Mark Müller (ETH Zürich). Seine Untersuchung ",[30,870,871],{},"„Evaluating Agents MD\""," zeigt: Kontextdateien wie ",[70,874,875],{},"claude.md"," oder ",[70,878,879],{},"agents.md"," können die Erfolgsrate von KI-Agenten um ",[30,882,883],{},"3 % senken"," und die Kosten um ",[30,886,887],{},"20 % erhöhen",", wenn sie unnötige oder KI-generierte Informationen enthalten.",[15,890,891],{},"Die Kernaussage: Nicht die Existenz dieser Dateien ist das Problem, sondern ihr Inhalt. Automatisch generierte, aufgeblähte Kontextdateien schaden mehr als sie nutzen.",[15,893,894],{},[30,895,896],{},"Der Experten-Rat:",[35,898,899,902,905,908],{},[38,900,901],{},"Halte diese Dateien kurz und prägnant",[38,903,904],{},"Schreibe sie selbst, nicht mit KI",[38,906,907],{},"Kuratiere streng – jede Zeile muss einen klaren Zweck haben",[38,909,910],{},"Lösche regelmäßig veraltete Informationen",[19,912,914],{"id":913},"_3-nvidia-und-physical-ai-die-nächste-welle","3. Nvidia und Physical AI: Die nächste Welle",[15,916,917,918,921],{},"Während sich die Branche auf generative KI konzentriert, positioniert sich Nvidia für die nächste Revolution: ",[30,919,920],{},"Physical AI",". Humanoide Roboter, die mit KI-gesteuerten Modellen arbeiten, sollen die nächste große Welle nach LLMs werden.",[15,923,924],{},"Die Investitionen in diesen Bereich wachsen rasant. Nvidia liefert nicht nur die GPUs für Training und Inferenz, sondern baut ein komplettes Ökosystem für Robotik-KI auf.",[19,926,928],{"id":927},"_4-highspeed-ki-nano-banana-2-und-mercury-2","4. Highspeed-KI: Nano Banana 2 und Mercury 2",[15,930,931,932,935],{},"Google hat mit ",[30,933,934],{},"Nano Banana 2"," das aktuell beste Bildgenerierungsmodell der Welt veröffentlicht, das auf Gemini 3.1 Flash basiert und Platz 1 in der Image Arena belegt.",[15,937,938,939,942,943,946],{},"Parallel dazu zeigt ",[30,940,941],{},"Mercury 2",", dass LLMs nicht mehr Wort für Wort generieren müssen. Durch einen ",[30,944,945],{},"Diffusion-Ansatz"," ist das Modell bis zu fünfmal schneller als klassische autoregressive Architekturen. Statt Token für Token zu erzeugen, generiert Mercury 2 ganze Textblöcke gleichzeitig – ein fundamentaler Architekturwechsel, der die Inferenzkosten drastisch senken könnte.",[19,948,950],{"id":949},"_5-perplexity-computer-ki-als-zentraler-zugriffslayer","5. Perplexity Computer: KI als zentraler Zugriffslayer",[15,952,953,954,956],{},"Perplexity geht einen Schritt weiter als klassische Chatbots. Mit ",[30,955,842],{}," wird die KI zum „Entic Layer\" – einer zentralen Schicht, die autonom Aufgaben über verschiedene Modelle und Dienste hinweg löst.",[15,958,959],{},"Die Vision: Statt zwischen verschiedenen KI-Tools zu wechseln, gibt es einen einzigen Zugriffspunkt, der die beste Kombination aus Modellen für jede Aufgabe orchestriert. Das ist der logische nächste Schritt nach der Einzelmodell-Ära.",[19,961,963],{"id":962},"_6-corporate-llms-die-business-chance","6. Corporate LLMs: Die Business-Chance",[15,965,966,967,970],{},"Ein kritischer Punkt bleibt der Datenschutz. Wer sensible Firmendaten nicht in die US-Cloud senden möchte, braucht ",[30,968,969],{},"Enterprise-Lösungen",", die DSGVO-konform und teilweise on-premise arbeiten.",[15,972,973],{},"Hier entsteht ein riesiger Markt für Entwickler und Agenturen:",[35,975,976,979,982,985],{},[38,977,978],{},"Lokale LLM-Deployments mit Open-Source-Modellen",[38,980,981],{},"DSGVO-konforme RAG-Pipelines",[38,983,984],{},"Firmenspezifische Feinabstimmung",[38,986,987],{},"Hybride Architekturen (lokal + Cloud-Fallback)",[15,989,990],{},"Wer diesen Markt jetzt bedient, hat einen massiven First-Mover-Vorteil.",[19,992,994],{"id":993},"_7-openai-gpt-53-am-horizont","7. OpenAI: GPT 5.3 am Horizont",[15,996,997,998,1001],{},"Erste Tests zu ",[30,999,1000],{},"GPT 5.3"," (intern Vortex/Zenit genannt) deuten auf signifikante Verbesserungen bei Reasoning und Code-Generierung hin. Dazu kommen Updates für die Realtime API, die Voice-Anwendungen in Echtzeit ermöglicht.",[15,1003,1004],{},"Der Wettlauf zwischen Anthropic, OpenAI und Google wird immer enger – und die Zyklen immer kürzer.",[19,1006,1008],{"id":1007},"_8-der-ki-tsunami-am-arbeitsmarkt","8. Der KI-Tsunami am Arbeitsmarkt",[15,1010,1011,1012,1015],{},"Die gesellschaftlichen Auswirkungen werden immer deutlicher. Jack Dorsey (Block) meldete massive Entlassungen, die direkt auf die Integration von KI-Tools zurückgeführt werden – ein Schritt, den der Aktienmarkt mit einem ",[30,1013,1014],{},"Kurssprung von 20 %"," belohnte.",[15,1017,1018],{},"Das Signal ist klar: Unternehmen, die KI konsequent einsetzen, brauchen weniger Mitarbeiter für dieselbe Leistung. Die Debatte über das Erreichen menschlicher Intelligenz ist nicht mehr akademisch – sie hat reale wirtschaftliche Konsequenzen.",[19,1020,1022],{"id":1021},"fazit","Fazit",[15,1024,1025],{},"Es reicht nicht mehr aus, KI nur oberflächlich zu nutzen. Ob durch die Optimierung von Coding-Workflows, den Aufbau eigener Corporate LLMs oder das Verständnis neuer Architekturen wie Diffusion-basierte Textgenerierung – wer jetzt die Tiefe der neuen Tools versteht, sichert sich einen echten Wettbewerbsvorteil.",[15,1027,1028],{},"Die Geschwindigkeit der Entwicklung lässt keinen Raum für Abwarten. Die Tools sind da, die Infrastruktur steht, und die ersten Gewinner und Verlierer zeichnen sich bereits ab.",{"title":68,"searchDepth":117,"depth":138,"links":1030},[1031,1032,1033,1034,1035,1036,1037,1038,1039],{"id":846,"depth":117,"text":847},{"id":864,"depth":117,"text":865},{"id":913,"depth":117,"text":914},{"id":927,"depth":117,"text":928},{"id":949,"depth":117,"text":950},{"id":962,"depth":117,"text":963},{"id":993,"depth":117,"text":994},{"id":1007,"depth":117,"text":1008},{"id":1021,"depth":117,"text":1022},"2026-03-04T00:00:00.000Z","Die wichtigsten KI-News der Woche – Claude Code Remote Control, die agents.md-Studie der ETH Zürich, Nvidias Physical AI, Mercury 2, Perplexity Computer und der Arbeitsmarkt-Tsunami.","images/ai-weekly-recap-w10.svg",{},"/blog/ai/2026-03-04-ai-weekly-recap-w10",{"title":828,"description":1041},"blog/ai/2026-03-04-ai-weekly-recap-w10",[1048,1049,1050,1051,1052,1053],"ai-news","claude-code","nvidia","openai","perplexity","enterprise-ai","sdTo28xcliloIbMNd0SqRb6FakvdXw9LG67fXjKxj2I",{"id":1056,"title":1057,"author":6,"body":1058,"category":449,"date":1040,"description":1228,"extension":452,"featured":453,"image":1229,"meta":1230,"navigation":453,"path":1231,"seo":1232,"stem":1233,"tags":1234,"__hash__":1239},"blog/blog/ai/2026-03-04-claude-code-skill-creator-evals.md","Claude Code Skill Creator: Schluss mit Vibe-Testing – so baust du datengetriebene Skills",{"type":8,"value":1059,"toc":1218},[1060,1063,1070,1073,1084,1088,1091,1095,1102,1106,1109,1113,1119,1134,1137,1157,1160,1164,1170,1177,1180,1184,1187,1207,1210,1212,1215],[11,1061,1057],{"id":1062},"claude-code-skill-creator-schluss-mit-vibe-testing-so-baust-du-datengetriebene-skills",[15,1064,1065,1066,1069],{},"Bisher lief die Entwicklung von Skills für Claude Code und Claude Cowork bei den meisten nach dem gleichen Muster: einen Prozess einmal durchspielen, Claude bitten, daraus einen Skill zu machen, und hoffen, dass er funktioniert. ",[30,1067,1068],{},"Vibe-based Skill Development"," – kein Feedback, keine Metriken, keine Sicherheit.",[15,1071,1072],{},"Das hat gleich mehrere Probleme. Neue Modell-Updates können einen Skill überflüssig machen, wenn das Basismodell die Fähigkeit plötzlich nativ beherrscht. Und ohne systematische Tests lässt sich nicht nachvollziehen, ob Änderungen am Skill die Performance tatsächlich verbessern oder verschlechtern.",[15,1074,1075,1076,1079,1080,1083],{},"Anthropic hat jetzt den ",[30,1077,1078],{},"Skill Creator"," (erreichbar über ",[70,1081,1082],{},"/plugins",") grundlegend überarbeitet – und damit einen echten Framework-Wechsel eingeleitet.",[19,1085,1087],{"id":1086},"zwei-kategorien-von-skills","Zwei Kategorien von Skills",[15,1089,1090],{},"Der neue Skill Creator unterscheidet klar zwischen zwei Typen:",[55,1092,1094],{"id":1093},"capability-uplift","Capability Uplift",[15,1096,1097,1098,1101],{},"Skills, die eine aktuelle Schwäche des Modells ausgleichen – etwa bei Swift Concurrency, dem Ausfüllen von PDF-Formularen oder der Erstellung von PowerPoint-Präsentationen. Diese Skills haben implizit ein ",[30,1099,1100],{},"Ablaufdatum",": Sobald das Basismodell die Fähigkeit eigenständig beherrscht, werden sie überflüssig.",[55,1103,1105],{"id":1104},"workflow-und-präferenz-encoding","Workflow- und Präferenz-Encoding",[15,1107,1108],{},"Skills, die spezifische interne Prozesse automatisieren – Compliance-Checks, persönliche Workflows oder wiederkehrende Aufgaben wie das Generieren wöchentlicher Reports aus Jira oder das Reviewen von NDAs. Diese Skills bleiben relevant, weil sie unternehmensspezifisches Wissen codieren, das kein Basismodell kennt.",[19,1110,1112],{"id":1111},"automatisierte-evals-und-ab-testing","Automatisierte Evals und A/B-Testing",[15,1114,1115,1116,185],{},"Das Herzstück des Updates: Der Skill Creator kann jetzt ",[30,1117,1118],{},"Testfälle erstellen, Benchmarks ausführen und A/B-Tests durchführen",[15,1120,1121,1122,1125,1126,1129,1130,1133],{},"In der Praxis sieht das so aus: Du erstellst einen Skill – zum Beispiel für SEO-Audits. Das System startet daraufhin parallele Sub-Agenten: eine Gruppe ",[30,1123,1124],{},"mit"," dem Skill und eine ",[30,1127,1128],{},"ohne",". Ein sogenannter ",[30,1131,1132],{},"Comparator"," bewertet blind, welche Ausgabe besser ist.",[15,1135,1136],{},"Das Ergebnis sind konkrete Metriken:",[35,1138,1139,1145,1151],{},[38,1140,1141,1144],{},[30,1142,1143],{},"Erfolgsrate"," – wie oft liefert der Skill ein besseres Ergebnis als das Basismodell?",[38,1146,1147,1150],{},[30,1148,1149],{},"Completion Time"," – wie wirkt sich der Skill auf die Bearbeitungszeit aus?",[38,1152,1153,1156],{},[30,1154,1155],{},"Token Usage"," – wie viel zusätzlichen Kontext verbraucht der Skill?",[15,1158,1159],{},"Statt Bauchgefühl gibt es jetzt harte Zahlen, die zeigen, ob ein Skill tatsächlich einen Uplift liefert.",[19,1161,1163],{"id":1162},"trigger-optimierung","Trigger-Optimierung",[15,1165,1166,1167,185],{},"Ein weiteres Problem bisher: Skills wurden zu oft oder zu selten ausgelöst. Der neue Skill Creator löst das mit einem ",[30,1168,1169],{},"automatischen Optimierungs-Loop",[15,1171,1172,1173,1176],{},"Das System nutzt ein Training- und ein Test-Set, um die Skill-Beschreibung iterativ zu verfeinern – bis zu ",[30,1174,1175],{},"fünf Optimierungszyklen",". Ziel ist, dass der Skill zuverlässig auslöst, wenn er gebraucht wird, und sich zurückhält, wenn nicht.",[15,1178,1179],{},"Das klingt trivial, ist aber entscheidend: Ein Skill, der bei jedem zweiten Prompt fälschlicherweise greift, stört den Workflow mehr als er hilft.",[19,1181,1183],{"id":1182},"lifecycle-management-skills-sind-keine-fire-and-forget-lösung","Lifecycle Management: Skills sind keine Fire-and-Forget-Lösung",[15,1185,1186],{},"Ein oft übersehener Punkt: Skills müssen gepflegt werden. Nach jedem größeren Modell-Update – etwa von Opus 4 auf Opus 5 – sollte man prüfen:",[35,1188,1189,1195,1201],{},[38,1190,1191,1194],{},[30,1192,1193],{},"Behalten",": Der Skill liefert weiterhin messbaren Uplift.",[38,1196,1197,1200],{},[30,1198,1199],{},"Aktualisieren",": Das Modell ist besser geworden, aber der Skill muss angepasst werden.",[38,1202,1203,1206],{},[30,1204,1205],{},"Löschen",": Das Basismodell beherrscht die Fähigkeit jetzt nativ – der Skill ist überflüssig.",[15,1208,1209],{},"Wer das nicht tut, riskiert, dass veraltete Skills die Performance verschlechtern, anstatt sie zu verbessern.",[19,1211,1022],{"id":1021},[15,1213,1214],{},"Der neue Skill Creator verwandelt Skill-Entwicklung von einer kreativen Übung in einen Engineering-Prozess. Automatisierte Evals, A/B-Tests und Trigger-Optimierung geben Entwicklern erstmals die Werkzeuge, um datengetrieben zu arbeiten.",[15,1216,1217],{},"Ja, das bedeutet mehr Aufwand pro Skill. Aber ein Skill, der nachweislich funktioniert und sich sauber in den Workflow integriert, ist langfristig mehr wert als zehn, die „irgendwie\" laufen. Qualität schlägt Quantität – auch bei KI-Skills.",{"title":68,"searchDepth":117,"depth":138,"links":1219},[1220,1224,1225,1226,1227],{"id":1086,"depth":117,"text":1087,"children":1221},[1222,1223],{"id":1093,"depth":138,"text":1094},{"id":1104,"depth":138,"text":1105},{"id":1111,"depth":117,"text":1112},{"id":1162,"depth":117,"text":1163},{"id":1182,"depth":117,"text":1183},{"id":1021,"depth":117,"text":1022},"Anthropic hat den Skill Creator für Claude Code grundlegend überarbeitet. Mit automatisierten Evals, A/B-Tests und Trigger-Optimierung wird aus Trial-and-Error ein systematischer Prozess.","images/claude-code-skill-creator-evals.svg",{},"/blog/ai/2026-03-04-claude-code-skill-creator-evals",{"title":1057,"description":1228},"blog/ai/2026-03-04-claude-code-skill-creator-evals",[1049,1235,1236,1237,1238],"anthropic","skills","evals","developer-tools","NnLpnU4GRA2qdwBJ-bu02LUYYklCo8l99ZGFdgUTFvw",1794136279855]