Intro

<aside> ๐Ÿ”ฅ

Agent์˜ ์„ธ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ

  1. LLM
  2. Reasoning & planning
  3. environment

์— ๋Œ€ํ•ด์„œ ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

</aside>

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์–ด๋–ค ์ง‘์‚ฌ์—๊ฒŒ โ€œ์ปคํ”ผ๋ฅผ ํƒ€์™€โ€๋ผ๊ณ  ๋ช…๋ นํ•ด๋ณธ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ง‘์‚ฌ๋Š” ๋‹ค์Œ 3๋‹จ๊ณ„๋กœ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์—ฌ๋Ÿฌ๋ถ„์ด ๋งํ•œ **โ€œ์ปคํ”ผ๋ฅผ ํƒ€์™€โ€๋ผ๋Š” ๋ง์˜ ์˜๋ฏธ๋ฅผ ์ดํ•ด(natural language understanding)**ํ•ฉ๋‹ˆ๋‹ค.

  2. ์ปคํ”ผ๋ฅผ ํƒ€์˜ค๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ๋ฅผ **์ƒ๊ฐ(reasoning)**ํ•˜๊ณ  **๊ณ„ํš(planning)**ํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ์ฃผ๋ฐฉ์— ๊ฐ„๋‹ค. โ†’ ์ปคํ”ผ ๋จธ์‹ ์„ ์ด์šฉํ•œ๋‹ค. โ†’ ์ปคํ”ผ๋ฅผ ๋‚ด๋ฆฐ๋‹ค. โ†’ ์ปคํ”ผ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

  3. ์‹ค์ œ๋กœ ๊ทธ **ํ–‰๋™(Action)**์„ **์ˆ˜ํ–‰(Execute)**ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•˜๋Š” **๋„๊ตฌ(tool)**์€ ์ปคํ”ผ ๋จธ์‹ ์ž…๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ ์ฃผ๋ฐฉ์— ์ปคํ”ผ ๋จธ์‹ ์ด ์žˆ๋Š” **ํ™˜๊ฒฝ(environment)**์ด๋ผ์„œ ์ปคํ”ผ๋ฅผ ํƒ€์˜ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์„œ ์ง‘์‚ฌ๋Š” ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ์ปคํ”ผ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

๋‹น์—ฐํžˆ ์ปคํ”ผ๊ฐ€ ์ข€๋” ๋ง›์žˆ์–ด์ง€๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋„ ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. (์ถœ์ฒ˜ : https://youtu.be/84zkJa9xIVA?si=dEat8hLi3GTaXtrm )

๋‹น์—ฐํžˆ ์ปคํ”ผ๊ฐ€ ์ข€๋” ๋ง›์žˆ์–ด์ง€๊ธฐ ์œ„ํ•œ ๋‹จ๊ณ„๋„ ํฌํ•จ๋˜์–ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค. (์ถœ์ฒ˜ : https://youtu.be/84zkJa9xIVA?si=dEat8hLi3GTaXtrm )

์ด๋Ÿฌํ•œ โ€œ์—…๋ฌด ํ”„๋กœ์„ธ์Šค(workflow)๋ฅผ AI๊ฐ€ ์•Œ์•„์„œ ํ•œ๋‹ค๋Š” ๊ฒƒโ€์ด์•ผ ๋ง๋กœ Agent์˜ ํ•ต์‹ฌ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.

Body

1. Agent๋ž€?

์ข€๋” ๋ช…ํ™•ํ•œ Agent์˜ ์ •์˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Agent๋Š” AI ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ํ™˜๊ฒฝ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ถ”๋ก , ๊ณ„ํš, ๊ทธ๋ฆฌ๊ณ  ํ–‰๋™ ์‹คํ–‰(์ฃผ๋กœ ์™ธ๋ถ€ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋จ)์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ฃผ์–ด์ง„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

An Agent is a system that leverages an AI model to interact with its environment in order to achieve a user-defined objective. It combines reasoning, planning, and the execution of actions (often via external tools) to fulfill tasks.

๊ทธ๋ฆฌ๊ณ  Agent๋Š” 2๊ฐœ์˜ ํ•ต์‹ฌ ํŒŒํŠธ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

  1. ๋‡Œ (AI Model) : AI ๋ชจ๋ธ์€ reasoning๊ณผ planning์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์–ด๋– ํ•œ ์ƒํ™ฉ์—์„œ ์–ด๋–ค action์„ ์ทจํ• ์ง€ ์˜์‚ฌ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ชธ (๋Šฅ๋ ฅ๊ณผ ๋„๊ตฌ) : Agent๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๊ฐ€๋Šฅํ•œ action ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ โ€œ์–ด๋– ํ•œ ๋„๊ตฌ or ๋Šฅ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋ƒโ€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ๋žŒ์€ ๋‚ ๊ฐœ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‚  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๊ฑธ์–ด๋‹ค๋‹ˆ๊ฑฐ๋‚˜ ๋›ฐ์–ด๋‹ค๋‹ˆ๋Š” ๋“ฑ์˜ action์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

2. ๋‡Œ - ์–ด๋–ค AI ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ?

๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ AI ๋ชจ๋ธ์€ LLM ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, OpenAI ์˜ GPT4o๋‚˜ Meta์˜ Llama ๊ฐ™์€ ๋Œ€๊ทœ๋ชจ์˜ text ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•œ ์–ธ์–ด ๋ชจ๋ธ์„ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๋ชธ - ์–ด๋–ป๊ฒŒ ํŠน์ • ํ™˜๊ฒฝ์—์„œ action์„ ์ทจํ• ๊นŒ?

LLM ๋ชจ๋ธ์€ ์ž…๋ ฅ์œผ๋กœ text๋งŒ ๋ฐ›์Šต๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ์—๋Š” ์–ด๋–ป๊ฒŒ ๋„๊ตฌ(tools)๋ฅผ ์ž…๋ ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ •๋‹ต์€ functionality (tools a.k.a. function call)๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Chat-GPT์— ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด๋‹ฌ๋ผ๊ณ  ํ•˜๋ฉด ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ด์ค๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์–ด๋–ค ์™ธ๋ถ€์˜ ํˆด์„ ํ™œ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์—ฌ๋Ÿฌ๋ถ„๋“ค์—๊ฒŒ ๊ทธ ์ด๋ฏธ์ง€๋ฅผ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : Agents Course

์ถœ์ฒ˜ : Agents Course

4. Agent๋Š” ์ฃผ๋กœ ์–ด๋–ค ์ข…๋ฅ˜์˜ task๋ฅผ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?

AI Agent๋Š” tool์„ ํ†ตํ•ด์„œ action์„ ์ˆ˜ํ–‰ํ•˜๋Š” task๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚ด ์ปดํ“จํ„ฐ์—์„œ Siri์™€ ๊ฐ™์€ ๊ฐœ์ธ ๋น„์„œ ์—ญํ• ์„ ํ•˜๋Š” Agent๋ฅผ ๋งŒ๋“ ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. ๋‚ด๊ฐ€ Agent์—๊ฒŒ โ€œ์˜ค๋Š˜ ํšŒ์˜๋ฅผ ์—ฐ๊ธฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋งค๋‹ˆ์ €์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ค˜.โ€ ๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉด, Agent๊ฐ€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” ์—**์ด์ „ํŠธ๊ฐ€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋„๊ตฌ(Tool)**๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ Python ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

def send_message_to(recipient, message):
	"""๋ฐ›๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ"""
	...

์ดํ›„ LLM์€ ํ•„์š”ํ•  ๋•Œ, ์ด ๋„๊ตฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ, ์š”์ฒญ๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

send_message_to("Manager", "Can we postpone today's meeting?")

๋”ฐ๋ผ์„œ ๋„๊ตฌ(tools)๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ์ž‘์—…์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ๊ทธ๊ฒƒ์ด ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์ด ๋งค์šฐ ํฝ๋‹ˆ๋‹ค.

๋ช‡๋ช‡ task๋“ค์€ ์›น ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ๋ฒ”์šฉ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์ผ๋ถ€ ์ž‘์—…๋“ค์€ ํŠน์ • ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Action์€ tool๊ณผ ๋งค์นญ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์•ก์…˜์€ ์—ฌ๋Ÿฌ ํˆด๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Note thatย Actions are not the same as Tools. An Action, for instance, can involve the use of multiple Tools to complete.

Agent๊ฐ€ ํ™˜๊ฒฝ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค๋ฉด ๊ธฐ์—…๊ณผ ๊ฐœ์ธ์ด ์‹ค์ œ ์ƒํ™œ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ ๋น„์„œ, ๊ณ ๊ฐ ์‘๋Œ€ ์ฑ—๋ด‡, ๊ฒŒ์ž„ ๋‚ด์—์„œ NPC ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Conclusion

์š”์•ฝํ•˜์ž๋ฉด, Agent๋Š” AI ๋ชจ๋ธ์„ ํ•ต์‹ฌ reasoning ์—”์ง„์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. AI ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ž์—ฐ์–ด ์ดํ•ด (Understanding natural language) : ์‚ฌ๋žŒ์˜ ๋ช…๋ น(instruction)์„ ํ•ด์„ํ•˜๊ณ  ์‘๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด ์ดํ•ด ๋Šฅ๋ ฅ
  2. ์ถ”๋ก  ๋ฐ ๊ณ„ํš (Reason and plan) : ์ •๋ณด๋ฅผ ๋ถ„์„ํ•˜๊ณ , ์˜์‚ฌ๊ฒฐ์ •์„ ํ•˜๊ณ  ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์ „๋žต ์ˆ˜๋ฆฝ
  3. ํ™˜๊ฒฝ๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ (Interact with its environment) : ์ •๋ณด๋ฅผ ๋ชจ์œผ๊ณ , action์„ ํ•˜๊ณ , ์ด๋Ÿฌํ•œ action์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋กœ https://huggingface.co/learn/agents-course/unit1/quiz1์— ๋“ค์–ด๊ฐ€์„œ Quiz๋ฅผ ํ’€์–ด๋ณด๋Š” ๊ฒƒ๋„ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์œ„์˜ ๋‚ด์šฉ์„ ์ดํ•ดํ•˜์…จ๋‹ค๋ฉด 3๋ถ„๋„ ์•ˆ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค!


โฌ…๏ธย ์ด์ „ ํŽ˜์ด์ง€

1.1. Introduction

โžก๏ธย ๋‹ค์Œ ํŽ˜์ด์ง€

1.3. What are LLMs?

Reference

https://huggingface.co/learn/agents-course/en/unit1/what-are-agents

https://youtu.be/84zkJa9xIVA?si=dEat8hLi3GTaXtrm

<aside>

Topics

1. Introduction to Agents

1.1. Introduction

1.2. What is Agent?

1.3. What are LLMs?

1.4. Messages and Special Tokens

1.5. What are Tools?

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>