<aside> ๐ฅ
AI Agent์ ๋ด๋ถ์ ์ธ ์๋ ๋ฐฉ์์ธ ์ถ๋ก ํ๊ณ ๊ณํํ๋ ๋ฅ๋ ฅ์ ์์๋ด ๋๋ค.
</aside>
Agent๋ **๋ด๋ฉด์ ๋ํ(internal dialogue)**๋ฅผ ํ์ฉํ์ฌ ์ ๋ณด๋ฅผ ๋ถ์ํ๊ณ , ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ฝ๊ฒ ์ธ๋ถ์ ์ธ ๋จ๊ณ๋ก ์ชผ๊ฐ๋ฉฐ, ๊ทธ ์ดํ์ ์ด๋ค ํ๋(Action)์ ์ทจํ ์ง ์์ฌ๊ฒฐ์ ํฉ๋๋ค. ๋ํ, ๋ชจ๋ธ์ด ํ๋(Action)ํ๊ธฐ ์ ์ โstep by stepโํ๋๋ก ์ ๋ํ๋ ํ๋กฌํํธ ๊ธฐ๋ฒ์ธ Re-Act(Chain of Thought) ์ ๊ทผ ๋ฐฉ์๋ ์๊ฐํฉ๋๋ค.
์ฃผ์ํ ์ ์ ํ๊น
ํ์ด์ค์์๋ ReAct๋ผ๋ ํํ์ ์ฌ์ฉํ๊ธด ํ์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก๋ **CoT(Chain of Thought)**๋ผ๊ณ ํํํฉ๋๋ค. ์ํํ ์ํต์ ์ํด Re-Act๋ผ๋ ํํ ๋์ CoT๋ฅผ ์ฐ๋๋ก ํฉ๋๋ค! (ํ๋ก ํธ์๋ react ํ๋ ์์ํฌ๋ ๊ฒน์ณ์ ๊ฒ์๋ ์ด๋ ต์ต๋๋ค..)
์๊ฐ(Thoughts)๋ task(๋ฌธ์ )๋ฅผ ํ๊ธฐ ์ํด ๋ค์ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค.
์์ฒ๋ผ ์ฌ๊ณ ํ๋ ๊ณผ์ ์ Prompt์ ์ ๊ณต๋ ์ ๋ณด๋ฅผ ๋ถ์ํ ๋ ์ฌ์ฉํ๋ Agent์ LLM ๋ฅ๋ ฅ์ ํ์ฉํ์ฌ ์งํ๋ฉ๋๋ค.
์ด๋ฅผ ์ฌ๋์ฒ๋ผ ํํํด๋ณด๋ฉด Agent์ **๋ด๋ฉด์ ๋ํ(internal dialogue)**๋ก ์๊ฐํด๋ณผ ์ ์์ต๋๋ค. ๋ด๋ฉด์ ๋ํ๋ Agent๊ฐ ํ์ฌ ๊ณผ์ ๋ฅผ ๊ณ ๋ คํ๊ณ ๊ทธ์ ๋ํ ์ ๋ต์ ์ธ์ฐ๋ ๊ณผ์ ์ ๋๋ค.
Agent์ ์๊ฐ(thought)์ ํ์ฌ ํ์ธํ ์ ๋ณด(Observation)๋ฅผ ๋ฐํ์ผ๋ก ๋ค์์ ์ทจํด์ผ ํ ํ๋(Action)์ ๊ฒฐ์ ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฌํ ๊ณผ์ ์ ํตํด Agent๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๋ ์๊ณ ํ๊ธฐ ์ฌ์ด ์์ ๋จ์๋ก ์ชผ๊ฐ๋ฉฐ, ๊ณผ๊ฑฐ ๊ฒฝํ์ ๋ฐ์(reflect)ํ๋ฉฐ, ์๋ก์ด ์ ๋ณด์ ๋ฐ๋ผ ์ง์์ ์ผ๋ก ๊ณํ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
๋ค์์ ์ผ๋ฐ์ ์ธ ์ฌ๊ณ ์ ํ(Thought type)๊ณผ ๊ทธ ์์์ ๋๋ค.
์ฌ๊ณ ์ ํ | ์์ |
---|---|
๊ณํ(Planning) | ์ด ์์ ์ ์ธ ๋จ๊ณ๋ก ๋๋ ์ผ ํด! 1. ๋ฐ์ดํฐ ์์ง 2. ํธ๋ ๋ ๋ถ์ 3. ๋ณด๊ณ ์ ์์ฑ |
๋ถ์(Analysis) | ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ํ๋ผ๋ฏธํฐ์ ๋ฌธ์ ๊ฐ ์๋๊ฑฐ ๊ฐ์! |
์์ฌ๊ฒฐ์ (Decision Making) | ์ฌ์ฉ์์ ์์ฐ ์ ์ฝ์ ๊ณ ๋ คํ ๋, ์ค๊ฐ ๊ฐ๊ฒฉ๋ ์ต์ ์ ์ถ์ฒํด์ผ๊ฒ ์ด! |
๋ฌธ์ ํด๊ฒฐ(Problem Solving) | ์ด ์ฝ๋๋ฅผ ์ต์ ํํ๋ ค๋ฉด ๋จผ์ ๋ณ๋ชฉ ์ง์ ์ ํ์ ํ๊ธฐ ์ํด ํ๋กํ์ผ๋ง์ ํด์ผ ํด. |
๊ธฐ์ต ์ข ํฉ(Memory Integration) | ์ฌ์ฉ์๊ฐ ์ ์ Python์ ์ ํธํ๋ค๊ณ ํ์ผ๋, Python ์์๋ฅผ ์ ๊ณตํด์ผ๊ฒ ๋ค. |
์๊ธฐ ์ฑ์ฐฐ(Self-Reflection) | ์ง๋๋ฒ ์ ๊ทผ ๋ฐฉ์์ ์ ๋์ง ์์์ผ๋, ๋ค๋ฅธ ์ ๋ต์ ์๋ํด์ผ๊ฒ ์ด. |
๋ชฉํ ์ค์ (Goal Setting) | ์ด ์์ ์ ๋๋ด๊ธฐ ์ํด ๋จผ์ ์์ฉ ๊ธฐ์ค์ ์ ํด์ผ ํด. |
์ฐ์ ์์ ๊ฒฐ์ (Prioritization) | ๋ณด์ ์ทจ์ฝ์ ๋ฌธ์ ๋ฅผ ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ๋ณด๋ค ๋จผ์ ํด๊ฒฐํด์ผ ํด. |
๋ง์ฝ, function calling(ํจ์ ํธ์ถ)์ ํนํ๋์ด fine-tuning๋ LLM์ ๊ฒฝ์ฐ ์ด๋ฌํ ์๊ฐ ๊ณผ์ ์ ์ ํ์ฌํญ์ ๋๋ค.
CoT(Chain of Thought) ๋ฐฉ์์ ์๊ฐ(Reasoning)๊ณผ ํ๋(Acting)์ ๊ฒฐํฉ(concatenation)ํ ๋ฐฉ์์ ๋๋ค.
CoT๋ LLM์ด Next Token Prediction์ ํ๊ธฐ ์ง์ ์ โLetโs think step by stepโ
์ด๋ผ๊ณ ํ๋ ํ
์คํธ๋ฅผ ํ๋กฌํํธ์ ์ถ๊ฐํ๋ ์์ฃผ ๊ฐ๋จํ ํ๋กฌํํธ ๊ธฐ๋ฒ์
๋๋ค.
์ค์ ๋ก, ์ค์ ๋ก LLM ๋ชจ๋ธ์๊ฒ โstep by stepโ
๋ผ๊ณ ์ง์(prompting)ํ๋ฉด, ์ต์ข
๋ต๋ณ์ ๋ฐ๋ก ์์ฑํ๋ ๋์ **๊ณํ์ ์ธ์ฐ๋ ๋ฐฉํฅ(generate a plan)**์ผ๋ก Next Token Prediction์ ์ ๋ํ ์ ์์ต๋๋ค. ์ด๋ ๋ฌธ์ ๋ฅผ ์ฌ๋ฌ ํ์ task(sub-tasks)๋ก ๋๋๋๋ก ์ฅ๋ คํ๊ธฐ ๋๋ฌธ์
๋๋ค.
์ด๋ฌํ CoT ๋ฐฉ์์ ํ์ task๋ค์ ๋ณด๋ค ์์ธํ ์๊ฐํด๋ณผ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ์ต์ข ๋ต๋ณ์ ๊ณง๋ฐ๋ก ์์ฑํ๋ ค๋ ๋ฐฉ์๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ์ค๋ฅ๊ฐ ์ ๊ฒ ๋ฐ์ํฉ๋๋ค. ๋จ, ์ ๊ฒฝํ์ ๋ณด๋ฉด task ์์ฒด๊ฐ Reasoning task์ ์ฐ๊ด๋ ๊ฒฝ์ฐ์๋ง ์ฑ๋ฅ์ด ๋ ์ฌ๋์ต๋๋ค.
์ต๊ทผ(2025๋ 3์ 24์ผ)์๋ **์ถ๋ก ์ ๋ต(Reasoning strategy)**์ ๋ํ ๊ด์ฌ์ด ํฌ๊ฒ ์ฆ๊ฐํ๊ณ ์์ต๋๋ค. ์ด๋ Deepseek R1์ด๋ OpenAI์ o1 ๊ฐ์ ๋ชจ๋ธ๋ค์ด ๋ฑ์ฅํ ๋ฐฐ๊ฒฝ์ด๊ธฐ๋ ํฉ๋๋ค. ์ด ๋ชจ๋ธ๋ค์ โthink before answeringโ ๋ฐฉ์์ผ๋ก fine-tuning ๋์์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ธ๋ค์ ํญ์ ํน์ ํ thinking ์น์
์ ํฌํจํ๋๋ก ํ๋ จ๋์ด ์์ต๋๋ค(<think>
์ </think>
special token์ผ๋ก ๊ฐ์ธ์ ธ ์์ต๋๋ค). ์ด๋ ๋จ์ํ CoT์ ๊ฐ์ ํ๋กฌํํธ ๊ธฐ๋ฒ์ด ์๋๋ผ, ๋ชจ๋ธ์ด ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ฐฉ์๋๋ก ์ฌ๊ณ ๊ณผ์ ์ ์์ฑํ๋๋ก ์์ฒ ๊ฐ์ ์์๋ฅผ ํตํด ํ์ตํ ์ผ์ข
์ ํ๋ จ ๋ฐฉ๋ฒ์
๋๋ค.
โฌ ๏ธย ์ด์ ํ์ด์ง
1.6. Understanding AI Agents through the Thought-Action-Observation Cycle
โก๏ธย ๋ค์ ํ์ด์ง
1.8. Actions: Enabling the Agent to Engage with Its Environment
https://huggingface.co/learn/agents-course/en/unit1/thoughts
<aside>
1.4. Messages and Special Tokens
1.6. Understanding AI Agents through the Thought-Action-Observation Cycle
1.7. Thought, Internal Reasoning and the Re-Act Approach
1.8. Actions: Enabling the Agent to Engage with Its Environment
1.9. Observe: Integrating Feedback to Reflect and Adapt
</aside>