Buckets:

rtrm's picture
download
raw
13.3 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;사고: AI 에이전트의 내부 추론과 Re-Act 방식&quot;,&quot;local&quot;:&quot;thought-internal-reasoning-and-the-re-act-approach&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Re-Act 방식&quot;,&quot;local&quot;:&quot;the-re-act-approach&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}">
<link href="/docs/agents-course/pr_653/ko/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/entry/start.dd97e363.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/scheduler.cc52f4b9.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/singletons.1bb84135.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/index.5033808a.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/paths.8b47b4c6.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/entry/app.60fadfd5.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/preload-helper.47f5cf13.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/index.1e918bfb.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/nodes/0.93f709bf.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/nodes/18.d7e61b83.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/CopyLLMTxtMenu.9e741ad4.js">
<link rel="modulepreload" href="/docs/agents-course/pr_653/ko/_app/immutable/chunks/MermaidChart.svelte_svelte_type_style_lang.daa0d9e5.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;사고: AI 에이전트의 내부 추론과 Re-Act 방식&quot;,&quot;local&quot;:&quot;thought-internal-reasoning-and-the-re-act-approach&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Re-Act 방식&quot;,&quot;local&quot;:&quot;the-re-act-approach&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="thought-internal-reasoning-and-the-re-act-approach" 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="#thought-internal-reasoning-and-the-re-act-approach"><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>사고: AI 에이전트의 내부 추론과 Re-Act 방식</span></h1> <blockquote class="tip" data-svelte-h="svelte-18a45h1"><p>이 섹션에서는 AI 에이전트의 내면—즉, 추론하고 계획하는 능력을 자세히 살펴봅니다. 에이전트가 내부 대화를 통해 정보를 분석하고, 복잡한 문제를 다루기 쉬운 단계로 나누며, 다음 행동을 결정하는 과정을 탐구합니다. 또한 ‘Re-Act’ 방식이라는 프롬프팅 기법을 소개합니다. 이는 모델이 행동하기 전에 ‘단계적으로 생각’하도록 유도하는 방법입니다.</p></blockquote> <p data-svelte-h="svelte-11hqt39">사고는 <strong>에이전트가 작업을 해결하기 위해 내부적으로 추론하고 계획하는 과정</strong>을 의미합니다.</p> <p data-svelte-h="svelte-1xowaao">이는 에이전트의 대규모 언어 모델(LLM)이 가진 <strong>프롬프트에 제시된 정보를 분석하는 능력</strong>을 활용하는 것입니다.</p> <p data-svelte-h="svelte-z02p5j">마치 에이전트의 머릿속 대화라고 생각하면 됩니다. 주어진 과제를 검토하고 어떻게 접근할지 전략을 세우는 과정이죠.</p> <p data-svelte-h="svelte-t2v2he">에이전트의 사고 과정은 현재 상황을 관찰하고 다음에 취해야 할 행동을 결정하는 역할을 합니다.</p> <p data-svelte-h="svelte-4m4lwb">이를 통해 에이전트는 <strong>복잡한 문제를 더 작고 다루기 쉬운 단계로 분해</strong>하고, 이전 경험을 되돌아보며, 새로운 정보를 바탕으로 계획을 지속적으로 조정합니다.</p> <p data-svelte-h="svelte-blgeoj">다음은 일반적인 사고 유형의 예시입니다:</p> <table data-svelte-h="svelte-1pb3uky"><thead><tr><th>사고 유형</th> <th>예시</th></tr></thead> <tbody><tr><td>계획 수립</td> <td>“이 작업을 세 단계로 나눠야겠다: 1) 데이터 수집, 2) 트렌드 분석, 3) 보고서 작성”</td></tr> <tr><td>분석</td> <td>“오류 메시지를 보니, 문제는 데이터베이스 연결 설정과 관련이 있는 것 같다”</td></tr> <tr><td>의사 결정</td> <td>“사용자의 예산 제약을 고려하면, 중간 가격대 옵션을 추천하는 것이 좋겠다”</td></tr> <tr><td>문제 해결</td> <td>“이 코드를 최적화하려면, 먼저 어디가 병목인지 프로파일링해봐야 한다”</td></tr> <tr><td>기억 활용</td> <td>“사용자가 앞서 파이썬을 선호한다고 했으니, 파이썬 예제를 제공해야겠다”</td></tr> <tr><td>자기 성찰</td> <td>“이전 접근법이 효과적이지 않았으니, 다른 방식을 시도해봐야겠다”</td></tr> <tr><td>목표 설정</td> <td>“이 작업을 완료하려면, 먼저 성공 기준을 명확히 해야 한다”</td></tr> <tr><td>우선순위 결정</td> <td>“새 기능을 추가하기 전에 보안 취약점부터 해결하는 것이 옳다”</td></tr></tbody></table> <blockquote data-svelte-h="svelte-r3rmop"><p><strong>참고:</strong> 함수 호출에 최적화된 LLM의 경우, 사고 과정은 선택적으로 사용할 수 있습니다.
<em>함수 호출에 익숙하지 않다면, 행동(Actions) 섹션에서 더 자세한 내용을 확인할 수 있습니다.</em></p></blockquote> <h2 class="relative group"><a id="the-re-act-approach" 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="#the-re-act-approach"><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>Re-Act 방식</span></h2> <p data-svelte-h="svelte-1qcyct2">핵심 방법론 중 하나는 “추론”(Reasoning)과 “행동”(Acting)을 결합한 <strong>ReAct 방식</strong>입니다.</p> <p data-svelte-h="svelte-uv737i">ReAct는 LLM이 다음 토큰을 생성하기 전에 “단계별로 생각해보자”라는 문구를 추가하는 간단한 프롬프팅 기법입니다.</p> <p data-svelte-h="svelte-ifheqh">모델에게 “단계별로 생각”하도록 지시하면, 바로 최종 해답을 내놓기보다 <strong>계획을 세우는 방향</strong>으로 토큰 생성이 유도됩니다. 이는 모델이 문제를 <em>하위 과제</em><strong>분해</strong>하도록 장려하기 때문입니다.</p> <p data-svelte-h="svelte-1p0pjwl">이렇게 하면 모델이 각 단계를 더 상세히 고려할 수 있어, 일반적으로 최종 해답을 바로 생성하려 할 때보다 오류가 적게 발생합니다.</p> <figure data-svelte-h="svelte-1xz0do8"><img src="https://huggingface.co/datasets/agents-course/course-images/resolve/main/en/unit1/ReAct.png" alt="ReAct"> <figcaption>(d)는 &quot;단계별로 생각해보자&quot;라는 프롬프트를 사용한 Re-Act 방식의 예시입니다</figcaption></figure> <blockquote class="tip" data-svelte-h="svelte-5k5dvb"><p>최근 추론 전략에 대한 관심이 크게 늘고 있습니다. Deepseek R1이나 OpenAI의 o1과 같은 모델들이 바로 이런 흐름을 반영합니다. 이 모델들은 “대답하기 전에 먼저 생각하도록” 특별히 미세 조정되었습니다.</p> <p>이런 모델들은 특정 <em>사고</em> 영역(<code>&lt;think&gt;</code><code>&lt;/think&gt;</code> 특수 토큰 사이에 포함)을 항상 생성하도록 훈련되었습니다. 이는 ReAct처럼 단순한 프롬프팅 기법이 아니라, 우리가 원하는 결과물의 수천 가지 예시를 분석한 후 이런 사고 영역을 생성하는 방법을 학습하는 훈련 방식입니다.</p></blockquote> <hr> <p data-svelte-h="svelte-auazfh">이제 사고 과정에 대해 더 잘 이해했으니, 프로세스의 두 번째 부분인 행동(Act)에 대해 더 자세히 살펴보겠습니다.</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/ko/unit1/thoughts.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_71ttkj = {
assets: "/docs/agents-course/pr_653/ko",
base: "/docs/agents-course/pr_653/ko",
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null];
Promise.all([
import("/docs/agents-course/pr_653/ko/_app/immutable/entry/start.dd97e363.js"),
import("/docs/agents-course/pr_653/ko/_app/immutable/entry/app.60fadfd5.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 18],
data,
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
13.3 kB
·
Xet hash:
57a41e4059ad85d16ba4eb73192b8cfefb1425ad0788078583ea04efb9147580

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