import{s as Ee,a as Oe,n as Re,o as Ae}from"../chunks/scheduler.4048030c.js";import{S as Be,i as Se,e as a,s as n,c as T,h as be,a as p,d as l,b as i,f as _e,g as o,j as U,k as lt,l as Le,m as s,n as m,t as y,o as f,p as r}from"../chunks/index.b7616466.js";import{C as ke}from"../chunks/CopyLLMTxtMenu.123c0cc8.js";import{C as ce}from"../chunks/CodeBlock.5d3f31be.js";import{H as Gt,E as Fe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.3e96386d.js";function He(Yt){let J,it,st,at,V,pt,j,Ut,C,Wt="<p>이 섹션에서는 AI 에이전트가 환경과 상호작용하기 위해 취하는 구체적인 단계를 살펴봅니다.</p> <p>액션이 어떻게 표현되는지(JSON 또는 코드 사용), 중지 및 구문 분석 접근 방식의 중요성, 그리고 다양한 유형의 에이전트를 소개합니다.</p>",Jt,w,Kt="액션은 <strong>AI 에이전트가 환경과 상호작용하기 위해 취하는</strong> 구체적인 단계입니다.",Ct,x,te="정보를 위해 웹을 검색하든 물리적 장치를 제어하든, 각 액션은 에이전트가 실행하는 의도적인 작업입니다.",Mt,v,ee="예를 들어, 고객 서비스를 지원하는 에이전트는 고객 데이터를 검색하거나, 도움말 문서를 제공하거나, 문제를 인간 담당자에게 이관할 수 있습니다.",ut,h,Tt,I,le="액션을 다르게 취하는 여러 유형의 에이전트가 있습니다:",ot,Q,se="<thead><tr><th>에이전트 유형</th> <th>설명</th></tr></thead> <tbody><tr><td>JSON 에이전트</td> <td>취할 액션이 JSON 형식으로 지정됩니다.</td></tr> <tr><td>코드 에이전트</td> <td>에이전트가 외부에서 해석되는 코드 블록을 작성합니다.</td></tr> <tr><td>함수 호출 에이전트</td> <td>JSON 에이전트의 하위 카테고리로, 각 액션마다 새로운 메시지를 생성하도록 미세 조정되었습니다.</td></tr></tbody>",mt,d,ne="액션 자체는 다양한 목적을 가질 수 있습니다:",yt,$,ie="<thead><tr><th>액션 유형</th> <th>설명</th></tr></thead> <tbody><tr><td>정보 수집</td> <td>웹 검색 수행, 데이터베이스 쿼리, 문서 검색 등</td></tr> <tr><td>도구 사용</td> <td>API 호출, 계산 실행, 코드 실행</td></tr> <tr><td>환경 상호작용</td> <td>디지털 인터페이스 조작 또는 물리적 장치 제어</td></tr> <tr><td>의사소통</td> <td>채팅을 통한 사용자와의 상호작용 또는 다른 에이전트와의 협업</td></tr></tbody>",ft,g,ae="모든 형식의 에이전트(JSON, 코드, 함수 호출)에 있어 중요한 부분은 <strong>액션이 완료되면 새로운 토큰 생성을 중지하는 능력</strong>입니다. 이는 의도하지 않은 출력을 방지하고 에이전트의 응답이 명확하고 정확하도록 보장합니다.",rt,_,pe="LLM은 텍스트만 처리하며 이를 사용하여 취하고자 하는 액션과 도구에 제공할 매개변수를 설명합니다.",Vt,c,jt,E,Ue="액션을 구현하는 핵심 방법 중 하나는 <strong>중지 및 구문 분석 접근 방식</strong>입니다. 이 방법은 에이전트의 출력이 구조화되고 예측 가능하도록 보장합니다:",wt,O,Je="<li><strong>구조화된 형식으로 생성</strong>:</li>",xt,R,Ce="에이전트는 의도한 액션을 명확하고 미리 정의된 형식(JSON 또는 코드)으로 출력합니다.",vt,M,Me="<li><strong>추가 생성 중지</strong>:</li>",ht,A,ue="액션이 완료되면 <strong>에이전트는 추가 토큰 생성을 중지</strong>합니다. 이는 불필요하거나 오류가 있는 출력을 방지합니다.",It,u,Te="<li><strong>출력 구문 분석</strong>:</li>",Qt,B,oe="외부 파서가 형식화된 액션을 읽고, 어떤 도구를 호출할지 결정하며, 필요한 매개변수를 추출합니다.",dt,S,me="예를 들어, 날씨를 확인해야 하는 에이전트는 다음과 같이 출력할 수 있습니다:",$t,b,gt,L,ye="프레임워크는 호출할 함수의 이름과 적용할 인자를 쉽게 구문 분석할 수 있습니다.",_t,k,fe="이 명확하고 기계가 읽을 수 있는 형식은 오류를 최소화하고 외부 도구가 에이전트의 명령을 정확하게 처리할 수 있게 합니다.",ct,F,re=`참고: 함수 호출 에이전트는 각 액션을 구조화하여 지정된 함수가 올바른 인수와 함께 호출되도록 하는 비슷한 방식으로 작동합니다.
이러한 유형의 에이전트에 대해서는 향후 유닛에서 더 자세히 살펴볼 것입니다.`,Et,H,Ot,N,Ve=`대안적인 접근 방식은 <em>코드 에이전트</em>를 사용하는 것입니다.
핵심 아이디어는 <strong>단순한 JSON 객체를 출력하는 대신</strong>, 코드 에이전트가 <strong>실행 가능한 코드 블록(일반적으로 Python과 같은 고수준 언어로 작성)</strong>을 생성한다는 것입니다.`,Rt,P,je,At,q,we="이 접근 방식은 여러 장점을 제공합니다:",Bt,D,xe="<li><strong>표현력:</strong> 코드는 루프, 조건문, 중첩 함수를 포함한 복잡한 로직을 자연스럽게 표현할 수 있어 JSON보다 더 큰 유연성을 제공합니다.</li> <li><strong>모듈성 및 재사용성:</strong> 생성된 코드는 다양한 액션이나 작업에서 재사용할 수 있는 함수와 모듈을 포함할 수 있습니다.</li> <li><strong>향상된 디버깅 가능성:</strong> 잘 정의된 프로그래밍 구문을 통해 코드 오류를 감지하고 수정하기가 더 쉬운 경우가 많습니다.</li> <li><strong>직접 통합:</strong> 코드 에이전트는 외부 라이브러리 및 API와 직접 통합할 수 있어 데이터 처리나 실시간 의사 결정과 같은 복잡한 작업이 가능합니다.</li>",St,z,ve="예를 들어, 날씨 정보를 가져오는 임무를 맡은 코드 에이전트는 다음과 같은 Python 코드 조각을 생성할 수 있습니다:",bt,Z,Lt,X,he="이 예시에서 코드 에이전트는:",kt,G,Ie="<li><strong>API 호출</strong>을 통해 날씨 데이터를 검색하고,</li> <li>응답을 처리하며,</li> <li>print() 함수를 사용하여 최종 답변을 출력합니다.</li>",Ft,Y,Qe="이 방법 <strong>또한 중지 및 구문 분석 접근 방식</strong>을 따르며, 코드 블록을 명확하게 구분하고 실행이 완료되었음을 신호합니다(여기서는 final_answer를 출력함으로써).",Ht,Nt,Pt,W,de="액션은 JSON, 코드 또는 함수 호출을 통해 명확하고 구조화된 작업을 실행함으로써 에이전트의 내부 추론과 실제 상호작용을 연결한다는 점을 배웠습니다.",qt,K,$e="이러한 의도적인 실행은 각 액션이 정확하고 중지 및 구문 분석 접근 방식을 통해 외부 처리가 가능하도록 보장합니다. 다음 섹션에서는 에이전트가 환경으로부터 피드백을 캡처하고 통합하는 방법을 알아보기 위해 관찰(Observations)에 대해 살펴볼 것입니다.",Dt,tt,ge="이후에는 <strong>드디어 우리의 첫 번째 에이전트를 구축할 준비가 됩니다!</strong>",zt,et,Zt,nt,Xt;return V=new ke({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),j=new Gt({props:{title:"액션: 에이전트가 환경과 상호작용할 수 있게 하기",local:"actions-enabling-the-agent-to-engage-with-its-environment",headingTag:"h1"}}),h=new Gt({props:{title:"에이전트 액션의 유형",local:"types-of-agent-actions",headingTag:"h2"}}),c=new Gt({props:{title:"중지 및 구문 분석 접근 방식",local:"the-stop-and-parse-approach",headingTag:"h2"}}),b=new ce({props:{code:"VGhvdWdodCUzQSUyMCVFQyU4NCU5QyVFQyU5QSVCOCVFQyU5RCU5OCUyMCVFRCU5OCU4NCVFQyU5RSVBQyUyMCVFQiU4MiVBMCVFQyU5NCVBOCVFQiVBNSVCQyUyMCVFRCU5OSU5NSVFQyU5RCVCOCVFRCU5NSVCNCVFQyU5NSVCQyUyMCVFRCU5NSVBOSVFQiU4QiU4OCVFQiU4QiVBNC4lMEFBY3Rpb24lMjAlM0ElMEElN0IlMEElMjAlMjAlMjJhY3Rpb24lMjIlM0ElMjAlMjJnZXRfd2VhdGhlciUyMiUyQyUwQSUyMCUyMCUyMmFjdGlvbl9pbnB1dCUyMiUzQSUyMCU3QiUyMmxvY2F0aW9uJTIyJTNBJTIwJTIyU2VvdWwlMjIlN0QlMEElN0Q=",highlighted:`Thought<span class="hljs-punctuation">:</span> 서울의 현재 날씨를 확인해야 합니다.
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;Seoul&quot;</span><span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>`,wrap:!1}}),H=new Gt({props:{title:"코드 에이전트",local:"code-agents",headingTag:"h2"}}),Z=new ce({props:{code:"JTIzJTIwJUVDJUJEJTk0JUVCJTkzJTlDJTIwJUVDJTk3JTkwJUVDJTlEJUI0JUVDJUEwJTg0JUVEJThBJUI4JTIwJUVDJTk4JTg4JUVDJThCJTlDJTNBJTIwJUVCJTgyJUEwJUVDJTk0JUE4JTIwJUVDJUEwJTk1JUVCJUIzJUI0JTIwJUVBJUIyJTgwJUVDJTgzJTg5JTBBZGVmJTIwZ2V0X3dlYXRoZXIoY2l0eSklM0ElMEElMjAlMjAlMjAlMjBpbXBvcnQlMjByZXF1ZXN0cyUwQSUyMCUyMCUyMCUyMGFwaV91cmwlMjAlM0QlMjBmJTIyaHR0cHMlM0ElMkYlMkZhcGkud2VhdGhlci5jb20lMkZ2MSUyRmxvY2F0aW9uJTJGJTdCY2l0eSU3RCUzRmFwaUtleSUzRFlPVVJfQVBJX0tFWSUyMiUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwcmVxdWVzdHMuZ2V0KGFwaV91cmwpJTBBJTIwJTIwJTIwJTIwaWYlMjByZXNwb25zZS5zdGF0dXNfY29kZSUyMCUzRCUzRCUyMDIwMCUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRhdGElMjAlM0QlMjByZXNwb25zZS5qc29uKCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBkYXRhLmdldCglMjJ3ZWF0aGVyJTIyJTJDJTIwJTIyJUVCJTgyJUEwJUVDJTk0JUE4JTIwJUVDJUEwJTk1JUVCJUIzJUI0JUVBJUIwJTgwJTIwJUVDJTk3JTg2JUVDJThBJUI1JUVCJThCJTg4JUVCJThCJUE0JTIyKSUwQSUyMCUyMCUyMCUyMGVsc2UlM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjAlMjIlRUMlOTglQTQlRUIlQTUlOTglM0ElMjAlRUIlODIlQTAlRUMlOTQlQTglMjAlRUIlOEQlQjAlRUMlOUQlQjQlRUQlODQlQjAlRUIlQTUlQkMlMjAlRUElQjAlODAlRUMlQTAlQjglRUMlOTglQUMlMjAlRUMlODglOTglMjAlRUMlOTclODYlRUMlOEElQjUlRUIlOEIlODglRUIlOEIlQTQuJTIyJTBBJTBBJTIzJTIwJUVEJTk1JUE4JUVDJTg4JTk4JTIwJUVDJThCJUE0JUVEJTk2JTg5JTIwJUVCJUIwJThGJTIwJUVDJUI1JTlDJUVDJUEyJTg1JTIwJUVCJThCJUI1JUVCJUIzJTgwJTIwJUVDJUE0JTgwJUVCJUI5JTg0JTBBcmVzdWx0JTIwJTNEJTIwZ2V0X3dlYXRoZXIoJTIyU2VvdWwlMjIpJTBBZmluYWxfYW5zd2VyJTIwJTNEJTIwZiUyMiVFQyU4NCU5QyVFQyU5QSVCOCVFQyU5RCU5OCUyMCVFRCU5OCU4NCVFQyU5RSVBQyUyMCVFQiU4MiVBMCVFQyU5NCVBOCVFQiU4QSU5NCUzQSUyMCU3QnJlc3VsdCU3RCUyMiUwQXByaW50KGZpbmFsX2Fuc3dlcik=",highlighted:`<span class="hljs-comment"># 코드 에이전트 예시: 날씨 정보 검색</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;날씨 정보가 없습니다&quot;</span>)
    <span class="hljs-keyword">else</span>:
        <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;오류: 날씨 데이터를 가져올 수 없습니다.&quot;</span>

<span class="hljs-comment"># 함수 실행 및 최종 답변 준비</span>
result = get_weather(<span class="hljs-string">&quot;Seoul&quot;</span>)
final_answer = <span class="hljs-string">f&quot;서울의 현재 날씨는: <span class="hljs-subst">{result}</span>&quot;</span>
<span class="hljs-built_in">print</span>(final_answer)`,wrap:!1}}),et=new Fe({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ko/unit1/actions.mdx"}}),{c(){J=a("meta"),it=n(),st=a("p"),at=n(),T(V.$$.fragment),pt=n(),T(j.$$.fragment),Ut=n(),C=a("blockquote"),C.innerHTML=Wt,Jt=n(),w=a("p"),w.innerHTML=Kt,Ct=n(),x=a("p"),x.textContent=te,Mt=n(),v=a("p"),v.textContent=ee,ut=n(),T(h.$$.fragment),Tt=n(),I=a("p"),I.textContent=le,ot=n(),Q=a("table"),Q.innerHTML=se,mt=n(),d=a("p"),d.textContent=ne,yt=n(),$=a("table"),$.innerHTML=ie,ft=n(),g=a("p"),g.innerHTML=ae,rt=n(),_=a("p"),_.textContent=pe,Vt=n(),T(c.$$.fragment),jt=n(),E=a("p"),E.innerHTML=Ue,wt=n(),O=a("ol"),O.innerHTML=Je,xt=n(),R=a("p"),R.textContent=Ce,vt=n(),M=a("ol"),M.innerHTML=Me,ht=n(),A=a("p"),A.innerHTML=ue,It=n(),u=a("ol"),u.innerHTML=Te,Qt=n(),B=a("p"),B.textContent=oe,dt=n(),S=a("p"),S.textContent=me,$t=n(),T(b.$$.fragment),gt=n(),L=a("p"),L.textContent=ye,_t=n(),k=a("p"),k.textContent=fe,ct=n(),F=a("p"),F.textContent=re,Et=n(),T(H.$$.fragment),Ot=n(),N=a("p"),N.innerHTML=Ve,Rt=n(),P=a("img"),At=n(),q=a("p"),q.textContent=we,Bt=n(),D=a("ul"),D.innerHTML=xe,St=n(),z=a("p"),z.textContent=ve,bt=n(),T(Z.$$.fragment),Lt=n(),X=a("p"),X.textContent=he,kt=n(),G=a("ul"),G.innerHTML=Ie,Ft=n(),Y=a("p"),Y.innerHTML=Qe,Ht=n(),Nt=a("hr"),Pt=n(),W=a("p"),W.textContent=de,qt=n(),K=a("p"),K.textContent=$e,Dt=n(),tt=a("p"),tt.innerHTML=ge,zt=n(),T(et.$$.fragment),Zt=n(),nt=a("p"),this.h()},l(t){const e=be("svelte-u9bgzb",document.head);J=p(e,"META",{name:!0,content:!0}),e.forEach(l),it=i(t),st=p(t,"P",{}),_e(st).forEach(l),at=i(t),o(V.$$.fragment,t),pt=i(t),o(j.$$.fragment,t),Ut=i(t),C=p(t,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),U(C)!=="svelte-3ge9zs"&&(C.innerHTML=Wt),Jt=i(t),w=p(t,"P",{"data-svelte-h":!0}),U(w)!=="svelte-1aluky0"&&(w.innerHTML=Kt),Ct=i(t),x=p(t,"P",{"data-svelte-h":!0}),U(x)!=="svelte-as0c4a"&&(x.textContent=te),Mt=i(t),v=p(t,"P",{"data-svelte-h":!0}),U(v)!=="svelte-42d55y"&&(v.textContent=ee),ut=i(t),o(h.$$.fragment,t),Tt=i(t),I=p(t,"P",{"data-svelte-h":!0}),U(I)!=="svelte-898fmh"&&(I.textContent=le),ot=i(t),Q=p(t,"TABLE",{"data-svelte-h":!0}),U(Q)!=="svelte-19gxuln"&&(Q.innerHTML=se),mt=i(t),d=p(t,"P",{"data-svelte-h":!0}),U(d)!=="svelte-71uysp"&&(d.textContent=ne),yt=i(t),$=p(t,"TABLE",{"data-svelte-h":!0}),U($)!=="svelte-40umr2"&&($.innerHTML=ie),ft=i(t),g=p(t,"P",{"data-svelte-h":!0}),U(g)!=="svelte-1xeo1hn"&&(g.innerHTML=ae),rt=i(t),_=p(t,"P",{"data-svelte-h":!0}),U(_)!=="svelte-va3g75"&&(_.textContent=pe),Vt=i(t),o(c.$$.fragment,t),jt=i(t),E=p(t,"P",{"data-svelte-h":!0}),U(E)!=="svelte-1a7p0d5"&&(E.innerHTML=Ue),wt=i(t),O=p(t,"OL",{"data-svelte-h":!0}),U(O)!=="svelte-dnhf90"&&(O.innerHTML=Je),xt=i(t),R=p(t,"P",{"data-svelte-h":!0}),U(R)!=="svelte-udtimv"&&(R.textContent=Ce),vt=i(t),M=p(t,"OL",{start:!0,"data-svelte-h":!0}),U(M)!=="svelte-1xd19l0"&&(M.innerHTML=Me),ht=i(t),A=p(t,"P",{"data-svelte-h":!0}),U(A)!=="svelte-jsm0b9"&&(A.innerHTML=ue),It=i(t),u=p(t,"OL",{start:!0,"data-svelte-h":!0}),U(u)!=="svelte-b7xz2e"&&(u.innerHTML=Te),Qt=i(t),B=p(t,"P",{"data-svelte-h":!0}),U(B)!=="svelte-x9n9km"&&(B.textContent=oe),dt=i(t),S=p(t,"P",{"data-svelte-h":!0}),U(S)!=="svelte-byfyzi"&&(S.textContent=me),$t=i(t),o(b.$$.fragment,t),gt=i(t),L=p(t,"P",{"data-svelte-h":!0}),U(L)!=="svelte-o1icpx"&&(L.textContent=ye),_t=i(t),k=p(t,"P",{"data-svelte-h":!0}),U(k)!=="svelte-1bq2btw"&&(k.textContent=fe),ct=i(t),F=p(t,"P",{"data-svelte-h":!0}),U(F)!=="svelte-1y6iiph"&&(F.textContent=re),Et=i(t),o(H.$$.fragment,t),Ot=i(t),N=p(t,"P",{"data-svelte-h":!0}),U(N)!=="svelte-y1tr6p"&&(N.innerHTML=Ve),Rt=i(t),P=p(t,"IMG",{src:!0,alt:!0}),At=i(t),q=p(t,"P",{"data-svelte-h":!0}),U(q)!=="svelte-1hp1alq"&&(q.textContent=we),Bt=i(t),D=p(t,"UL",{"data-svelte-h":!0}),U(D)!=="svelte-1msvsxq"&&(D.innerHTML=xe),St=i(t),z=p(t,"P",{"data-svelte-h":!0}),U(z)!=="svelte-t451k5"&&(z.textContent=ve),bt=i(t),o(Z.$$.fragment,t),Lt=i(t),X=p(t,"P",{"data-svelte-h":!0}),U(X)!=="svelte-1z022ba"&&(X.textContent=he),kt=i(t),G=p(t,"UL",{"data-svelte-h":!0}),U(G)!=="svelte-t9e2pn"&&(G.innerHTML=Ie),Ft=i(t),Y=p(t,"P",{"data-svelte-h":!0}),U(Y)!=="svelte-4cmtmh"&&(Y.innerHTML=Qe),Ht=i(t),Nt=p(t,"HR",{}),Pt=i(t),W=p(t,"P",{"data-svelte-h":!0}),U(W)!=="svelte-ku6eff"&&(W.textContent=de),qt=i(t),K=p(t,"P",{"data-svelte-h":!0}),U(K)!=="svelte-1x7k891"&&(K.textContent=$e),Dt=i(t),tt=p(t,"P",{"data-svelte-h":!0}),U(tt)!=="svelte-1eb8coz"&&(tt.innerHTML=ge),zt=i(t),o(et.$$.fragment,t),Zt=i(t),nt=p(t,"P",{}),_e(nt).forEach(l),this.h()},h(){lt(J,"name","hf:doc:metadata"),lt(J,"content",Ne),lt(C,"class","tip"),lt(M,"start","2"),lt(u,"start","3"),Oe(P.src,je="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/code-vs-json-actions.png")||lt(P,"src",je),lt(P,"alt","코드 에이전트")},m(t,e){Le(document.head,J),s(t,it,e),s(t,st,e),s(t,at,e),m(V,t,e),s(t,pt,e),m(j,t,e),s(t,Ut,e),s(t,C,e),s(t,Jt,e),s(t,w,e),s(t,Ct,e),s(t,x,e),s(t,Mt,e),s(t,v,e),s(t,ut,e),m(h,t,e),s(t,Tt,e),s(t,I,e),s(t,ot,e),s(t,Q,e),s(t,mt,e),s(t,d,e),s(t,yt,e),s(t,$,e),s(t,ft,e),s(t,g,e),s(t,rt,e),s(t,_,e),s(t,Vt,e),m(c,t,e),s(t,jt,e),s(t,E,e),s(t,wt,e),s(t,O,e),s(t,xt,e),s(t,R,e),s(t,vt,e),s(t,M,e),s(t,ht,e),s(t,A,e),s(t,It,e),s(t,u,e),s(t,Qt,e),s(t,B,e),s(t,dt,e),s(t,S,e),s(t,$t,e),m(b,t,e),s(t,gt,e),s(t,L,e),s(t,_t,e),s(t,k,e),s(t,ct,e),s(t,F,e),s(t,Et,e),m(H,t,e),s(t,Ot,e),s(t,N,e),s(t,Rt,e),s(t,P,e),s(t,At,e),s(t,q,e),s(t,Bt,e),s(t,D,e),s(t,St,e),s(t,z,e),s(t,bt,e),m(Z,t,e),s(t,Lt,e),s(t,X,e),s(t,kt,e),s(t,G,e),s(t,Ft,e),s(t,Y,e),s(t,Ht,e),s(t,Nt,e),s(t,Pt,e),s(t,W,e),s(t,qt,e),s(t,K,e),s(t,Dt,e),s(t,tt,e),s(t,zt,e),m(et,t,e),s(t,Zt,e),s(t,nt,e),Xt=!0},p:Re,i(t){Xt||(y(V.$$.fragment,t),y(j.$$.fragment,t),y(h.$$.fragment,t),y(c.$$.fragment,t),y(b.$$.fragment,t),y(H.$$.fragment,t),y(Z.$$.fragment,t),y(et.$$.fragment,t),Xt=!0)},o(t){f(V.$$.fragment,t),f(j.$$.fragment,t),f(h.$$.fragment,t),f(c.$$.fragment,t),f(b.$$.fragment,t),f(H.$$.fragment,t),f(Z.$$.fragment,t),f(et.$$.fragment,t),Xt=!1},d(t){t&&(l(it),l(st),l(at),l(pt),l(Ut),l(C),l(Jt),l(w),l(Ct),l(x),l(Mt),l(v),l(ut),l(Tt),l(I),l(ot),l(Q),l(mt),l(d),l(yt),l($),l(ft),l(g),l(rt),l(_),l(Vt),l(jt),l(E),l(wt),l(O),l(xt),l(R),l(vt),l(M),l(ht),l(A),l(It),l(u),l(Qt),l(B),l(dt),l(S),l($t),l(gt),l(L),l(_t),l(k),l(ct),l(F),l(Et),l(Ot),l(N),l(Rt),l(P),l(At),l(q),l(Bt),l(D),l(St),l(z),l(bt),l(Lt),l(X),l(kt),l(G),l(Ft),l(Y),l(Ht),l(Nt),l(Pt),l(W),l(qt),l(K),l(Dt),l(tt),l(zt),l(Zt),l(nt)),l(J),r(V,t),r(j,t),r(h,t),r(c,t),r(b,t),r(H,t),r(Z,t),r(et,t)}}}const Ne='{"title":"액션: 에이전트가 환경과 상호작용할 수 있게 하기","local":"actions-enabling-the-agent-to-engage-with-its-environment","sections":[{"title":"에이전트 액션의 유형","local":"types-of-agent-actions","sections":[],"depth":2},{"title":"중지 및 구문 분석 접근 방식","local":"the-stop-and-parse-approach","sections":[],"depth":2},{"title":"코드 에이전트","local":"code-agents","sections":[],"depth":2}],"depth":1}';function Pe(Yt){return Ae(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ge extends Be{constructor(J){super(),Se(this,J,Pe,He,Ee,{})}}export{Ge as component};
