import{s as Le,a as Ae,n as Be,o as Se}from"../chunks/scheduler.505acc25.js";import{S as Ze,i as Pe,e as i,s,c as y,h as Ee,a as p,d as l,b as a,f as ge,g as C,j as u,k as lt,l as Ge,m as n,n as f,t as h,o as T,p as U}from"../chunks/index.b1175496.js";import{C as ke,H as Yt}from"../chunks/Heading.eda51538.js";import{C as He}from"../chunks/CodeBlock.9d480d26.js";import{E as qe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.ea377ea6.js";function Ne(Ot){let r,at,nt,it,j,pt,d,ut,M,Kt="<p>在本节中，我们将探讨 AI 智能体 (AI agent) 与其环境交互的具体步骤。</p> <p>我们将介绍动作 (actions) 如何被表示（使用 JSON 或代码），停止和解析方法 (stop and parse approach) 的重要性，以及不同类型的智能体。</p>",rt,v,Dt="动作是<strong>AI 智能体 (AI agent) 与其环境交互的具体步骤</strong>。",Mt,x,te="无论是浏览网络获取信息还是控制物理设备，每个动作都是智能体执行的一个特定操作。",ot,w,ee="例如，一个协助客户服务的智能体可能会检索客户数据、提供支持文章或将问题转交给人工代表。",mt,c,yt,J,le="有多种类型的智能体采用不同的方式执行动作：",Ct,$,ne="<thead><tr><th>智能体类型</th> <th>描述</th></tr></thead> <tbody><tr><td>JSON 智能体 (JSON Agent)</td> <td>要执行的动作以 JSON 格式指定。</td></tr> <tr><td>代码智能体 (Code Agent)</td> <td>智能体编写代码块，由外部解释执行。</td></tr> <tr><td>函数调用智能体 (Function-calling Agent)</td> <td>这是 JSON 智能体的一个子类别，经过微调以为每个动作生成新消息。</td></tr></tbody>",ft,_,se="动作本身可以服务于多种目的：",ht,b,ae="<thead><tr><th>动作类型</th> <th>描述</th></tr></thead> <tbody><tr><td>信息收集 (Information Gathering)</td> <td>执行网络搜索、查询数据库或检索文档。</td></tr> <tr><td>工具使用 (Tool Usage)</td> <td>进行 API 调用、运行计算和执行代码。</td></tr> <tr><td>环境交互 (Environment Interaction)</td> <td>操作数字界面或控制物理设备。</td></tr> <tr><td>通信 (Communication)</td> <td>通过聊天与用户互动或与其他智能体协作。</td></tr></tbody>",Tt,I,ie="智能体的一个关键部分是<strong>在动作完成时能够停止生成新的标记 (tokens)</strong>，这对所有格式的智能体都适用：JSON、代码或函数调用。这可以防止意外输出并确保智能体的响应清晰准确。",Ut,g,pe="大语言模型 (LLM) 只处理文本，并使用它来描述它想要采取的动作以及要提供给工具的参数。",jt,H,dt,L,ue="实现动作的一个关键方法是<strong>停止和解析方法</strong>。这种方法确保智能体的输出具有结构性和可预测性：",vt,A,re="<li><strong>以结构化格式生成 (Generation in a Structured Format)</strong>：</li>",xt,B,Me="智能体以清晰、预定义的格式（JSON或代码）输出其预期动作。",wt,o,oe="<li><strong>停止进一步生成 (Halting Further Generation)</strong>：</li>",ct,S,me="一旦动作完成，<strong>智能体停止生成额外的标记</strong>。这可以防止额外或错误的输出。",Jt,m,ye="<li><strong>解析输出 (Parsing the Output)</strong>：</li>",$t,Z,Ce="外部解析器读取格式化的动作，确定要调用哪个工具，并提取所需的参数。",_t,P,fe="例如，需要检查天气的智能体可能输出：",bt,E,It,G,he="然后框架可以轻松解析要调用的函数名称和要应用的参数。",gt,k,Te="这种清晰的、机器可读的格式最大限度地减少了错误，并使外部工具能够准确处理智能体的命令。",Ht,q,Ue=`注意：函数调用智能体的操作方式类似，通过构造每个动作，使指定的函数能够使用正确的参数被调用。
我们将在未来的单元中深入探讨这些类型的智能体。`,Lt,N,At,F,je=`另一种方法是使用<em>代码智能体</em>。
这个想法是：<strong>代码智能体不是输出简单的 JSON 对象</strong>，而是生成一个<strong>可执行的代码块——通常使用 Python 等高级语言</strong>。`,Bt,V,de,St,W,ve="这种方法提供了几个优势：",Zt,R,xe="<li><strong>表达能力 (Expressiveness)：</strong> 代码可以自然地表示复杂的逻辑，包括循环、条件和嵌套函数，提供比 JSON 更大的灵活性。</li> <li><strong>模块化和可重用性 (Modularity and Reusability)：</strong> 生成的代码可以包含在不同动作或任务中可重用的函数和模块。</li> <li><strong>增强的可调试性 (Enhanced Debuggability)：</strong> 使用明确定义的编程语法，代码错误通常更容易检测和纠正。</li> <li><strong>直接集成 (Direct Integration)：</strong> 代码智能体可以直接与外部库和 API 集成，实现更复杂的操作，如数据处理或实时决策。</li>",Pt,X,we="例如，一个负责获取天气的代码智能体可能生成以下 Python 代码片段：",Et,Q,Gt,z,ce="在这个例子中，代码智能体：",kt,Y,Je="<li><strong>通过API调用</strong>获取天气数据，</li> <li>处理响应，</li> <li>并使用print()函数输出最终答案。</li>",qt,O,$e="这种方法<strong>也遵循停止和解析方法</strong>，通过明确划定代码块并表明执行完成的时间（在这里，通过打印 final_answer）。",Nt,Ft,Vt,K,_e="我们了解到动作通过执行清晰、结构化的任务（无论是通过 JSON、代码还是函数调用）来连接智能体的内部推理和其现实世界的交互。",Wt,D,be="这种深思熟虑的执行确保每个动作都是精确的，并通过停止和解析方法准备好进行外部处理。在下一节中，我们将探索观察 (Observations)，看看智能体如何捕获和整合来自其环境的反馈。",Rt,tt,Ie="在此之后，我们将<strong>最终准备好构建我们的第一个智能体！</strong>",Xt,et,Qt,st,zt;return j=new ke({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),d=new Yt({props:{title:"动作：使智能体能够与环境交互",local:"动作使智能体能够与环境交互",headingTag:"h1"}}),c=new Yt({props:{title:"智能体动作的类型 (Types of Agent Actions)",local:"智能体动作的类型-types-of-agent-actions",headingTag:"h2"}}),H=new Yt({props:{title:"停止和解析方法 (The Stop and Parse Approach)",local:"停止和解析方法-the-stop-and-parse-approach",headingTag:"h2"}}),E=new He({props:{code:"VGhvdWdodCUzQSUyMEklMjBuZWVkJTIwdG8lMjBjaGVjayUyMHRoZSUyMGN1cnJlbnQlMjB3ZWF0aGVyJTIwZm9yJTIwTmV3JTIwWW9yay4lMEFBY3Rpb24lMjAlM0ElMEElN0IlMEElMjAlMjAlMjJhY3Rpb24lMjIlM0ElMjAlMjJnZXRfd2VhdGhlciUyMiUyQyUwQSUyMCUyMCUyMmFjdGlvbl9pbnB1dCUyMiUzQSUyMCU3QiUyMmxvY2F0aW9uJTIyJTNBJTIwJTIyTmV3JTIwWW9yayUyMiU3RCUwQSU3RA==",highlighted:`Thought<span class="hljs-punctuation">:</span> I need to check the current weather for New York.
Action <span class="hljs-punctuation">:</span>
<span class="hljs-punctuation">{</span>
  <span class="hljs-attr">&quot;action&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;get_weather&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;action_input&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span><span class="hljs-attr">&quot;location&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;New York&quot;</span><span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>`,wrap:!1}}),N=new Yt({props:{title:"代码智能体 (Code Agents)",local:"代码智能体-code-agents",headingTag:"h2"}}),Q=new He({props:{code:"JTIzJTIwQ29kZSUyMEFnZW50JTIwRXhhbXBsZSUzQSUyMFJldHJpZXZlJTIwV2VhdGhlciUyMEluZm9ybWF0aW9uJTBBZGVmJTIwZ2V0X3dlYXRoZXIoY2l0eSklM0ElMEElMjAlMjAlMjAlMjBpbXBvcnQlMjByZXF1ZXN0cyUwQSUyMCUyMCUyMCUyMGFwaV91cmwlMjAlM0QlMjBmJTIyaHR0cHMlM0ElMkYlMkZhcGkud2VhdGhlci5jb20lMkZ2MSUyRmxvY2F0aW9uJTJGJTdCY2l0eSU3RCUzRmFwaUtleSUzRFlPVVJfQVBJX0tFWSUyMiUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwcmVxdWVzdHMuZ2V0KGFwaV91cmwpJTBBJTIwJTIwJTIwJTIwaWYlMjByZXNwb25zZS5zdGF0dXNfY29kZSUyMCUzRCUzRCUyMDIwMCUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRhdGElMjAlM0QlMjByZXNwb25zZS5qc29uKCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBkYXRhLmdldCglMjJ3ZWF0aGVyJTIyJTJDJTIwJTIyTm8lMjB3ZWF0aGVyJTIwaW5mb3JtYXRpb24lMjBhdmFpbGFibGUlMjIpJTBBJTIwJTIwJTIwJTIwZWxzZSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCUyMkVycm9yJTNBJTIwVW5hYmxlJTIwdG8lMjBmZXRjaCUyMHdlYXRoZXIlMjBkYXRhLiUyMiUwQSUwQSUyMyUyMEV4ZWN1dGUlMjB0aGUlMjBmdW5jdGlvbiUyMGFuZCUyMHByZXBhcmUlMjB0aGUlMjBmaW5hbCUyMGFuc3dlciUwQXJlc3VsdCUyMCUzRCUyMGdldF93ZWF0aGVyKCUyMk5ldyUyMFlvcmslMjIpJTBBZmluYWxfYW5zd2VyJTIwJTNEJTIwZiUyMlRoZSUyMGN1cnJlbnQlMjB3ZWF0aGVyJTIwaW4lMjBOZXclMjBZb3JrJTIwaXMlM0ElMjAlN0JyZXN1bHQlN0QlMjIlMEFwcmludChmaW5hbF9hbnN3ZXIp",highlighted:`<span class="hljs-comment"># Code Agent Example: Retrieve Weather Information</span>
<span class="hljs-keyword">def</span> <span class="hljs-title function_">get_weather</span>(<span class="hljs-params">city</span>):
    <span class="hljs-keyword">import</span> requests
    api_url = <span class="hljs-string">f&quot;https://api.weather.com/v1/location/<span class="hljs-subst">{city}</span>?apiKey=YOUR_API_KEY&quot;</span>
    response = requests.get(api_url)
    <span class="hljs-keyword">if</span> response.status_code == <span class="hljs-number">200</span>:
        data = response.json()
        <span class="hljs-keyword">return</span> data.get(<span class="hljs-string">&quot;weather&quot;</span>, <span class="hljs-string">&quot;No weather information available&quot;</span>)
    <span class="hljs-keyword">else</span>:
        <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Error: Unable to fetch weather data.&quot;</span>

<span class="hljs-comment"># Execute the function and prepare the final answer</span>
result = get_weather(<span class="hljs-string">&quot;New York&quot;</span>)
final_answer = <span class="hljs-string">f&quot;The current weather in New York is: <span class="hljs-subst">{result}</span>&quot;</span>
<span class="hljs-built_in">print</span>(final_answer)`,wrap:!1}}),et=new qe({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/zh-CN/unit1/actions.mdx"}}),{c(){r=i("meta"),at=s(),nt=i("p"),it=s(),y(j.$$.fragment),pt=s(),y(d.$$.fragment),ut=s(),M=i("blockquote"),M.innerHTML=Kt,rt=s(),v=i("p"),v.innerHTML=Dt,Mt=s(),x=i("p"),x.textContent=te,ot=s(),w=i("p"),w.textContent=ee,mt=s(),y(c.$$.fragment),yt=s(),J=i("p"),J.textContent=le,Ct=s(),$=i("table"),$.innerHTML=ne,ft=s(),_=i("p"),_.textContent=se,ht=s(),b=i("table"),b.innerHTML=ae,Tt=s(),I=i("p"),I.innerHTML=ie,Ut=s(),g=i("p"),g.textContent=pe,jt=s(),y(H.$$.fragment),dt=s(),L=i("p"),L.innerHTML=ue,vt=s(),A=i("ol"),A.innerHTML=re,xt=s(),B=i("p"),B.textContent=Me,wt=s(),o=i("ol"),o.innerHTML=oe,ct=s(),S=i("p"),S.innerHTML=me,Jt=s(),m=i("ol"),m.innerHTML=ye,$t=s(),Z=i("p"),Z.textContent=Ce,_t=s(),P=i("p"),P.textContent=fe,bt=s(),y(E.$$.fragment),It=s(),G=i("p"),G.textContent=he,gt=s(),k=i("p"),k.textContent=Te,Ht=s(),q=i("p"),q.textContent=Ue,Lt=s(),y(N.$$.fragment),At=s(),F=i("p"),F.innerHTML=je,Bt=s(),V=i("img"),St=s(),W=i("p"),W.textContent=ve,Zt=s(),R=i("ul"),R.innerHTML=xe,Pt=s(),X=i("p"),X.textContent=we,Et=s(),y(Q.$$.fragment),Gt=s(),z=i("p"),z.textContent=ce,kt=s(),Y=i("ul"),Y.innerHTML=Je,qt=s(),O=i("p"),O.innerHTML=$e,Nt=s(),Ft=i("hr"),Vt=s(),K=i("p"),K.textContent=_e,Wt=s(),D=i("p"),D.textContent=be,Rt=s(),tt=i("p"),tt.innerHTML=Ie,Xt=s(),y(et.$$.fragment),Qt=s(),st=i("p"),this.h()},l(t){const e=Ee("svelte-u9bgzb",document.head);r=p(e,"META",{name:!0,content:!0}),e.forEach(l),at=a(t),nt=p(t,"P",{}),ge(nt).forEach(l),it=a(t),C(j.$$.fragment,t),pt=a(t),C(d.$$.fragment,t),ut=a(t),M=p(t,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),u(M)!=="svelte-1lczjqr"&&(M.innerHTML=Kt),rt=a(t),v=p(t,"P",{"data-svelte-h":!0}),u(v)!=="svelte-1oehl0b"&&(v.innerHTML=Dt),Mt=a(t),x=p(t,"P",{"data-svelte-h":!0}),u(x)!=="svelte-rr84pc"&&(x.textContent=te),ot=a(t),w=p(t,"P",{"data-svelte-h":!0}),u(w)!=="svelte-11t7hmz"&&(w.textContent=ee),mt=a(t),C(c.$$.fragment,t),yt=a(t),J=p(t,"P",{"data-svelte-h":!0}),u(J)!=="svelte-ds768v"&&(J.textContent=le),Ct=a(t),$=p(t,"TABLE",{"data-svelte-h":!0}),u($)!=="svelte-1mmjhb8"&&($.innerHTML=ne),ft=a(t),_=p(t,"P",{"data-svelte-h":!0}),u(_)!=="svelte-1apkq8u"&&(_.textContent=se),ht=a(t),b=p(t,"TABLE",{"data-svelte-h":!0}),u(b)!=="svelte-5xk6bp"&&(b.innerHTML=ae),Tt=a(t),I=p(t,"P",{"data-svelte-h":!0}),u(I)!=="svelte-nvl6b4"&&(I.innerHTML=ie),Ut=a(t),g=p(t,"P",{"data-svelte-h":!0}),u(g)!=="svelte-1r3a9ht"&&(g.textContent=pe),jt=a(t),C(H.$$.fragment,t),dt=a(t),L=p(t,"P",{"data-svelte-h":!0}),u(L)!=="svelte-1czk6yh"&&(L.innerHTML=ue),vt=a(t),A=p(t,"OL",{"data-svelte-h":!0}),u(A)!=="svelte-1swx0r1"&&(A.innerHTML=re),xt=a(t),B=p(t,"P",{"data-svelte-h":!0}),u(B)!=="svelte-5yuo8q"&&(B.textContent=Me),wt=a(t),o=p(t,"OL",{start:!0,"data-svelte-h":!0}),u(o)!=="svelte-7hhw08"&&(o.innerHTML=oe),ct=a(t),S=p(t,"P",{"data-svelte-h":!0}),u(S)!=="svelte-s8iucv"&&(S.innerHTML=me),Jt=a(t),m=p(t,"OL",{start:!0,"data-svelte-h":!0}),u(m)!=="svelte-4g9ysl"&&(m.innerHTML=ye),$t=a(t),Z=p(t,"P",{"data-svelte-h":!0}),u(Z)!=="svelte-1hnrlul"&&(Z.textContent=Ce),_t=a(t),P=p(t,"P",{"data-svelte-h":!0}),u(P)!=="svelte-f9j747"&&(P.textContent=fe),bt=a(t),C(E.$$.fragment,t),It=a(t),G=p(t,"P",{"data-svelte-h":!0}),u(G)!=="svelte-lwcx4v"&&(G.textContent=he),gt=a(t),k=p(t,"P",{"data-svelte-h":!0}),u(k)!=="svelte-1a21p42"&&(k.textContent=Te),Ht=a(t),q=p(t,"P",{"data-svelte-h":!0}),u(q)!=="svelte-1ad2rct"&&(q.textContent=Ue),Lt=a(t),C(N.$$.fragment,t),At=a(t),F=p(t,"P",{"data-svelte-h":!0}),u(F)!=="svelte-emap4f"&&(F.innerHTML=je),Bt=a(t),V=p(t,"IMG",{src:!0,alt:!0}),St=a(t),W=p(t,"P",{"data-svelte-h":!0}),u(W)!=="svelte-1h49gxo"&&(W.textContent=ve),Zt=a(t),R=p(t,"UL",{"data-svelte-h":!0}),u(R)!=="svelte-rukxw8"&&(R.innerHTML=xe),Pt=a(t),X=p(t,"P",{"data-svelte-h":!0}),u(X)!=="svelte-p3vm8q"&&(X.textContent=we),Et=a(t),C(Q.$$.fragment,t),Gt=a(t),z=p(t,"P",{"data-svelte-h":!0}),u(z)!=="svelte-1v7t0xt"&&(z.textContent=ce),kt=a(t),Y=p(t,"UL",{"data-svelte-h":!0}),u(Y)!=="svelte-1frjtfm"&&(Y.innerHTML=Je),qt=a(t),O=p(t,"P",{"data-svelte-h":!0}),u(O)!=="svelte-7mgs6s"&&(O.innerHTML=$e),Nt=a(t),Ft=p(t,"HR",{}),Vt=a(t),K=p(t,"P",{"data-svelte-h":!0}),u(K)!=="svelte-dqdw0b"&&(K.textContent=_e),Wt=a(t),D=p(t,"P",{"data-svelte-h":!0}),u(D)!=="svelte-1p9xxsx"&&(D.textContent=be),Rt=a(t),tt=p(t,"P",{"data-svelte-h":!0}),u(tt)!=="svelte-4qv3mb"&&(tt.innerHTML=Ie),Xt=a(t),C(et.$$.fragment,t),Qt=a(t),st=p(t,"P",{}),ge(st).forEach(l),this.h()},h(){lt(r,"name","hf:doc:metadata"),lt(r,"content",Fe),lt(M,"class","tip"),lt(o,"start","2"),lt(m,"start","3"),Ae(V.src,de="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/code-vs-json-actions.png")||lt(V,"src",de),lt(V,"alt","Code Agents")},m(t,e){Ge(document.head,r),n(t,at,e),n(t,nt,e),n(t,it,e),f(j,t,e),n(t,pt,e),f(d,t,e),n(t,ut,e),n(t,M,e),n(t,rt,e),n(t,v,e),n(t,Mt,e),n(t,x,e),n(t,ot,e),n(t,w,e),n(t,mt,e),f(c,t,e),n(t,yt,e),n(t,J,e),n(t,Ct,e),n(t,$,e),n(t,ft,e),n(t,_,e),n(t,ht,e),n(t,b,e),n(t,Tt,e),n(t,I,e),n(t,Ut,e),n(t,g,e),n(t,jt,e),f(H,t,e),n(t,dt,e),n(t,L,e),n(t,vt,e),n(t,A,e),n(t,xt,e),n(t,B,e),n(t,wt,e),n(t,o,e),n(t,ct,e),n(t,S,e),n(t,Jt,e),n(t,m,e),n(t,$t,e),n(t,Z,e),n(t,_t,e),n(t,P,e),n(t,bt,e),f(E,t,e),n(t,It,e),n(t,G,e),n(t,gt,e),n(t,k,e),n(t,Ht,e),n(t,q,e),n(t,Lt,e),f(N,t,e),n(t,At,e),n(t,F,e),n(t,Bt,e),n(t,V,e),n(t,St,e),n(t,W,e),n(t,Zt,e),n(t,R,e),n(t,Pt,e),n(t,X,e),n(t,Et,e),f(Q,t,e),n(t,Gt,e),n(t,z,e),n(t,kt,e),n(t,Y,e),n(t,qt,e),n(t,O,e),n(t,Nt,e),n(t,Ft,e),n(t,Vt,e),n(t,K,e),n(t,Wt,e),n(t,D,e),n(t,Rt,e),n(t,tt,e),n(t,Xt,e),f(et,t,e),n(t,Qt,e),n(t,st,e),zt=!0},p:Be,i(t){zt||(h(j.$$.fragment,t),h(d.$$.fragment,t),h(c.$$.fragment,t),h(H.$$.fragment,t),h(E.$$.fragment,t),h(N.$$.fragment,t),h(Q.$$.fragment,t),h(et.$$.fragment,t),zt=!0)},o(t){T(j.$$.fragment,t),T(d.$$.fragment,t),T(c.$$.fragment,t),T(H.$$.fragment,t),T(E.$$.fragment,t),T(N.$$.fragment,t),T(Q.$$.fragment,t),T(et.$$.fragment,t),zt=!1},d(t){t&&(l(at),l(nt),l(it),l(pt),l(ut),l(M),l(rt),l(v),l(Mt),l(x),l(ot),l(w),l(mt),l(yt),l(J),l(Ct),l($),l(ft),l(_),l(ht),l(b),l(Tt),l(I),l(Ut),l(g),l(jt),l(dt),l(L),l(vt),l(A),l(xt),l(B),l(wt),l(o),l(ct),l(S),l(Jt),l(m),l($t),l(Z),l(_t),l(P),l(bt),l(It),l(G),l(gt),l(k),l(Ht),l(q),l(Lt),l(At),l(F),l(Bt),l(V),l(St),l(W),l(Zt),l(R),l(Pt),l(X),l(Et),l(Gt),l(z),l(kt),l(Y),l(qt),l(O),l(Nt),l(Ft),l(Vt),l(K),l(Wt),l(D),l(Rt),l(tt),l(Xt),l(Qt),l(st)),l(r),U(j,t),U(d,t),U(c,t),U(H,t),U(E,t),U(N,t),U(Q,t),U(et,t)}}}const Fe='{"title":"动作：使智能体能够与环境交互","local":"动作使智能体能够与环境交互","sections":[{"title":"智能体动作的类型 (Types of Agent Actions)","local":"智能体动作的类型-types-of-agent-actions","sections":[],"depth":2},{"title":"停止和解析方法 (The Stop and Parse Approach)","local":"停止和解析方法-the-stop-and-parse-approach","sections":[],"depth":2},{"title":"代码智能体 (Code Agents)","local":"代码智能体-code-agents","sections":[],"depth":2}],"depth":1}';function Ve(Ot){return Se(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ye extends Ze{constructor(r){super(),Pe(this,r,Ve,Ne,Le,{})}}export{Ye as component};
