[{"data":1,"prerenderedAt":462},["ShallowReactive",2],{"blog-2026-02-19-claude-web-search-dynamic-filtering":3},{"id":4,"title":5,"author":6,"body":7,"date":445,"description":446,"extension":447,"language":448,"meta":449,"navigation":451,"path":452,"seo":453,"stem":454,"tags":455,"__hash__":461},"blog/blog/2026-02-19-claude-web-search-dynamic-filtering.md","Claude schreibt Python, um sich selbst beim Suchen zu helfen — und das ist relevanter als es klingt","NeoAI",{"type":8,"value":9,"toc":437},"minimark",[10,19,22,27,30,33,49,52,56,68,71,78,86,90,96,106,151,161,195,200,205,209,212,215,222,235,238,242,253,357,363,370,374,377,383,386,391,403,413,423,433],[11,12,13,14,18],"p",{},"Am 17. Februar hat Anthropic leise ein technisches Detail veröffentlicht, das mehr Aufmerksamkeit verdient als es bekam: Claude kann jetzt während einer Websuche ",[15,16,17],"strong",{},"selbst Code schreiben und ausführen",", um die Suchergebnisse zu filtern — bevor sie überhaupt den Kontext-Window erreichen.",[11,20,21],{},"Klingt nach einem Implementierungsdetail. Ist es aber nicht.",[23,24,26],"h2",{"id":25},"das-strukturelle-problem-mit-web-search-in-llm-agents","Das strukturelle Problem mit Web Search in LLM-Agents",[11,28,29],{},"Wer schon mal einen Agenten mit Web-Suche gebaut hat, kennt das Problem: Du schickst eine Anfrage, der Agent sucht, bekommt rohe HTML-Dateien von drei bis fünf Webseiten zurück — und all das landet im Kontext. Irrelevant oder nicht.",[11,31,32],{},"Das führt zu zwei Problemen gleichzeitig:",[34,35,36,43],"ol",{},[37,38,39,42],"li",{},[15,40,41],{},"Qualitätsverlust",": Mehr Rauschen im Kontext = schlechtere Antworten",[37,44,45,48],{},[15,46,47],{},"Tokenkosten",": Vollständige HTML-Seiten fressen Input-Budget",[11,50,51],{},"Das war der Status quo. Die übliche Lösung war: mehr Kontext-Window. Die eigentliche Lösung wäre: besseres Filtern.",[23,53,55],{"id":54},"was-dynamic-filtering-macht-und-warum-das-anders-ist","Was Dynamic Filtering macht — und warum das anders ist",[11,57,58,59,62,63,67],{},"Anthropic's Antwort ist konzeptuell interessant: Statt Claude mehr Kontext zu geben, lässt man Claude ",[15,60,61],{},"Code schreiben",", der die Ergebnisse ",[64,65,66],"em",{},"vor"," dem Einlesen filtert.",[11,69,70],{},"In der Praxis bedeutet das: Claude generiert ad-hoc Python, das die geholten Seiten durchsucht, die relevanten Teile extrahiert und den Rest verwirft. Erst dann landet der reduzierte Inhalt im Kontext.",[11,72,73,74,77],{},"Das ist keine RAG-Pipeline, kein statischer Extraktionsregex, kein hardcodiertes Preprocessing. Es ist ",[15,75,76],{},"situationsabhängige, selbstgeschriebene Filterlogik"," — pro Query unterschiedlich.",[11,79,80,81,85],{},"Quora's Poe hat das intern evaluiert und beschreibt es treffend: Das Modell verhält sich wie ein echter Researcher, der Python schreibt, um Ergebnisse zu parsen, zu filtern und gegenzuchecken — statt rohe HTML-Blöcke in den Prompt zu laden ",[82,83,84],"span",{},"¹",".",[23,87,89],{"id":88},"die-benchmark-zahlen","Die Benchmark-Zahlen",[11,91,92,93,95],{},"Anthropic hat auf zwei Benchmarks evaluiert ",[82,94,84],{},":",[11,97,98,101,102,105],{},[15,99,100],{},"BrowseComp"," (OpenAI, 2025) ",[82,103,104],{},"²"," — testet, ob ein Agent viele Websites durchsuchen kann, um eine spezifisch schwer auffindbare Information zu finden:",[107,108,109,125],"table",{},[110,111,112],"thead",{},[113,114,115,119,122],"tr",{},[116,117,118],"th",{},"Modell",[116,120,121],{},"Ohne Filtering",[116,123,124],{},"Mit Filtering",[126,127,128,140],"tbody",{},[113,129,130,134,137],{},[131,132,133],"td",{},"Sonnet 4.6",[131,135,136],{},"33.3%",[131,138,139],{},"46.6% (+13.3 Punkte)",[113,141,142,145,148],{},[131,143,144],{},"Opus 4.6",[131,146,147],{},"45.3%",[131,149,150],{},"61.6% (+16.3 Punkte)",[11,152,153,156,157,160],{},[15,154,155],{},"DeepsearchQA"," (Google DeepMind, 2025) ",[82,158,159],{},"³"," — testet multi-step Research mit vielen gesuchten Antworten (F1-Score):",[107,162,163,173],{},[110,164,165],{},[113,166,167,169,171],{},[116,168,118],{},[116,170,121],{},[116,172,124],{},[126,174,175,185],{},[113,176,177,179,182],{},[131,178,133],{},[131,180,181],{},"52.6%",[131,183,184],{},"59.4% (+6.8 Punkte)",[113,186,187,189,192],{},[131,188,144],{},[131,190,191],{},"69.8%",[131,193,194],{},"77.3% (+7.5 Punkte)",[11,196,197],{},[15,198,199],{},"Durchschnitt: +11% Genauigkeit bei -24% Input-Token.",[11,201,202,203,85],{},"Eine Caveat bei den Kosten: Output-Tokens können steigen, weil der generierte Filter-Code selbst Token kostet. Bei Opus 4.6 stiegen die gewichteten Token-Kosten auf DeepsearchQA sogar leicht an — was bei einem teureren Modell spürbar sein kann. Evaluierung gegen eigene Production-Queries ist also empfohlen ",[82,204,84],{},[23,206,208],{"id":207},"was-das-für-die-tool-architektur-bedeutet","Was das für die Tool-Architektur bedeutet",[11,210,211],{},"Das eigentlich Interessante ist nicht das Feature selbst, sondern was es über die Richtung von agentic AI aussagt.",[11,213,214],{},"Bisher dachten wir in statischen Tool-Definitionen: Ein Tool macht X, liefert Y. Der Agent ruft Tools auf und verarbeitet deren Output im Kontext.",[11,216,217,218,221],{},"Dynamic Filtering verschiebt das Modell: Der Agent schreibt ",[15,219,220],{},"situationsabhängig Code",", der zwischen Tool-Output und Kontext-Einlesen läuft. Das Tool-Ergebnis ist nicht mehr der Endpunkt — es ist der Rohstoff für eine dynamisch generierte Verarbeitungslogik.",[11,223,224,225,228,229,232,233,85],{},"Das passt zu Anthropic's breiterem Push in diesem Release: Code Execution, Programmatic Tool Calling, Tool Search — alles zielt darauf ab, dass Agents ",[15,226,227],{},"weniger passiv konsumieren"," und ",[15,230,231],{},"aktiver verarbeiten",", bevor etwas den Kontext erreicht ",[82,234,84],{},[11,236,237],{},"Das reduziert nicht nur Kosten. Es reduziert fundamentale Schwächen der \"alles im Kontext\" Architektur.",[23,239,241],{"id":240},"verfügbarkeit-und-setup","Verfügbarkeit und Setup",[11,243,244,245,249,250,95],{},"Das neue Tool (",[246,247,248],"code",{},"web_search_20260209",") ist ab sofort auf der Claude API verfügbar, standardmässig aktiviert für Sonnet 4.6 und Opus 4.6 ",[82,251,252],{},"⁴",[254,255,260],"pre",{"className":256,"code":257,"language":258,"meta":259,"style":259},"language-typescript shiki shiki-themes github-light github-dark","const response = await anthropic.messages.create({\n  model: \"claude-opus-4-6\",\n  max_tokens: 4096,\n  messages: [{ role: \"user\", content: \"...\" }],\n  tools: [{ type: \"web_search_20260209\", name: \"web_search\" }]\n})\n","typescript","",[246,261,262,291,304,315,333,351],{"__ignoreMap":259},[82,263,266,270,274,277,280,284,288],{"class":264,"line":265},"line",1,[82,267,269],{"class":268},"szBVR","const",[82,271,273],{"class":272},"sj4cs"," response",[82,275,276],{"class":268}," =",[82,278,279],{"class":268}," await",[82,281,283],{"class":282},"sVt8B"," anthropic.messages.",[82,285,287],{"class":286},"sScJk","create",[82,289,290],{"class":282},"({\n",[82,292,294,297,301],{"class":264,"line":293},2,[82,295,296],{"class":282},"  model: ",[82,298,300],{"class":299},"sZZnC","\"claude-opus-4-6\"",[82,302,303],{"class":282},",\n",[82,305,307,310,313],{"class":264,"line":306},3,[82,308,309],{"class":282},"  max_tokens: ",[82,311,312],{"class":272},"4096",[82,314,303],{"class":282},[82,316,318,321,324,327,330],{"class":264,"line":317},4,[82,319,320],{"class":282},"  messages: [{ role: ",[82,322,323],{"class":299},"\"user\"",[82,325,326],{"class":282},", content: ",[82,328,329],{"class":299},"\"...\"",[82,331,332],{"class":282}," }],\n",[82,334,336,339,342,345,348],{"class":264,"line":335},5,[82,337,338],{"class":282},"  tools: [{ type: ",[82,340,341],{"class":299},"\"web_search_20260209\"",[82,343,344],{"class":282},", name: ",[82,346,347],{"class":299},"\"web_search\"",[82,349,350],{"class":282}," }]\n",[82,352,354],{"class":264,"line":353},6,[82,355,356],{"class":282},"})\n",[11,358,359,362],{},[15,360,361],{},"Voraussetzung",": Dynamic Filtering benötigt das Code Execution Tool — es läuft on-demand im Anthropic-Sandbox und ist Zero Data Retention (ZDR) kompatibel. Auf Google Vertex AI ist nur das ältere Tool ohne Filtering verfügbar.",[11,364,365,366,369],{},"Das alte Tool (",[246,367,368],{},"web_search_20250305",") bleibt weiterhin verwendbar.",[23,371,373],{"id":372},"fazit","Fazit",[11,375,376],{},"Dynamic Filtering ist kein Flagship-Feature, das auf der Homepage glänzt. Es ist eine architektonische Entscheidung: Lass den Agenten die Arbeit tun, für die er gemacht ist — nicht nur reagieren, sondern aktiv verarbeiten.",[11,378,379,380,382],{},"Die +11% Genauigkeit bei -24% Token-Verbrauch sind für produktive Deployments real meaningful. Wer Agenten mit Web-Suche baut, sollte ",[246,381,248],{}," evaluieren — die Upgrade-Kosten sind minimal, das Upside ist messbar.",[384,385],"hr",{},[11,387,388],{},[15,389,390],{},"Quellen:",[11,392,393,395,396],{},[82,394,84],{}," Anthropic Blog — \"Improved Web Search with Dynamic Filtering\" (Feb 17, 2026): ",[397,398,402],"a",{"href":399,"rel":400},"https://claude.com/blog/improved-web-search-with-dynamic-filtering",[401],"nofollow","claude.com/blog/improved-web-search-with-dynamic-filtering",[11,404,405,407,408],{},[82,406,104],{}," OpenAI BrowseComp Benchmark Paper (2025): ",[397,409,412],{"href":410,"rel":411},"https://cdn.openai.com/pdf/5e10f4ab-d6f7-442e-9508-59515c65e35d/browsecomp.pdf",[401],"cdn.openai.com/pdf/…/browsecomp.pdf",[11,414,415,417,418],{},[82,416,159],{}," Google DeepMind DeepSearchQA Benchmark (2025): ",[397,419,422],{"href":420,"rel":421},"https://storage.googleapis.com/deepmind-media/DeepSearchQA/DeepSearchQA_benchmark_paper.pdf",[401],"storage.googleapis.com/…/DeepSearchQA_benchmark_paper.pdf",[11,424,425,427,428],{},[82,426,252],{}," Claude API Dokumentation — Web Search Tool: ",[397,429,432],{"href":430,"rel":431},"https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool",[401],"platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool",[434,435,436],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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":259,"searchDepth":293,"depth":293,"links":438},[439,440,441,442,443,444],{"id":25,"depth":293,"text":26},{"id":54,"depth":293,"text":55},{"id":88,"depth":293,"text":89},{"id":207,"depth":293,"text":208},{"id":240,"depth":293,"text":241},{"id":372,"depth":293,"text":373},"2026-02-19","Anthropic's Dynamic Filtering für Web Search ist kein Marketing-Feature. Es löst ein strukturelles Problem von agentic AI und gibt uns einen Hinweis, wohin sich die Tool-Architektur entwickelt.","md","de",{"image":450},"/images/blog/claude-dynamic-search.webp",true,"/blog/2026-02-19-claude-web-search-dynamic-filtering",{"title":5,"description":446},"blog/2026-02-19-claude-web-search-dynamic-filtering",[456,457,458,459,460],"AI","Claude","Anthropic","Agentic AI","Developer Tools","I4Wb_R7IUF45j5Cqerkuf0fz8w-Dxpr0dPs7CwFa8uI",1784088102149]