import{s as Se,a as be,n as Le,o as ge}from"../chunks/scheduler.4048030c.js";import{S as Re,i as He,e as a,s as n,c as w,h as Ne,a as p,d as l,b as i,f as _e,g as r,j as M,k as lt,l as Be,m as s,n as y,t as m,o,p as f}from"../chunks/index.b7616466.js";import{C as ke,H as Yt,E as Pe}from"../chunks/MermaidChart.svelte_svelte_type_style_lang.3f85e4dc.js";import{C as ce}from"../chunks/CodeBlock.1a962f18.js";function Ze(Ot){let C,it,st,at,V,pt,T,Mt,J,Kt="<p>В этом разделе мы рассмотрим конкретные действия AI агента по взаимодействию с окружением.</p> <p>Мы расскажем о том, как представляются действия (с помощью JSON или кода), о важности подхода “остановить и разобрать”, а также представим различные типы агентов.</p>",Ct,x,Dt="Действия - это конкретные шаги, которые <strong>AI агент предпринимает для взаимодействия с окружением</strong>.",Jt,j,te="Будь то просмотр информации в Интернете или управление физическим устройством, каждое действие - это целенаправленная операция, выполняемая агентом.",Ut,v,ee="Например, агент, помогающий в службе поддержки клиентов, может получать данные о клиентах, предлагать статьи по поддержке или передавать проблемы представителю компании.",ut,E,wt,h,le="There are multiple types of Agents that take actions differently:",rt,Q,se="<thead><tr><th>Тип агента</th> <th>Описание</th></tr></thead> <tbody><tr><td>JSON Агент</td> <td>Действие, которое необходимо предпринять, указывается в формате JSON.</td></tr> <tr><td>Агент кода (Code Agent)</td> <td>Агент пишет блок кода, который интерпретируется извне.</td></tr> <tr><td>Агент вызывающий функции (Function-calling Agent)</td> <td>Это подкатегория агента JSON, который был дообучен генерировать новое сообщение для каждого действия.</td></tr></tbody>",yt,I,ne="Сами действия могут служить разным целям:",mt,d,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>",ot,$,ae="Одной из важнейших составляющих агента является <strong>возможность прекратить генерацию новых токенов после завершения действия</strong>, и это справедливо для всех форматов Агентов: JSON, код или вызов функций. Это предотвращает непреднамеренный вывод и гарантирует, что ответ агента будет ясным и точным.",ft,_,pe="LLM работает только с текстом и использует его для описания действий, которые она хочет выполнить, и параметров, которые нужно передать инструменту.",Vt,c,Tt,S,Me="Одним из ключевых методов реализации действий является подход <strong>остановить и разобрать</strong>. Этот метод обеспечивает структурированность и предсказуемость выходных данных агента:",xt,b,Ce="<li><strong>Генерация в структурированном формате</strong>:</li>",jt,L,Je="Агент выводит предполагаемое действие в четком, заранее определенном формате (JSON или код).",vt,U,Ue="<li><strong>Прекращение дальнейшей генерации</strong>:</li>",Et,g,ue="После завершения действия <strong>агент прекращает генерировать дополнительные токены</strong>. Это позволяет избежать лишнего или ошибочного вывода.",ht,u,we="<li><strong>Разбор выходных данных</strong>:</li>",Qt,R,re="Внешний парсер считывает отформатированное действие, определяет, какой Инструмент следует вызвать, и извлекает необходимые параметры.",It,H,ye="Например, агент, которому нужно проверить погоду, может вывести:",dt,N,$t,B,me="Затем фреймворк может легко разобрать имя функции для вызова и аргументы для применения.",_t,k,oe="Такой понятный, машиночитаемый формат минимизирует ошибки и позволяет внешним инструментам точно обрабатывать команду агента.",ct,P,fe=`Примечание: агенты вызова функций работают аналогичным образом, структурируя каждое действие так, чтобы вызывалась определенная функция с правильными аргументами.
Мы подробнее рассмотрим эти типы агентов в одном из следующих разделов.`,St,Z,bt,q,Ve=`Альтернативный подход - использование <em>Агентов Кода</em>.
Идея заключается в следующем: <strong>вместо того, чтобы выводить простой объект JSON</strong>, агент кода генерирует <strong>исполняемый блок кода - обычно на языке высокого уровня, таком как Python</strong>.`,Lt,A,Te,gt,z,xe="Этот подход имеет ряд преимуществ:",Rt,G,je="<li><strong>Выразительность:</strong> Код может естественным образом представлять сложную логику, включая циклы, условия и вложенные функции, обеспечивая большую гибкость, чем JSON.</li> <li><strong>Модульность и возможность повторного использования:</strong> Генерируемый код может включать функции и модули, которые можно повторно использовать в различных действиях или задачах.</li> <li><strong>Улучшенная отлаживаемость:</strong> Благодаря четко определенному синтаксису программирования ошибки в коде зачастую легче обнаружить и исправить.</li> <li><strong>Прямая интеграция:</strong> Агенты кода могут напрямую интегрироваться с внешними библиотеками и API, что позволяет выполнять более сложные операции, такие как обработка данных или принятие решений в режиме реального времени.</li>",Ht,F,ve="Например, Агент Кода, которому поручено получить информацию о погоде, может сгенерировать следующий фрагмент на языке Python:",Nt,W,Bt,X,Ee="В этом примере Агент Кода:",kt,Y,he="<li>Получает данные о погоде <strong>посредством вызова API</strong>,</li> <li>обрабатывает ответ,</li> <li>И использует функцию print() для вывода окончательного ответа.</li>",Pt,O,Qe="Этот метод <strong>также следует подходу “остановись и разбери”</strong>, четко разграничивая блок кода и сигнализируя о завершении выполнения (здесь - выводом final_answer).",Zt,qt,At,K,Ie="Мы узнали, что действия связывают внутренние рассуждения агента и его взаимодействие с реальным миром, выполняя четкие, структурированные задачи - через JSON, код или вызов функций.",zt,D,de="Такое продуманное выполнение гарантирует, что каждое действие будет точным и готовым к внешней обработке с помощью подхода «остановить и разобрать». В следующем разделе мы рассмотрим Наблюдения, чтобы увидеть, как агенты улавливают и интегрируют обратную связь от своего окружения.",Gt,tt,$e="После этого мы будем <strong>окончательно готовы к созданию нашего первого агента!</strong>.",Ft,et,Wt,nt,Xt;return V=new ke({props:{containerStyle:"float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"}}),T=new Yt({props:{title:"Действия: Обеспечение взаимодействия Агента с его Окружением",local:"действия-обеспечение-взаимодействия-агента-с-его-окружением",headingTag:"h1"}}),E=new Yt({props:{title:"Типы Действий Агента",local:"типы-действий-агента",headingTag:"h2"}}),c=new Yt({props:{title:"Подход с Остановись и Разберись",local:"подход-с-остановись-и-разберись",headingTag:"h2"}}),N=new ce({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}}),Z=new Yt({props:{title:"Агенты Кода",local:"агенты-кода",headingTag:"h2"}}),W=new ce({props:{code:"JTIzJTIwJUQwJTlGJUQxJTgwJUQwJUI4JUQwJUJDJUQwJUI1JUQxJTgwJTIwJUQwJTkwJUQwJUIzJUQwJUI1JUQwJUJEJUQxJTgyJUQwJUIwJTIwJUQwJTlBJUQwJUJFJUQwJUI0JUQwJUIwJTNBJTIwJUQwJTlGJUQwJUJFJUQwJUJCJUQxJTgzJUQxJTg3JUQwJUI1JUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUI4JUQwJUJEJUQxJTg0JUQwJUJFJUQxJTgwJUQwJUJDJUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTIwJUQwJUJFJTIwJUQwJUJGJUQwJUJFJUQwJUIzJUQwJUJFJUQwJUI0JUQwJUI1JTBBZGVmJTIwZ2V0X3dlYXRoZXIoY2l0eSklM0ElMEElMjAlMjAlMjAlMjBpbXBvcnQlMjByZXF1ZXN0cyUwQSUyMCUyMCUyMCUyMGFwaV91cmwlMjAlM0QlMjBmJTIyaHR0cHMlM0ElMkYlMkZhcGkud2VhdGhlci5jb20lMkZ2MSUyRmxvY2F0aW9uJTJGJTdCY2l0eSU3RCUzRmFwaUtleSUzRFlPVVJfQVBJX0tFWSUyMiUwQSUyMCUyMCUyMCUyMHJlc3BvbnNlJTIwJTNEJTIwcmVxdWVzdHMuZ2V0KGFwaV91cmwpJTBBJTIwJTIwJTIwJTIwaWYlMjByZXNwb25zZS5zdGF0dXNfY29kZSUyMCUzRCUzRCUyMDIwMCUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRhdGElMjAlM0QlMjByZXNwb25zZS5qc29uKCklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBkYXRhLmdldCglMjJ3ZWF0aGVyJTIyJTJDJTIwJTIyTm8lMjB3ZWF0aGVyJTIwaW5mb3JtYXRpb24lMjBhdmFpbGFibGUlMjIpJTBBJTIwJTIwJTIwJTIwZWxzZSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMCUyMkVycm9yJTNBJTIwVW5hYmxlJTIwdG8lMjBmZXRjaCUyMHdlYXRoZXIlMjBkYXRhLiUyMiUwQSUwQSUyMyUyMCVEMCU5MiVEMSU4QiVEMCVCRiVEMCVCRSVEMCVCQiVEMCVCRCVEMCVCNSVEMCVCRCVEMCVCOCVEMCVCNSUyMCVEMSU4NCVEMSU4MyVEMCVCRCVEMCVCQSVEMSU4NiVEMCVCOCVEMCVCOCUyMCVEMCVCOCUyMCVEMCVCRiVEMCVCRSVEMCVCNCVEMCVCMyVEMCVCRSVEMSU4MiVEMCVCRSVEMCVCMiVEMCVCQSVEMCVCMCUyMCVEMCVCRSVEMCVCQSVEMCVCRSVEMCVCRCVEMSU4NyVEMCVCMCVEMSU4MiVEMCVCNSVEMCVCQiVEMSU4QyVEMCVCRCVEMCVCRSVEMCVCMyVEMCVCRSUyMCVEMCVCRSVEMSU4MiVEMCVCMiVEMCVCNSVEMSU4MiVEMCVCMCUwQXJlc3VsdCUyMCUzRCUyMGdldF93ZWF0aGVyKCUyMk5ldyUyMFlvcmslMjIpJTBBZmluYWxfYW5zd2VyJTIwJTNEJTIwZiUyMlRoZSUyMGN1cnJlbnQlMjB3ZWF0aGVyJTIwaW4lMjBOZXclMjBZb3JrJTIwaXMlM0ElMjAlN0JyZXN1bHQlN0QlMjIlMEFwcmludChmaW5hbF9hbnN3ZXIp",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;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"># Выполнение функции и подготовка окончательного ответа</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 Pe({props:{source:"https://github.com/huggingface/agents-course/blob/main/units/ru-RU/unit1/actions.mdx"}}),{c(){C=a("meta"),it=n(),st=a("p"),at=n(),w(V.$$.fragment),pt=n(),w(T.$$.fragment),Mt=n(),J=a("blockquote"),J.innerHTML=Kt,Ct=n(),x=a("p"),x.innerHTML=Dt,Jt=n(),j=a("p"),j.textContent=te,Ut=n(),v=a("p"),v.textContent=ee,ut=n(),w(E.$$.fragment),wt=n(),h=a("p"),h.textContent=le,rt=n(),Q=a("table"),Q.innerHTML=se,yt=n(),I=a("p"),I.textContent=ne,mt=n(),d=a("table"),d.innerHTML=ie,ot=n(),$=a("p"),$.innerHTML=ae,ft=n(),_=a("p"),_.textContent=pe,Vt=n(),w(c.$$.fragment),Tt=n(),S=a("p"),S.innerHTML=Me,xt=n(),b=a("ol"),b.innerHTML=Ce,jt=n(),L=a("p"),L.textContent=Je,vt=n(),U=a("ol"),U.innerHTML=Ue,Et=n(),g=a("p"),g.innerHTML=ue,ht=n(),u=a("ol"),u.innerHTML=we,Qt=n(),R=a("p"),R.textContent=re,It=n(),H=a("p"),H.textContent=ye,dt=n(),w(N.$$.fragment),$t=n(),B=a("p"),B.textContent=me,_t=n(),k=a("p"),k.textContent=oe,ct=n(),P=a("p"),P.textContent=fe,St=n(),w(Z.$$.fragment),bt=n(),q=a("p"),q.innerHTML=Ve,Lt=n(),A=a("img"),gt=n(),z=a("p"),z.textContent=xe,Rt=n(),G=a("ul"),G.innerHTML=je,Ht=n(),F=a("p"),F.textContent=ve,Nt=n(),w(W.$$.fragment),Bt=n(),X=a("p"),X.textContent=Ee,kt=n(),Y=a("ul"),Y.innerHTML=he,Pt=n(),O=a("p"),O.innerHTML=Qe,Zt=n(),qt=a("hr"),At=n(),K=a("p"),K.textContent=Ie,zt=n(),D=a("p"),D.textContent=de,Gt=n(),tt=a("p"),tt.innerHTML=$e,Ft=n(),w(et.$$.fragment),Wt=n(),nt=a("p"),this.h()},l(t){const e=Ne("svelte-u9bgzb",document.head);C=p(e,"META",{name:!0,content:!0}),e.forEach(l),it=i(t),st=p(t,"P",{}),_e(st).forEach(l),at=i(t),r(V.$$.fragment,t),pt=i(t),r(T.$$.fragment,t),Mt=i(t),J=p(t,"BLOCKQUOTE",{class:!0,"data-svelte-h":!0}),M(J)!=="svelte-19jr3mu"&&(J.innerHTML=Kt),Ct=i(t),x=p(t,"P",{"data-svelte-h":!0}),M(x)!=="svelte-yvoe0j"&&(x.innerHTML=Dt),Jt=i(t),j=p(t,"P",{"data-svelte-h":!0}),M(j)!=="svelte-1b0l0pf"&&(j.textContent=te),Ut=i(t),v=p(t,"P",{"data-svelte-h":!0}),M(v)!=="svelte-1f4cgi6"&&(v.textContent=ee),ut=i(t),r(E.$$.fragment,t),wt=i(t),h=p(t,"P",{"data-svelte-h":!0}),M(h)!=="svelte-1wlcwgd"&&(h.textContent=le),rt=i(t),Q=p(t,"TABLE",{"data-svelte-h":!0}),M(Q)!=="svelte-11bxf0g"&&(Q.innerHTML=se),yt=i(t),I=p(t,"P",{"data-svelte-h":!0}),M(I)!=="svelte-18dff4c"&&(I.textContent=ne),mt=i(t),d=p(t,"TABLE",{"data-svelte-h":!0}),M(d)!=="svelte-pduv5l"&&(d.innerHTML=ie),ot=i(t),$=p(t,"P",{"data-svelte-h":!0}),M($)!=="svelte-1dq3rzl"&&($.innerHTML=ae),ft=i(t),_=p(t,"P",{"data-svelte-h":!0}),M(_)!=="svelte-xsj8al"&&(_.textContent=pe),Vt=i(t),r(c.$$.fragment,t),Tt=i(t),S=p(t,"P",{"data-svelte-h":!0}),M(S)!=="svelte-v4x8ew"&&(S.innerHTML=Me),xt=i(t),b=p(t,"OL",{"data-svelte-h":!0}),M(b)!=="svelte-6le615"&&(b.innerHTML=Ce),jt=i(t),L=p(t,"P",{"data-svelte-h":!0}),M(L)!=="svelte-1z0ey59"&&(L.textContent=Je),vt=i(t),U=p(t,"OL",{start:!0,"data-svelte-h":!0}),M(U)!=="svelte-1fpzxyt"&&(U.innerHTML=Ue),Et=i(t),g=p(t,"P",{"data-svelte-h":!0}),M(g)!=="svelte-1pzz0nb"&&(g.innerHTML=ue),ht=i(t),u=p(t,"OL",{start:!0,"data-svelte-h":!0}),M(u)!=="svelte-27yvp1"&&(u.innerHTML=we),Qt=i(t),R=p(t,"P",{"data-svelte-h":!0}),M(R)!=="svelte-98c2bo"&&(R.textContent=re),It=i(t),H=p(t,"P",{"data-svelte-h":!0}),M(H)!=="svelte-1wqbkj5"&&(H.textContent=ye),dt=i(t),r(N.$$.fragment,t),$t=i(t),B=p(t,"P",{"data-svelte-h":!0}),M(B)!=="svelte-wf2jzq"&&(B.textContent=me),_t=i(t),k=p(t,"P",{"data-svelte-h":!0}),M(k)!=="svelte-1xh08ge"&&(k.textContent=oe),ct=i(t),P=p(t,"P",{"data-svelte-h":!0}),M(P)!=="svelte-5lznc2"&&(P.textContent=fe),St=i(t),r(Z.$$.fragment,t),bt=i(t),q=p(t,"P",{"data-svelte-h":!0}),M(q)!=="svelte-1h4may0"&&(q.innerHTML=Ve),Lt=i(t),A=p(t,"IMG",{src:!0,alt:!0}),gt=i(t),z=p(t,"P",{"data-svelte-h":!0}),M(z)!=="svelte-o63j9o"&&(z.textContent=xe),Rt=i(t),G=p(t,"UL",{"data-svelte-h":!0}),M(G)!=="svelte-chrnpp"&&(G.innerHTML=je),Ht=i(t),F=p(t,"P",{"data-svelte-h":!0}),M(F)!=="svelte-boyi3g"&&(F.textContent=ve),Nt=i(t),r(W.$$.fragment,t),Bt=i(t),X=p(t,"P",{"data-svelte-h":!0}),M(X)!=="svelte-1hkikpp"&&(X.textContent=Ee),kt=i(t),Y=p(t,"UL",{"data-svelte-h":!0}),M(Y)!=="svelte-9s8pon"&&(Y.innerHTML=he),Pt=i(t),O=p(t,"P",{"data-svelte-h":!0}),M(O)!=="svelte-9zmvv"&&(O.innerHTML=Qe),Zt=i(t),qt=p(t,"HR",{}),At=i(t),K=p(t,"P",{"data-svelte-h":!0}),M(K)!=="svelte-b4mkey"&&(K.textContent=Ie),zt=i(t),D=p(t,"P",{"data-svelte-h":!0}),M(D)!=="svelte-1owo34q"&&(D.textContent=de),Gt=i(t),tt=p(t,"P",{"data-svelte-h":!0}),M(tt)!=="svelte-9837zv"&&(tt.innerHTML=$e),Ft=i(t),r(et.$$.fragment,t),Wt=i(t),nt=p(t,"P",{}),_e(nt).forEach(l),this.h()},h(){lt(C,"name","hf:doc:metadata"),lt(C,"content",qe),lt(J,"class","tip"),lt(U,"start","2"),lt(u,"start","3"),be(A.src,Te="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/code-vs-json-actions.png")||lt(A,"src",Te),lt(A,"alt","Code Agents")},m(t,e){Be(document.head,C),s(t,it,e),s(t,st,e),s(t,at,e),y(V,t,e),s(t,pt,e),y(T,t,e),s(t,Mt,e),s(t,J,e),s(t,Ct,e),s(t,x,e),s(t,Jt,e),s(t,j,e),s(t,Ut,e),s(t,v,e),s(t,ut,e),y(E,t,e),s(t,wt,e),s(t,h,e),s(t,rt,e),s(t,Q,e),s(t,yt,e),s(t,I,e),s(t,mt,e),s(t,d,e),s(t,ot,e),s(t,$,e),s(t,ft,e),s(t,_,e),s(t,Vt,e),y(c,t,e),s(t,Tt,e),s(t,S,e),s(t,xt,e),s(t,b,e),s(t,jt,e),s(t,L,e),s(t,vt,e),s(t,U,e),s(t,Et,e),s(t,g,e),s(t,ht,e),s(t,u,e),s(t,Qt,e),s(t,R,e),s(t,It,e),s(t,H,e),s(t,dt,e),y(N,t,e),s(t,$t,e),s(t,B,e),s(t,_t,e),s(t,k,e),s(t,ct,e),s(t,P,e),s(t,St,e),y(Z,t,e),s(t,bt,e),s(t,q,e),s(t,Lt,e),s(t,A,e),s(t,gt,e),s(t,z,e),s(t,Rt,e),s(t,G,e),s(t,Ht,e),s(t,F,e),s(t,Nt,e),y(W,t,e),s(t,Bt,e),s(t,X,e),s(t,kt,e),s(t,Y,e),s(t,Pt,e),s(t,O,e),s(t,Zt,e),s(t,qt,e),s(t,At,e),s(t,K,e),s(t,zt,e),s(t,D,e),s(t,Gt,e),s(t,tt,e),s(t,Ft,e),y(et,t,e),s(t,Wt,e),s(t,nt,e),Xt=!0},p:Le,i(t){Xt||(m(V.$$.fragment,t),m(T.$$.fragment,t),m(E.$$.fragment,t),m(c.$$.fragment,t),m(N.$$.fragment,t),m(Z.$$.fragment,t),m(W.$$.fragment,t),m(et.$$.fragment,t),Xt=!0)},o(t){o(V.$$.fragment,t),o(T.$$.fragment,t),o(E.$$.fragment,t),o(c.$$.fragment,t),o(N.$$.fragment,t),o(Z.$$.fragment,t),o(W.$$.fragment,t),o(et.$$.fragment,t),Xt=!1},d(t){t&&(l(it),l(st),l(at),l(pt),l(Mt),l(J),l(Ct),l(x),l(Jt),l(j),l(Ut),l(v),l(ut),l(wt),l(h),l(rt),l(Q),l(yt),l(I),l(mt),l(d),l(ot),l($),l(ft),l(_),l(Vt),l(Tt),l(S),l(xt),l(b),l(jt),l(L),l(vt),l(U),l(Et),l(g),l(ht),l(u),l(Qt),l(R),l(It),l(H),l(dt),l($t),l(B),l(_t),l(k),l(ct),l(P),l(St),l(bt),l(q),l(Lt),l(A),l(gt),l(z),l(Rt),l(G),l(Ht),l(F),l(Nt),l(Bt),l(X),l(kt),l(Y),l(Pt),l(O),l(Zt),l(qt),l(At),l(K),l(zt),l(D),l(Gt),l(tt),l(Ft),l(Wt),l(nt)),l(C),f(V,t),f(T,t),f(E,t),f(c,t),f(N,t),f(Z,t),f(W,t),f(et,t)}}}const qe='{"title":"Действия: Обеспечение взаимодействия Агента с его Окружением","local":"действия-обеспечение-взаимодействия-агента-с-его-окружением","sections":[{"title":"Типы Действий Агента","local":"типы-действий-агента","sections":[],"depth":2},{"title":"Подход с Остановись и Разберись","local":"подход-с-остановись-и-разберись","sections":[],"depth":2},{"title":"Агенты Кода","local":"агенты-кода","sections":[],"depth":2}],"depth":1}';function Ae(Ot){return ge(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Xe extends Re{constructor(C){super(),He(this,C,Ae,Ze,Se,{})}}export{Xe as component};
