TinyFish Breaks Down Agentic Search Architecture for Production AI Agents

2026年10月23日 08:58
站內 AI 整理稿

An AI search agent can work in a demo but fail under production workloads when retrieval returns incomplete evidence, retries repeat unsuccessful actions, or execution exceeds time and cost limits.

TinyFish, which provides web infrastructure for AI agents, has published two technical guides addressing these challenges.The first defines a production agentic search architecture, while the second shares lessons from building a deep research system.

Together, they examine how an autonomous search agent can plan retrieval, evaluate evidence, handle failures, and manage the boundary between model reasoning and deterministic execution.

TL;DR TinyFish introduced its agentic search architecture and key engineering lessons from building deep research systems.Built on four web primitives (TinySearch, TinyFetch, TinyBrowser, and TinyAgent), the system operates via a seven-phase control loop around the base model.

On OpenBenchmarks, TinyFish achieved a 79.0% completion rate on coding tasks while delivering the lowest median task cost ($0.050) and token footprint, highlighting the importance of rigid control loops, failure-specific retries, and unified reasoning over standalone planners.

What is Agentic Search Architecture?Agentic search architecture enables an AI agent to plan retrieval, access sources, evaluate evidence, and adapt its approach as new information becomes available.

The model provides reasoning, while the surrounding application manages state, tool execution, evidence handling, runtime policies, and output validation.Together, these components allow an agent to handle incomplete results, recoverable failures, and changing information requirements.

TinyFish’s architecture draws foundational concepts from a February 2026 architecture preprint, which decouples reasoning from execution through typed tool interfaces.

The paper establishes essential system guardrails, including detailed tracing alongside strict caps on tokens, execution time, overall cost, and tool invocations.How does a production search run work?

TinyFish splits a run into 7 phases: Define the task: Turn the goal into an “evidence contract”: required fields, sources, freshness and completion rules.Plan retrieval: Separate independent needs from dependent ones.Dependent queries wait for earlier answers.

Pick the first route: Choose a tool based on what the system knows about the evidence.Discover, select, retrieve: Treat search results as candidates until the page content arrives.Evaluate: Label evidence as sufficient, incomplete, conflicting, inaccessible or budget exhausted.

Recover or escalate: Revise the query, retry, change sources or change access method.Stop and validate: Return completed, incomplete, failed, cancelled or human review required.Phase 2 addresses a known failure.

ChainRAG (ACL 2025) calls it the ‘lost-in-retrieval’ problem, where key entities disappear during multi-hop question decomposition.Phase 6 draws on Search-R1, which demonstrates how models can learn to generate additional search queries during reasoning when earlier retrieval is insufficient.

Across 7 QA datasets, its learned multi-turn search beat RAG baselines by 41% (Qwen2.5-7B) and 20% (Qwen2.5-3B).How should a search agent route tools?Routing should follow the information gap, not a fixed ladder.

Starting conditionPrimitiveWhat the app still ownsSource location unknownSearchQuery planning, source policy, stoppingURL known and readableFetchCompleteness checks, claim validationApp must control page actionsBrowserEvery action, retry and checkpointDecisions across several pagesWeb AgentBusiness rules, budgets, validation Escalation is not always the fix.

Weak results need a better query.Conflicting sources need stronger evidence.A heavier tool fixes neither.Retries should be based on the failure type and remain within defined limits.

Transient errors may justify repeating a request, while incomplete or conflicting evidence requires a different approach.Browser retries must also account for actions already completed to avoid unintended consequences, such as submitting the same form twice.

better',{'font-size':13,'font-weight':700,fill:G,'text-anchor':'start'}); D.sf.forEach(function(d){var tf=d[0]==='TinyFish',g=el('g',{},s4); var ring=el('circle',{r:tf?17:0,fill:'none',stroke:G,'stroke-opacity':.4,'stroke-width':2},g); var c=el('circle',{r:tf?10:8,fill:tf?

G:'#6a6a6a',stroke:'#111','stroke-width':2},g); var t=tx(g,0,0,'',{'font-size':13,'font-weight':700,fill:tf?G:TX,'text-anchor':'start'}); pts[d[0]]={g:g,c:c,t:t,ring:ring,x:sx(d[1]),y:sy(d[2])}}); pts['Exa fast']=pts['Exa deep'];boost(s4,1.

2)} var anim4=null,OFF={sf:{'TinyFish':[-16,-20,'end'],'Exa deep':[-14,-18,'end'],'Perplexity':[14,-12,'start'],'Firecrawl':[14,16,'start']}, so:{'TinyFish':[16,0,'start'],'Exa fast':[-14,0,'end'],'Perplexity':[14,0,'start'],'Firecrawl':[14,0,'start']}}; function drawScatter(fromZero){var data=D[cur],start={},t0=null; data.

forEach(function(d){var p=pts[d[0]];start[d[0]]=fromZero?{x:sx(0),y:Y0}:{x:p.x,y:p.y};p.tx=sx(d[1]);p.ty=sy(d[2]); p.t.textContent=d[0]+' '+d[2].toFixed(1)+'% · $'+d[1].toFixed(3)}); anim4=function(ts){if(!t0)t0=ts;var f=Math.min(1,(ts-t0)/900),e=1-Math.pow(1-f,3); data.

forEach(function(d){var p=pts[d[0]],s=start[d[0]];p.x=s.x+(p.tx-s.x)e;p.y=s.y+(p.ty-s.y)e;p.g.setAttribute('transform','translate('+p.x+','+p.y+')'); var o=OFF[cur][d[0]];p.t.setAttribute('x',o[0]);p.t.setAttribute('y',o[1]);p.t.

setAttribute('text-anchor',o[2])}); if(f>=1)anim4=null}} build4();chips('c4','b',function(b){cur=b;drawScatter(false)});drawScatter(true); function loop(ts){if(active==='p1'&&run1)run1.tick(ts);if(active==='p3')tick3(ts);if(anim4)anim4(ts); if(pts.TinyFish)pts.TinyFish.ring.

setAttribute('r',15+3*Math.sin(ts/220));requestAnimationFrame(loop)} requestAnimationFrame(loop); window.addEventListener('load',post);window.addEventListener('resize',post);setTimeout(post,300); })(); "> window.addEventListener("message",function(e){if(e.data&&e.data.mtpTfasH){var f=document.

getElementById("mtp-tfas-frame");if(f)f.style.height=e.data.mtpTfasH+"px";}}); What did TinyFish learn building deep research?The deep research agent searches, browses, and generates comprehensive, cited reports.

Most engineering challenges centered around context management, system orchestration, and product design.Lesson #1: Removing the separate planner Initial iterations used a standalone planner called fresh each time.Only structured state crossed into it.

On follow-up queries like “focus only on pricing risks in Southeast Asia,” the agent drifted back to broad market research.TinyFish subsequently moved planning into the orchestrator’s own unified reasoning loop.

Lesson #2: Removing subagents: TinyFish initially assigned a separate subagent to each search query, increasing context-switching overhead, latency, and cost.

The team later replaced these subagents with tool calls for repeatable tasks such as ranking search results, classifying sources, and extracting evidence.This reduced the information passed back to the orchestrator, allowing it to focus on research planning and deciding what to investigate next.

Lesson #3- Matching researchers: TinyFish initially optimized its research system for source coverage, but users placed greater importance on the quality and relevance of supporting evidence.

The team adjusted source ranking to account for the research objective and added controls for prioritizing, excluding, or restricting domains.It also developed an internal evaluation harness using an LLM judge to assess reports for relevance, evidence strength, citation trust, and source diversity.

How do cost and latency add up?TinyFish budgets the full task, not single calls: Task latency = planning + search + retrieval + evaluation + retries + interactive steps + queueing.Task cost = tokens + tool calls + page or browser usage + retries + infrastructure.SearchAgent

Related

相關文章

AIBaseAI Agent

外部評估戳穿 OpenAI 監控漏洞:智能體數百次操作逃過審查

據路透社當地時間 22 日報道,其中一枚能被 AI 智能體利用,讓數百次操作悄悄繞過監控。這次評估的時間窗是 7 月 21 日到 8 月 11 日。兩家非營利機構各派一名研究員進駐,獲準翻看 OpenAI 的內部代碼和文檔,並和部分技術人員面對面交流。

8 小時前4500
智東西AI Agent

物理AI如何跨過規模化的坎?對話亞馬遜雲科技汽車與製造全球總經理

作者 | ZeR0 編輯 | 漠影 10月23日報道,近日,在2026亞馬遜雲科技汽車與製造行業峰會上,亞馬遜雲科技汽車與製造全球總經理Ozgur Tohumcu分享了AI時代帶給製造業的變化,以及AI如何跨過試點,進入規模化生產環境。會後,他與等媒體圍繞這些思考進一步交流。 Ozgur Tohumcu在演講中著重談道,現在越來越多的概念驗證正轉入生產環境,這極大改變了我們理解智能體系統的方式。

8 小時前
雷峰網AI Agent

百度世界2026前瞻:10+重磅分論壇,全面解碼AI時代的智能組織進化路徑

企業AI轉型正在走向深水區,從單點工具和業務場景提效,向系統性的組織重構延伸。麥肯錫曾在《組織狀態報告2026》中指出,儘管AI被視為新一輪生產力革命的重要驅動力,但真正將其轉化為經營業績的企業仍是少數,背後的關鍵在於,不少企業仍將AI轉型停留在“工具升級”層面,卻忽視了更本質的“組織重構”。如何將AI能力融入組織,轉化為持續的生產力,將成為影響企業未來競爭力的關鍵。11月12日,百度將在百度世界2026大會上聚焦“智能組織”議題,或將提出AI時代的組織進化範式。 10月21日,百度官方公眾號發文披露了百度世界2026分論壇的更多議程信息。本屆大會設置10+場分論壇,圍繞“AI驅動組織躍遷”、“AI辦公與知識工作”、“技術、行業與生態”三大方向展開,涵蓋組織進化、智能體規模化落地、AI辦公、AI+自進化、垂直產業增長、超級個體能力進階等議題,為企業和開發者推進智能組織建設提供多維度的實踐參考。 看點一:覆蓋AI組織重構全鏈條,揭秘“智能組織”進化方法論 AI時代,組織形態或將朝著以人和智能體編隊協同的方向演進,這一轉變涉及人機協同機制、工作流重構、組織文化變革與安全治理等多個環節。本屆大會分論壇議題將覆蓋組織自上而下進行AI重構的全鏈條,解碼企業如何將AI內化為組織能力,構築競爭優勢。 「組織進化:AI驅動組織躍遷」分論壇上,百度將分享內部智能組織建設的實踐與最新成果,進一步呈現“內化AI能力”如何落實到企業運行之中。據悉,該論壇將圍繞崗位邊界重構、“組織looping”飛輪、AI資產沉澱及智能體安全、打開人才上限等議題,剖析組織如何在持續迭代中實現自我進化,激發組織活力。 「Agent紮根研發生產:如何從“用AI”到“成為AI企業”」分論壇將圍繞智能體底座、數據與知識、場景選擇、組織與人才四個方面,梳理企業從單點應用AI走向體系化轉型的關鍵條件,分享AI原生企業構建案例。

22 小時前
雷峰網AI Agent

深度解讀全球 72 小時安全風暴:PHP 事件只是第一槍

如果你昨天剛好踩中了所有這些坑,那你大概是 2026 年最慘的安全工程師。想象一下,你的網站跑在 Linux 服務器上,前端用 Nginx 做反向代理,後端 Go、PHP、Node.js 混著用,代碼存在自己搭的 GitLab 裡,靠自動發佈流水線更新,HTTPS 證書還選了 eMudhra 簽發的證書鏈。

23 小時前