# Act 1: Meet Your AI Research Assistant ๐Ÿค– ![lab1](../../../../translated_images/ko/lab1.1dd5210a7d114e2e.webp) ## The Challenge ๋‹น์‹ ์€ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ  ํŒŸ์บ์ŠคํŠธ "Future Bytes"๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. 1ํšŒ ์—ํ”ผ์†Œ๋“œ๋Š” ์ตœ์‹  AI ํ˜์‹ ์— ๊ด€ํ•œ ๋‚ด์šฉ์ธ๋ฐ, 24์‹œ๊ฐ„ ์•ˆ์—: 1. ์ฃผ์ œ ์กฐ์‚ฌํ•˜๊ธฐ 2. ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ์ฒ˜ ์ฐพ๊ธฐ 3. ํฅ๋ฏธ๋กœ์šด ๋Œ€๋ณธ ์ž‘์„ฑํ•˜๊ธฐ 4. ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋“ค๋ฆฌ๋„๋ก ๋งŒ๋“ค๊ธฐ **๋ฐ˜์ „**: ํ˜ผ์ž ํ•  ํ•„์š” ์—†์–ด์š”. ์ง€๊ธˆ๋ถ€ํ„ฐ ์ด ๋ชจ๋“  ๊ฑธ ๋„์™€์ค„ ์ฒซ AI ๋น„์„œ๋ฅผ ๋งŒ๋“ค ๊ฑฐ์˜ˆ์š”. ๊ทธ ์ด๋ฆ„์€ Alex โ€” ์ž  ํ•„์š” ์—†๋Š” ์ง€์น  ์ค„ ๋ชจ๋ฅด๋Š” ์—ฐ๊ตฌ ํŒŒํŠธ๋„ˆ์ž…๋‹ˆ๋‹ค. ## Why Small Language Models? (Spoiler: They're Awesome) Small Language Models(SLM)๋ฅผ ๋‹น์‹  ์ปดํ“จํ„ฐ์— ์‚ฌ๋Š” ๊ฐœ์ธ AI๋ผ๊ณ  ์ƒ๊ฐํ•˜์„ธ์š”. ํด๋ผ์šฐ๋“œ๋„ ์—†๊ณ , ์›”๋ณ„ ์š”๊ธˆ๋„ ์—†์œผ๋ฉฐ, ์ˆ˜์ƒํ•œ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋„ ์—†์–ด์š”. **SLM์ด ๐Ÿ”ฅ์ธ ์ด์œ :** - **๐Ÿ  ๋‚ด ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰**: ๋…ธํŠธ๋ถ, ๋ฐ์Šคํฌํ†ฑ, ์‹ฌ์ง€์–ด ๊ฐ•๋ ฅํ•œ ๋ผ์ฆˆ๋ฒ ๋ฆฌํŒŒ์ด๊นŒ์ง€ - **๐Ÿ’ธ ๋น„์šฉ ์ œ๋กœ**: API ๋น„์šฉ ๊ฐ™์€ ๊ฑด ๊ฑฑ์ •ํ•  ํ•„์š” ์—†์–ด์š” - **๐Ÿ”’ ํ”„๋ผ์ด๋ฒ„์‹œ ์šฐ์„ **: ๋ฐ์ดํ„ฐ๊ฐ€ ์ ˆ๋Œ€ ๊ธฐ๊ธฐ๋ฅผ ๋– ๋‚˜์ง€ ์•Š์•„์š” - **โšก ์ดˆ๊ณ ์† ๋ฐ˜์‘**: ์ธํ„ฐ๋„ท ์ง€์—ฐ ์—†์ด ์ฆ‰๊ฐ ๋‹ต๋ณ€ - **๐Ÿชฆ ๊ฐ€๋ฒผ์›€**: 10์–ต~100์–ต ๊ฐœ ๋งค๊ฐœ๋ณ€์ˆ˜, ๋Œ€ํ˜• ๋ชจ๋ธ 1000์–ต ๊ฐœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋Œ€๋น„ ํ›จ์”ฌ ์ ์Œ **๋Œ€ํ‘œ SLM๋“ค**: Qwen 3, Phi-4, Gemma 3 (์ด๋ฒˆ ์›Œํฌ์ˆ์—์„  Qwen ์‚ฌ์šฉ) ## Your Toolkit ### Ollama: Your AI Model Manager [Ollama](https://ollama.com/)๋Š” AI ๋ชจ๋ธ์˜ ์ŠคํŒ€๊ณผ ๊ฐ™์•„์š”. ๋ชจ๋ธ์„ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์‹คํ–‰, ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **๋ฉ‹์ง„ ์ :** - ํ•œ ๋ช…๋ น์–ด๋กœ ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์‹คํ–‰ - Mac, Windows, Linux ์ง€์› - GPU๊ฐ€ ์žˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ์‚ฌ์šฉ - ๋ฉ”๋ชจ๋ฆฌ ์ดˆ์ ˆ์•ฝ ### Microsoft Agent Framework: Where the Magic Happens [Microsoft Agent Framework](https://github.com/microsoft/agent-framework)๋Š” ๋‹ค์Œ์„ ํ•  ์ˆ˜ ์žˆ๋Š” AI ์—์ด์ „ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๋†€์ดํ„ฐ์ž…๋‹ˆ๋‹ค: - ๐Ÿ’ฌ ๋Œ€ํ™”ํ•˜๊ณ  ๋Œ€ํ™” ๋‚ด์šฉ์„ ๊ธฐ์–ต - ๐Ÿ› ๏ธ ๋งž์ถค ๋„๊ตฌ(์›น ๊ฒ€์ƒ‰, ๋‚ ์”จ ํ™•์ธ ๋“ฑ) ์‚ฌ์šฉ - ๐Ÿง  ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์ƒ๊ฐ - ๐Ÿค ๋‹ค๋ฅธ ์—์ด์ „ํŠธ์™€ ํ˜‘์—… - ๐Ÿ”Œ ๋‹ค์–‘ํ•œ AI ๊ณต๊ธ‰์ž(OpenAI, Ollama, Azure) ์—ฐ๊ฒฐ **๊ตฌ์„ฑ ์š”์†Œ:** - **Agents**: ํŠน์ • ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” AI ๋น„์„œ - **Tools**: ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ ๋ถ€์—ฌ - **Memory**: ๋Œ€ํ™” ๋‚ด์šฉ์„ ์žŠ์ง€ ์•Š๋„๋ก ์ €์žฅ - **Reasoning**: ๋‹จ์ˆœ ๋‹ต๋ณ€์ด ์•„๋‹Œ ์‚ฌ๊ณ  ๊ณผ์ • ํ•™์Šต ## Your Training Montage: 4 Missions ### Mission 1: Create Your First Agent ๐Ÿ““ [Open Notebook](../code/01.BasicAgent/00.BasicAgent-agent.ipynb) **๋ชฉํ‘œ**: ํŒŸ์บ์ŠคํŠธ ๋Œ€๋ณธ ์ž‘๊ฐ€ AI์ธ Alex๋ฅผ ๋งŒ๋“œ์„ธ์š”. Alex๋Š” ๋‘ ์ง„ํ–‰์ž๊ฐ€ ๊ธฐ์ˆ  ์ฃผ์ œ๋กœ ๋Œ€ํ™”ํ•˜๋Š” ๋Œ€๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. **๋ฐฐ์šธ ๊ฒƒ:** - AI ์—์ด์ „ํŠธ๋ฅผ ๊นจ์šฐ๋Š” ๋ฐฉ๋ฒ• (์›”์š”์ผ ์•„์นจ ๊นจ์šฐ๊ธฐ๋ณด๋‹ค ์‰ฌ์›Œ์š”) - ๊ฐœ์„ฑ๊ณผ ์ง€์‹œ์‚ฌํ•ญ ๋ถ€์—ฌ - ์‹ค์ œ ํŒŸ์บ์ŠคํŠธ ๋Œ€๋ณธ ์ƒ์„ฑ - ๋‹ต๋ณ€ ์ดํ•ด **์„ฑ๊ณต ์กฐ๊ฑด**: Alex๊ฐ€ AI์— ๊ด€ํ•œ "Future Bytes" ํŒŒ์ผ๋Ÿฟ ์—ํ”ผ์†Œ๋“œ ๋Œ€๋ณธ ์ƒ์„ฑ ๐ŸŽฏ ### Mission 2: Give Alex Superpowers (Tools!) ๐Ÿ““ [Open Notebook](../code/01.BasicAgent/01.BasicAgent-tools.ipynb) **๋ชฉํ‘œ**: Alex๋Š” ๋˜‘๋˜‘ํ•˜์ง€๋งŒ ์˜ค๋Š˜ ๋‚ ์”จ๋‚˜ ์‹œ๊ฐ„ ๊ฐ™์€ ๊ฑด ๋ชฐ๋ผ์š”. ๋„๊ตฌ๋ฅผ ๋ถ€์—ฌํ•ด ํ•ด๊ฒฐํ•˜์„ธ์š”! **๋ฐฐ์šธ ๊ฒƒ:** - ๋งž์ถค ํŒŒ์ด์ฌ ํ•จ์ˆ˜๋กœ "๋„๊ตฌ" ๋งŒ๋“ค๊ธฐ - Alex๊ฐ€ ์–ธ์ œ ์–ด๋–ค ๋„๊ตฌ๋ฅผ ์“ธ์ง€ ๊ฒฐ์ •ํ•˜๊ฒŒ ํ•˜๊ธฐ - ์ž์œจ์ ์œผ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๋Š” ๋ชจ์Šต ๋ณด๊ธฐ - ์—ฌ๋Ÿฌ ๋„๊ตฌ ๊ฒฐํ•ฉํ•ด ๋ณต์žกํ•œ ์ž‘์—… ์ฒ˜๋ฆฌํ•˜๊ธฐ **์„ฑ๊ณต ์กฐ๊ฑด**: "๋„์ฟ„ ๋‚ ์”จ ์–ด๋•Œ?" ์งˆ๋ฌธ์— Alex๊ฐ€ ์ง์ ‘ ํ•ด๊ฒฐ! โ˜๏ธ ### Mission 3: Teach Alex to Think ๐Ÿ““ [Open Notebook](../code/01.BasicAgent/02.BasicAgent-reasoning.ipynb) **๋ชฉํ‘œ**: Alex๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๋„๋ก ๋งŒ๋“œ์„ธ์š”. ๋‹ต๋งŒ ์•„๋‹ˆ๋ผ ์ƒ๊ฐ ๊ณผ์ •์„ ๋ณด๊ณ  ์‹ถ์–ด์š”. **๋ฐฐ์šธ ๊ฒƒ:** - "์ถ”๋ก  ๋ชจ๋“œ" ํ™œ์„ฑํ™”ํ•˜๊ธฐ (์ˆ˜ํ•™ ํ’€์ด ๋ณด์—ฌ์ฃผ๊ธฐ ๊ฐ™์€ ์›๋ฆฌ) - Alex์˜ ์‚ฌ๊ณ  ๊ณผ์ • ๋‹จ๊ณ„๋ณ„ ํ™•์ธ - ์—ฐ์‡„ ์‚ฌ๊ณ  ์œ ๋„(chain-of-thought) ์ดํ•ด - ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ๋•Œ ๋””๋ฒ„๊น…ํ•˜๊ธฐ **์„ฑ๊ณต ์กฐ๊ฑด**: ๊นŒ๋‹ค๋กœ์šด ์ˆ˜ํ•™ ๋ฌธ์ œ ๋ฌผ์–ด๋ณด๊ณ  Alex๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ๋ชจ์Šต ๋ณด๊ธฐ ๐Ÿง  ### Mission 4: Connect Alex to the Internet ๐Ÿ““ [Open Notebook](../code/01.BasicAgent/03.BasicAgent-websearch.ipynb) **๋ชฉํ‘œ**: Alex ์ง€์‹์€ ์ตœ์‹ ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ์ •๋ณด ์œ„ํ•ด ์›น ์—ฐ๊ฒฐํ•˜์„ธ์š”! **๋ฐฐ์šธ ๊ฒƒ:** - ๋งž์ถคํ˜• ์›น ๊ฒ€์ƒ‰ ๋„๊ตฌ ๋งŒ๋“ค๊ธฐ - ์™ธ๋ถ€ API ํ†ตํ•ฉ - ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜๋ฅผ ์šฐ์•„ํ•˜๊ฒŒ ์ฒ˜๋ฆฌ - Alex ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ๋ฐ– ์ •๋ณด ํš๋“ **์„ฑ๊ณต ์กฐ๊ฑด**: ์˜ค๋Š˜์˜ ๊ธฐ์ˆ  ๋‰ด์Šค๋ฅผ ๋ฌผ์–ด๋ณด๊ณ  ์ตœ์‹  ๊ฒฐ๊ณผ ๋ฐ›๊ธฐ! ๐Ÿ“ฐ ## Before You Start ๐Ÿš€ **ํ•„์š”ํ•œ ๋„๊ตฌ:** - Python 3.10 ์ด์ƒ ์„ค์น˜ - Ollama ์‹คํ–‰ ์ค‘(ํ™•์ธ: `ollama --version`) - Python ํ™•์žฅ ์„ค์น˜๋œ VS Code - ์ตœ์†Œ 8GB RAM (๋ถ€๋“œ๋Ÿฌ์šด ์‚ฌ์šฉ ์›ํ•˜๋ฉด 16GB) ## Mission Order ์ „์ฒด ์Šคํ† ๋ฆฌ๋ฅผ ์œ„ํ•ด ๋…ธํŠธ๋ถ ์ˆœ์„œ๋Œ€๋กœ ๋”ฐ๋ผ๊ฐ€์„ธ์š”: 1. [00.BasicAgent-agent.ipynb](../code/01.BasicAgent/00.BasicAgent-agent.ipynb) โ€” Alex ๋งŒ๋‚˜๊ธฐ (์ฒซ ์—์ด์ „ํŠธ) 2. [01.BasicAgent-tools.ipynb](../code/01.BasicAgent/01.BasicAgent-tools.ipynb) โ€” ๊ธฐ๋Šฅ ๊ฐ•ํ™”ํ•˜๊ธฐ! 3. [02.BasicAgent-reasoning.ipynb](../code/01.BasicAgent/02.BasicAgent-reasoning.ipynb) โ€” Alex์—๊ฒŒ ์‚ฌ๊ณ  ๊ฐ€๋ฅด์น˜๊ธฐ 4. [03.BasicAgent-websearch.ipynb](../code/01.BasicAgent/03.BasicAgent-websearch.ipynb) โ€” ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์™„๋ฃŒ! ## What You'll Master Act 1์ด ๋๋‚˜๋ฉด ๋‹ค์Œ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: - โœ… ์ง์ ‘ ํ•˜๋“œ์›จ์–ด์—์„œ AI ๋ชจ๋ธ ์‹คํ–‰(ํด๋ผ์šฐ๋“œ ํ•„์š” ์—†์Œ!) - โœ… ๋งž์ถค ๊ฐœ์„ฑ ๋ฐ ๋Šฅ๋ ฅ ๊ฐ€์ง„ ์—์ด์ „ํŠธ ์ƒ์„ฑ - โœ… ํ˜„์‹ค ๋ฌธ์ œ ํ•ด๊ฒฐํ•  ๋„๊ตฌ ์ œ๊ณต - โœ… ์—์ด์ „ํŠธ๊ฐ€ ์ถ”๋ก  ๊ณผ์ • ๋ณด์—ฌ์ฃผ๋„๋ก ๋งŒ๋“ค๊ธฐ - โœ… ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์—ฐ๊ฒฐ - โœ… ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ๋””๋ฒ„๊ทธ ## When Things Break (And How to Fix Them) ๐Ÿ”ง ### "Alex๊ฐ€ ์•ˆ ์—ด๋ ค์š”! ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ!" **ํ•ด๊ฒฐ๋ฒ•**: ์ปดํ“จํ„ฐ๊ฐ€ ๋ฒ„๊ฑฐ์›Œํ•˜๊ณ  ์žˆ์–ด์š”. ๋‹ค๋ฅธ ์•ฑ ๋‹ซ๊ฑฐ๋‚˜ ์ž‘์€ ๋ชจ๋ธ๋กœ ๋ฐ”๊ฟ” ๋ณด์„ธ์š”. 8GB RAM์ด ์ตœ์†Œ์ž…๋‹ˆ๋‹ค. ### "Alex ์ง„์งœ ๋А๋ ค์š”" **ํ•ด๊ฒฐ๋ฒ•**: Ollama ์„ค์ •์—์„œ GPU ๊ฐ€์† ํ™œ์„ฑํ™”. ๋˜๋Š” ์ปจํ…์ŠคํŠธ ์ฐฝ ํฌ๊ธฐ ์ค„์ด๊ธฐ. ์†๋„ ์ „์„ค ๋ชจ๋“œ ์ผœ์ง! ๐ŸŽ๏ธ ### "๋„๊ตฌ๋“ค์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•„์š”!" **ํ•ด๊ฒฐ๋ฒ•**: ํ•จ์ˆ˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜์„ธ์š”. Alex๊ฐ€ ๋„๊ตฌ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๋ ค๋ฉด ์ •ํ™•ํ•œ ํƒ€์ž… ํžŒํŠธ๊ฐ€ ํ•„์š”ํ•ด์š”. ๋ช…ํ™•ํ•œ ์ง€์‹œ์‚ฌํ•ญ ์ฃผ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์•„์š”. ## Helpful Links ๐Ÿ”— - [Agent Framework Docs](https://github.com/microsoft/agent-framework) โ€” ๊ณต์‹ ๊ฐ€์ด๋“œ์™€ ์˜ˆ์ œ - [Ollama Model Library](https://ollama.com/library) โ€” ๋ชจ๋“  ๋ชจ๋ธ ํ™•์ธ - [Qwen Model](https://ollama.com/library/qwen3) โ€” AI ๋‘๋‡Œ ๋งŒ๋‚˜๊ธฐ - [Code Examples](https://github.com/microsoft/agent-framework/tree/main/python/samples) โ€” ์•„์ด๋””์–ด ์ฐธ๊ณ  ## Next Up: Act 2 ๐ŸŽฌ ๋‹น์‹ ์—๊ฒ ํ•œ ๋ช…์˜ ์—์ด์ „ํŠธ๊ฐ€ ์žˆ์–ด์š”. ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๋Ÿฌ ๋ช…์ด ํŒ€์œผ๋กœ ํ˜‘๋ ฅํ•˜๋ฉด ์–ด๋–จ๊นŒ์š”? Act 2์—์„œ ํŒŸ์บ์ŠคํŠธ ์ „์ฒด ์ œ์ž‘ ํŒ€์„ ๋งŒ๋“ค ๊ฑฐ์˜ˆ์š”: - **Researcher Agent**: ์ตœ๊ณ ์˜ ์ถœ์ฒ˜ ์ฐพ๊ธฐ - **Writer Agent**: ์™„๋ฒฝํ•œ ๋Œ€๋ณธ ์ž‘์„ฑ - **Editor (๋‹น์‹ !)**: ์Šน์ธํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ • ์š”์ฒญ AI ๋งˆ๋ฒ•์„ ํŽผ์ณ ๋ด…์‹œ๋‹ค! โ†’ [Act 2: Assemble Your Production Team](02.AIAgentOrchestrationAndWorkflows.md) --- **๋ง‰ํžˆ์…จ๋‚˜์š”?** ์›Œํฌ์ˆ ๋™์•ˆ ์งˆ๋ฌธํ•˜์„ธ์š”. ๋ชจ๋‘ ํ•จ๊ป˜ ๋ฐฐ์šฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๐Ÿ™Œ --- **๋ฉด์ฑ… ์กฐํ•ญ**: ์ด ๋ฌธ์„œ๋Š” AI ๋ฒˆ์—ญ ์„œ๋น„์Šค [Co-op Translator](https://github.com/Azure/co-op-translator)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒˆ์—ญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ •ํ™•์„ฑ์„ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์žˆ์œผ๋‚˜, ์ž๋™ ๋ฒˆ์—ญ์—๋Š” ์˜ค๋ฅ˜๋‚˜ ๋ถ€์ •ํ™•์„ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ์œ ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์›๋ฌธ ๋ฌธ์„œ๊ฐ€ ๊ถŒ์œ„ ์žˆ๋Š” ์ถœ์ฒ˜์ž„์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ผ๋ฉฐ, ์ค‘์š”ํ•œ ์ •๋ณด์˜ ๊ฒฝ์šฐ ์ „๋ฌธ์ ์ธ ์ธ๊ฐ„ ๋ฒˆ์—ญ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ๋ฒˆ์—ญ์˜ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์˜คํ•ด ๋˜๋Š” ์ž˜๋ชป๋œ ํ•ด์„์— ๋Œ€ํ•ด ๋‹น์‚ฌ๋Š” ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.