Buckets:

HuggingFaceDocBuilder's picture
download
raw
23.1 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Hành động: Giúp Agent Tương tác với Môi trường&quot;,&quot;local&quot;:&quot;hành-động-giúp-agent-tương-tác-với-môi-trường&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Các loại Hành động của Agent&quot;,&quot;local&quot;:&quot;các-loại-hành-động-của-agent&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Phương pháp Dừng và Phân tích&quot;,&quot;local&quot;:&quot;phương-pháp-dừng-và-phân-tích&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Code Agent&quot;,&quot;local&quot;:&quot;code-agent&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}">
<link href="/docs/agents-course/pr_693/vi/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/entry/start.ce52593a.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/scheduler.4048030c.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/singletons.026c6ff3.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/index.dd3f5310.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/paths.798d1007.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/entry/app.c966183c.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/preload-helper.888fba67.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/index.491908f3.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/nodes/0.237d3047.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/nodes/11.7921ed89.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/CopyLLMTxtMenu.813f1489.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/MermaidChart.svelte_svelte_type_style_lang.fde90681.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/CodeBlock.8659c2d7.js">
<link rel="modulepreload" href="/docs/agents-course/pr_693/vi/_app/immutable/chunks/Heading.16eaa7b8.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Hành động: Giúp Agent Tương tác với Môi trường&quot;,&quot;local&quot;:&quot;hành-động-giúp-agent-tương-tác-với-môi-trường&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Các loại Hành động của Agent&quot;,&quot;local&quot;:&quot;các-loại-hành-động-của-agent&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Phương pháp Dừng và Phân tích&quot;,&quot;local&quot;:&quot;phương-pháp-dừng-và-phân-tích&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2},{&quot;title&quot;:&quot;Code Agent&quot;,&quot;local&quot;:&quot;code-agent&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <div class="items-center shrink-0 min-w-[100px] max-sm:min-w-[50px] justify-end ml-auto flex" style="float: right; margin-left: 10px; display: inline-flex; position: relative; z-index: 10;"><div class="inline-flex rounded-md max-sm:rounded-sm"><button class="inline-flex items-center gap-1 h-7 max-sm:h-7 px-2 max-sm:px-1.5 text-sm font-medium text-gray-800 border border-r-0 rounded-l-md max-sm:rounded-l-sm border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-live="polite"><span class="inline-flex items-center justify-center rounded-md p-0.5 max-sm:p-0 hover:text-gray-800 dark:hover:text-gray-200"><svg class="sm:size-3.5 size-3" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg></span> <span>Copy page</span></button> <button class="inline-flex items-center justify-center w-6 max-sm:w-5 h-7 max-sm:h-7 disabled:pointer-events-none text-sm text-gray-500 hover:text-gray-700 dark:hover:text-white rounded-r-md max-sm:rounded-r-sm border border-l transition border-gray-200 bg-white hover:shadow-inner dark:border-gray-850 dark:bg-gray-950 dark:text-gray-200 dark:hover:bg-gray-800" aria-haspopup="menu" aria-expanded="false" aria-label="Open copy menu"><svg class="transition-transform text-gray-400 overflow-visible sm:size-3.5 size-3 rotate-0" width="1em" height="1em" viewBox="0 0 12 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L6 6L11 1" stroke="currentColor"></path></svg></button></div> </div> <h1 class="relative group"><a id="hành-động-giúp-agent-tương-tác-với-môi-trường" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#hành-động-giúp-agent-tương-tác-với-môi-trường"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Hành động: Giúp Agent Tương tác với Môi trường</span></h1> <blockquote class="tip" data-svelte-h="svelte-mlpua9"><p>Trong phần này, chúng ta sẽ khám phá các bước cụ thể mà một AI agent thực hiện để tương tác với môi trường.</p> <p>Ta sẽ tìm hiểu cách biểu diễn hành động (sử dụng JSON hoặc code), tầm quan trọng của phương pháp dừng và phân tích (stop and parse approach), cùng các loại agent khác nhau.</p></blockquote> <p data-svelte-h="svelte-lffuui">Hành động là những bước cụ thể <strong>một AI agent thực hiện để tương tác với môi trường</strong>.</p> <p data-svelte-h="svelte-1qoayco">Dù là duyệt web để tìm thông tin hay điều khiển thiết bị vật lý, mỗi hành động đều là một thao tác có chủ đích được agent thực thi.</p> <p data-svelte-h="svelte-1io74xu">Ví dụ: một agent hỗ trợ dịch vụ khách hàng có thể truy xuất dữ liệu khách hàng, đề xuất bài viết hỗ trợ hoặc chuyển vấn đề cho nhân viên con người.</p> <h2 class="relative group"><a id="các-loại-hành-động-của-agent" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#các-loại-hành-động-của-agent"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Các loại Hành động của Agent</span></h2> <p data-svelte-h="svelte-126ea7g">Có nhiều loại Agent thực hiện hành động theo cách khác nhau:</p> <table data-svelte-h="svelte-19ulu5r"><thead><tr><th>Loại Agent</th> <th>Mô tả</th></tr></thead> <tbody><tr><td>JSON Agent</td> <td>Hành động được xác định bằng định dạng JSON.</td></tr> <tr><td>Code Agent</td> <td>Agent viết một khối code để hệ thống bên ngoài thực thi.</td></tr> <tr><td>Function-calling Agent</td> <td>Là nhánh con của JSON Agent đã được tinh chỉnh để tạo thông điệp mới cho mỗi hành động.</td></tr></tbody></table> <p data-svelte-h="svelte-1k4s74y">Bản thân các hành động có thể phục vụ nhiều mục đích:</p> <table data-svelte-h="svelte-1fc69xh"><thead><tr><th>Loại Hành động</th> <th>Mô tả</th></tr></thead> <tbody><tr><td>Thu thập thông tin</td> <td>Thực hiện tìm kiếm web, truy vấn cơ sở dữ liệu, truy xuất tài liệu.</td></tr> <tr><td>Sử dụng Tools (công cụ)</td> <td>Gọi API, chạy tính toán, thực thi code.</td></tr> <tr><td>Tương tác môi trường</td> <td>Thao tác giao diện số hoặc điều khiển thiết bị vật lý.</td></tr> <tr><td>Giao tiếp</td> <td>Tương tác với người dùng qua chat hoặc hợp tác với Agent khác.</td></tr></tbody></table> <p data-svelte-h="svelte-15y4dpp">Một phần quan trọng của agent là <strong>khả năng DỪNG tạo token mới khi hoàn thành hành động</strong>, đúng với mọi định dạng Agent: JSON, code hay function-calling. Điều này ngăn đầu ra ngoài ý muốn và đảm bảo phản hồi của agent rõ ràng, chính xác.</p> <p data-svelte-h="svelte-w1xqff">LLM (Tìm kiếm và tạo ra câu trả lời) chỉ xử lý văn bản, dùng nó để mô tả hành động muốn thực hiện và tham số cần cung cấp cho công cụ.</p> <h2 class="relative group"><a id="phương-pháp-dừng-và-phân-tích" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#phương-pháp-dừng-và-phân-tích"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Phương pháp Dừng và Phân tích</span></h2> <p data-svelte-h="svelte-713ejx">Một phương pháp chính để triển khai hành động là <strong>phương pháp dừng và phân tích</strong>. Phương pháp này đảm bảo đầu ra của Agent có cấu trúc và dự đoán được:</p> <ol data-svelte-h="svelte-rx3nxw"><li><strong>Tạo đầu ra định dạng cấu trúc</strong>:</li></ol> <p data-svelte-h="svelte-10ucbee">Agent xuất hành động dự định bằng định dạng xác định trước (JSON hoặc code).</p> <ol start="2" data-svelte-h="svelte-4vv7js"><li><strong>Dừng tạo token tiếp theo</strong>:</li></ol> <p data-svelte-h="svelte-d7fy4i">Khi hoàn thành hành động, <strong>Agent dừng tạo token mới</strong> để tránh đầu ra thừa/lỗi.</p> <ol start="3" data-svelte-h="svelte-1jtnqz6"><li><strong>Phân tích đầu ra</strong>:</li></ol> <p data-svelte-h="svelte-1nmf621">Bộ phân tích bên ngoài đọc hành động đã định dạng, xác định Tool cần gọi và trích xuất tham số cần thiết.</p> <p data-svelte-h="svelte-19q99zq">Ví dụ: một Agent cần kiểm tra thời tiết có thể đưa ra quyết định:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class="language-json "><!-- HTML_TAG_START -->Tư duy<span class="hljs-punctuation">:</span> Tôi cần kiểm tra thời tiết hiện tại ở New York.
Hành động<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><!-- HTML_TAG_END --></pre></div> <p data-svelte-h="svelte-15bn77p">Framework sau đó dễ dàng phân tích tên hàm cần gọi và đối số cần áp dụng.</p> <p data-svelte-h="svelte-1p4gope">Định dạng rõ ràng, máy đọc được này giảm thiểu lỗi và giúp công cụ bên ngoài xử lý chính xác lệnh của Agent.</p> <p data-svelte-h="svelte-teqybg">Lưu ý: Function-calling Agent hoạt động tương tự bằng cách cấu trúc mỗi hành động để gọi hàm được chỉ định với đúng đối số.
Chúng ta sẽ tìm hiểu sâu hơn về các loại Agent này trong chương sau.</p> <h2 class="relative group"><a id="code-agent" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#code-agent"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Code Agent</span></h2> <p data-svelte-h="svelte-1fgxfwv">Một cách tiếp cận khác là sử dụng <em>Code Agent</em>.
Ý tưởng: <strong>thay vì xuất object JSON đơn giản</strong>, Code Agent tạo <strong>khối code thực thi được - thường bằng ngôn ngữ cấp cao như Python</strong>.</p> <img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/code-vs-json-actions.png" alt="Code Agents"> <p data-svelte-h="svelte-113wbhy">Cách này có nhiều ưu điểm:</p> <ul data-svelte-h="svelte-17e9g53"><li><strong>Linh hoạt:</strong> Code có thể biểu diễn logic phức tạp như vòng lặp, điều kiện, hàm lồng nhau, linh hoạt hơn JSON.</li> <li><strong>Module và tái sử dụng:</strong> Code tạo ra có thể chứa hàm/module dùng lại cho nhiều hành động/tác vụ.</li> <li><strong>Dễ debug:</strong> Với cú pháp lập trình xác định, lỗi code thường dễ phát hiện và sửa hơn.</li> <li><strong>Tích hợp trực tiếp:</strong> Code Agent tích hợp trực tiếp với thư viện/API bên ngoài, cho phép thao tác phức tạp như xử lý data hay ra quyết định thời gian thực.</li></ul> <p data-svelte-h="svelte-yhstk0">Ví dụ: Code Agent được giao nhiệm vụ lấy thông tin thời tiết có thể tạo đoạn Python sau:</p> <div class="code-block relative "><div class="absolute top-2.5 right-4"><button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5 text-gray-600 " title="code excerpt" type="button"><svg class="" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"></path><path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"></path><rect fill="none" width="32" height="32"></rect></svg> <div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0"><div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="border-left-color: transparent; border-right-color: transparent; "></div> Copied</div></button></div> <pre class="language-python "><!-- HTML_TAG_START --><span class="hljs-comment"># Ví dụ Code Agent: Lấy thông tin thời tiết</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;Không có thông tin thời tiết&quot;</span>)
<span class="hljs-keyword">else</span>:
<span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Lỗi: Không thể lấy dữ liệu thời tiết.&quot;</span>
<span class="hljs-comment"># Thực thi hàm và chuẩn bị câu trả lời cuối</span>
result = get_weather(<span class="hljs-string">&quot;New York&quot;</span>)
final_answer = <span class="hljs-string">f&quot;Thời tiết hiện tại ở New York là: <span class="hljs-subst">{result}</span>&quot;</span>
<span class="hljs-built_in">print</span>(final_answer)<!-- HTML_TAG_END --></pre></div> <p data-svelte-h="svelte-v01ebn">Trong ví dụ này, Code Agent:</p> <ul data-svelte-h="svelte-qhniwj"><li>Lấy data thời tiết <strong>qua gọi API</strong>,</li> <li>Xử lý phản hồi,</li> <li>Dùng hàm print() để xuất câu trả lời cuối.</li></ul> <p data-svelte-h="svelte-1e3guji">Phương pháp này <strong>cũng tuân theo phương pháp dừng và phân tích</strong> bằng cách xác định rõ khối code và báo hiệu khi hoàn thành (ở đây là in final_answer).</p> <hr> <p data-svelte-h="svelte-15179zy">Chúng ta đã học được rằng Hành động kết nối lập luận nội bộ của Agent với tương tác thực tế thông qua thực thi các tác vụ có cấu trúc rõ ràng - dù qua JSON, code hay lệnh gọi hàm.</p> <p data-svelte-h="svelte-60ippb">Việc thực thi có chủ đích này đảm bảo mỗi hành động chính xác và sẵn sàng cho xử lý bên ngoài qua phương pháp dừng và phân tích. Ở phần tiếp theo, ta sẽ khám phá Quan sát để xem Agent thu thập và tích hợp phản hồi từ môi trường thế nào.</p> <p data-svelte-h="svelte-ua3w3w">Sau đó, <strong>chúng ta sẽ sẵn sàng xây dựng Agent đầu tiên của mình!</strong></p> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/agents-course/blob/main/units/vi/unit1/actions.mdx" target="_blank"><svg class="mr-1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" fill="currentColor" focusable="false" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32"><path d="M31,16l-7,7l-1.41-1.41L28.17,16l-5.58-5.59L24,9l7,7z"></path><path d="M1,16l7-7l1.41,1.41L3.83,16l5.58,5.59L8,23l-7-7z"></path><path d="M12.419,25.484L17.639,6.552l1.932,0.518L14.351,26.002z"></path></svg> <span data-svelte-h="svelte-zjs2n5"><span class="underline">Update</span> on GitHub</span></a> <p></p>
<script>
{
__sveltekit_19qo36d = {
assets: "/docs/agents-course/pr_693/vi",
base: "/docs/agents-course/pr_693/vi",
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null];
Promise.all([
import("/docs/agents-course/pr_693/vi/_app/immutable/entry/start.ce52593a.js"),
import("/docs/agents-course/pr_693/vi/_app/immutable/entry/app.c966183c.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 11],
data,
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
23.1 kB
·
Xet hash:
31bddecc05200efbef25878220248d0e3f7043c965634a0f98865909f0ab3670

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.