diff --git a/README.md b/README.md index 1e1e335..75d3ac4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,2 @@ # easycopilotlab Copilot Studio for non-developers — Learn to build your first AI agent without coding. - -A diff --git a/docs/m00-orientation.md b/docs/m00-orientation.md index 8eea162..c310180 100644 --- a/docs/m00-orientation.md +++ b/docs/m00-orientation.md @@ -1,95 +1,95 @@ --- -title: "M0. 오리엔테이션" +title: "M0. Orientation" nav_order: 1 --- -# 오리엔테이션 — 오늘 만들 에이전트 미리보기 +# Orientation — Preview the Agent You'll Build Today {: .no_toc } -| 시간 | 소요 | 수강생 역할 | +| Time | Duration | Participant Role | |:-----|:-----|:-----------| -| 09:30 | 10분 | 👀 보기 | +| 09:30 | 10 min | 👀 Watch | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M0 오리엔테이션 — AI 신입사원의 첫 출근](../assets/images/m00/hero.png) +![M0 Orientation — Your AI new employee's first day at work](../assets/images/m00/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- 오늘 하루 동안 만들 **HR/총무 에이전트의 완성된 모습** 확인 -- "코딩 없이 만들 수 있다"는 사실을 **눈으로 확인** -- 오늘 과정의 **전체 흐름** 파악 +- See the **finished version** of the HR/Admin agent you'll build today +- **See for yourself** that it can be built without any code +- Understand the **overall flow** of today's course {: .highlight } -> 오늘 오후가 끝나면, 여러분의 PC에 **AI 직원**이 한 명 생깁니다. 코드 한 줄 없이요. +> By the end of today, you'll have an **AI employee** on your PC. Without writing a single line of code. --- -## 이런 질문, 하루에 몇 번 받으세요? +## How Many Times a Day Do You Get These Questions? -- "연차 며칠 남았어요?" -- "경비처리 누구한테 하면 돼요?" -- "복지포인트 어디서 써요?" +- "How many vacation days do I have left?" +- "Who do I contact for expense claims?" +- "Where can I use my benefits points?" -하루 5번이면, 일주일 25번, 한 달이면 100번입니다. +Five times a day means 25 times a week, and 100 times a month. -오늘 만들 에이전트가 이 **100번을 대신 답해줍니다.** +The agent you'll build today will **answer all 100 of those for you.** --- -## 완성된 에이전트가 하는 일 5가지 +## 5 Things the Finished Agent Can Do -오늘 과정이 끝나면 아래 5가지를 모두 할 수 있는 에이전트를 갖게 됩니다. +By the end of today's course, you'll have an agent that can do all five of the following. -### 1. FAQ 자동 답변 +### 1. Automatic FAQ Responses -"연차 며칠이나 남았어요?" 같은 질문에 **업로드한 문서(교과서)를 기반으로** 자동 답변합니다. 출처도 함께 표시됩니다. +For questions like "How many vacation days do I have left?", the agent **answers automatically based on the uploaded documents (textbooks)**. Sources are displayed alongside the answer. -### 2. 담당자 조회 +### 2. Contact Person Lookup -"경비처리 담당자 누구예요?" → 업로드한 담당자 문서에서 **이름·연락처·이메일**을 즉시 찾아줍니다. +"Who handles expense claims?" → The agent instantly finds the **name, phone number, and email** from the uploaded contact document. -### 3. 복리후생 안내 +### 3. Employee Benefits Guide -"복지포인트 사용처 알려줘" → 여러 문서를 **동시에 참조**해서 답합니다. -교과서를 여러 권 들고 있는 신입사원인 셈입니다. +"Where can I use my benefits points?" → The agent **references multiple documents simultaneously** to answer. +Think of it as a new employee carrying several textbooks at once. -### 4. 메일로 문의 전달 +### 4. Forward Inquiries via Email -"담당자한테 직접 문의하고 싶어요" → 에이전트가 담당자 메일 주소를 확인하고, 문의 내용을 정리해서 **이메일(편지봉투)**로 자동 전달합니다. +"I want to contact the person in charge directly." → The agent looks up the contact's email address, compiles the inquiry, and **automatically sends it via email (envelope)**. -### 5. 대화기록 자동 저장 +### 5. Auto-Save Conversation Logs -누가, 언제, 뭘 물어봤는지 **Excel에 자동 기록**됩니다. -관리자 입장에서 에이전트 활용 현황을 한눈에 볼 수 있습니다. +Who asked what, and when — it's all **automatically logged in Excel**. +From an admin's perspective, you can see agent usage at a glance. --- -## 오늘의 여정 한눈에 보기 +## Today's Journey at a Glance -| 단계 | 내용 | 모듈 | +| Step | What You'll Do | Module | |:-----|:-----|:-----| -| ① 원리 이해 | Copilot의 작동 원리와 사용 방식 | M1 ~ M2 | -| ② 에이전트 생성 | 30초 만에 첫 에이전트 만들기 | M3 | -| ③ 구성요소 + 행동매뉴얼 + 교과서 | 프레임 이해 + 지침 작성 + 지식 연결 | M4 ~ M7 | -| ④ 도구 개념 + 대본 작성 | 도구 원리 + Topic과 변수로 똑똑하게 | M8 ~ M9 | -| ⑤ 게시 + 공유 | Copilot에서 에이전트 사용 준비 | M10 | -| ⑥ 손발 달기 | 커넥터 + 에이전트 흐름으로 행동 추가 | M11 ~ M12 | -| ⑦ 고급 도구 | AI 프롬프트 · 멀티에이전트 · MCP · 트리거 | M13 ~ M16 | +| ① Understand the Principles | How Copilot works and how to use it | M1 – M2 | +| ② Create an Agent | Build your first agent in 30 seconds | M3 | +| ③ Components + Behavior Manual + Textbook | Understand the framework + Write instructions + Connect knowledge | M4 – M7 | +| ④ Tool Concepts + Script Writing | Tool principles + Get smart with Topics and variables | M8 – M9 | +| ⑤ Publish + Share | Get your agent ready to use in Copilot | M10 | +| ⑥ Add Hands and Feet | Add actions with connectors + agent flows | M11 – M12 | +| ⑦ Advanced Tools | AI Prompts · Multi-Agent · MCP · Triggers | M13 – M16 | --- -## 핵심 정리 +## Key Takeaway {: .important } -> **행동매뉴얼 하나로, 오늘 우리 팀에 AI 신입이 생깁니다.** +> **With just one behavior manual, your team gets an AI new employee today.** --- -다음 모듈: [M1. 코파일럿 동작원리](m01-copilot-principles) +Next module: [M1. How Copilot Works](m01-copilot-principles) diff --git a/docs/m01-copilot-principles.md b/docs/m01-copilot-principles.md index 06b5735..a020744 100644 --- a/docs/m01-copilot-principles.md +++ b/docs/m01-copilot-principles.md @@ -1,163 +1,163 @@ --- -title: "M1. 코파일럿 동작원리" +title: "M1. How Copilot Works" nav_order: 2 --- -# 코파일럿과 에이전트의 동작원리 — 당신은 AI와 대화하고 있지 않다 +# How Copilot and Agents Work — You're Not Talking Directly to AI {: .no_toc } -| 시간 | 소요 | 수강생 역할 | +| Time | Duration | Participant Role | |:-----|:-----|:-----------| -| 09:40 | 10분 | 👀 보기 | +| 09:40 | 10 min | 👀 Watch | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M1 동작원리 — 당신은 AI와 대화하고 있지 않다](../assets/images/m01/hero.png) +![M1 How It Works — You're not talking directly to AI](../assets/images/m01/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- 우리가 AI와 직접 대화한다는 것은 **착각**이라는 사실 -- 인간과 LLM 사이에서 대화를 **중개하는 오케스트레이터**가 진짜 핵심이라는 점 -- 오케스트레이터가 **시스템 프롬프트**와 **도구**를 통해 AI의 행동을 결정하는 원리 -- Copilot의 오케스트레이터가 답변을 위해 **동원하는 수단들** +- The fact that talking directly to AI is actually a **misconception** +- That the **orchestrator — a mediator between you and the LLM** — is the real key player +- How the orchestrator determines AI behavior through **system prompts** and **tools** +- The **resources Copilot's orchestrator mobilizes** to generate answers --- -## 당신은 AI와 대화하고 있지 않다 +## You're Not Talking Directly to AI -ChatGPT에 질문을 입력하면, AI에게 직접 말하는 것 같습니다. -하지만 **아닙니다.** +When you type a question into ChatGPT, it feels like you're speaking directly to AI. +But **you're not.** -여러분과 LLM(대형 언어 모델) 사이에는 보이지 않는 **중개자**가 있습니다. -이 중개자가 **오케스트레이터**입니다. +Between you and the LLM (Large Language Model), there's an invisible **mediator**. +That mediator is the **orchestrator**. {: .warning } -> 우리가 사용하는 거의 모든 AI 챗봇 — ChatGPT, Copilot, Gemini, Claude — 에는 오케스트레이터가 있습니다. AI가 혼자 대답하는 서비스는 사실상 없습니다. +> Nearly every AI chatbot we use — ChatGPT, Copilot, Gemini, Claude — has an orchestrator. There's virtually no service where AI answers entirely on its own. --- -## 오케스트레이터가 하는 일 +## What the Orchestrator Does -오케스트레이터는 단순한 중계기가 아닙니다. -**판단하고, 수집하고, 가공하고, 행동하는 주체**입니다. +The orchestrator is not a simple relay. +It's the entity that **judges, gathers, processes, and takes action**. -![오케스트레이터 구조 — 사용자와 LLM 사이에서 판단하고 행동하는 중개자](../assets/images/m01/orchestrator-flow.png) +![Orchestrator architecture — A mediator that judges and acts between the user and the LLM](../assets/images/m01/orchestrator-flow.png) -오케스트레이터가 하는 일을 세 가지로 정리하면: +Here's what the orchestrator does, in three parts: -### 1. 성격을 부여한다 — 시스템 프롬프트 +### 1. It Assigns a Personality — The System Prompt -오케스트레이터는 LLM에게 질문을 넘기기 **전에**, 시스템 프롬프트를 먼저 설정합니다. +The orchestrator sets the system prompt **before** passing the question to the LLM. -> "너는 Microsoft 365 Copilot이다. 사용자의 업무를 돕는 것이 목적이다. 정치적 의견은 말하지 마라. 답변은 한국어로 하라." +> "You are Microsoft 365 Copilot. Your purpose is to assist users with their work. Do not express political opinions. Respond in the user's language." -이 시스템 프롬프트가 AI의 **목적, 태도, 제약**을 결정합니다. -같은 GPT-5 모델이라도, 시스템 프롬프트가 다르면 전혀 다른 AI처럼 동작합니다. +This system prompt determines the AI's **purpose, attitude, and constraints**. +Even with the same GPT-5 model, a different system prompt makes the AI behave like a completely different assistant. -| 서비스 | 같은 LLM | 시스템 프롬프트 | 결과 | +| Service | Same LLM | System Prompt | Result | |:-------|:---------|:------------|:-----| -| ChatGPT | GPT-5 | "범용 AI 어시스턴트" | 무엇이든 대답하는 만능 비서 | -| Copilot | GPT-5 | "M365 업무 도우미, 회사 데이터 참조" | 내 이메일·파일을 아는 업무 도우미 | -| **우리가 만들 에이전트** | GPT-5 | **"HR 전문 도우미, 사내 규정 참조"** | **HR 질문만 답하는 전문가** | +| ChatGPT | GPT-5 | "General-purpose AI assistant" | An all-purpose assistant that answers anything | +| Copilot | GPT-5 | "M365 work assistant, references company data" | A work assistant that knows my emails and files | +| **Our Agent** | GPT-5 | **"HR specialist, references company policies"** | **An expert that only answers HR questions** | {: .highlight } -> 오늘 오후 실습에서 여러분이 작성할 **지침(Instructions)**이 바로 이 시스템 프롬프트입니다. +> The **instructions** you'll write during this afternoon's lab are exactly this system prompt. -### 2. 수단을 동원한다 — 도구 호출 +### 2. It Mobilizes Resources — Tool Calls -오케스트레이터는 질문에 답하기 위해 **할 수 있는 모든 수단을 동원**합니다. +The orchestrator **uses every resource available** to answer a question. -| 상황 | 오케스트레이터가 하는 일 | +| Situation | What the Orchestrator Does | |:-----|:---------------------| -| 사용자가 파일을 첨부했다 | 📎 파일 내용을 읽어서 LLM에 전달 | -| "오늘 환율 알려줘" | 🔍 Bing 검색으로 최신 환율을 가져온 뒤 LLM에 전달 | -| "이 데이터로 그래프 그려줘" | 🐍 Python 코드를 작성·실행하여 차트 생성 | -| "이 내용을 그림으로 만들어줘" | 🎨 DALL-E로 이미지를 생성 | -| "지난주 팀 회의 내용 정리해줘" | 📧 Teams 대화 기록을 검색하여 LLM에 전달 | -| 이전 대화에서 선호도를 말했다 | 💬 대화 기록에서 사용자 선호를 추출하여 반영 | +| User attached a file | 📎 Reads the file content and passes it to the LLM | +| "What's the exchange rate today?" | 🔍 Fetches the latest rate via Bing search, then passes it to the LLM | +| "Draw a chart from this data" | 🐍 Writes and executes Python code to generate the chart | +| "Turn this into an image" | 🎨 Generates an image with DALL-E | +| "Summarize last week's team meeting" | 📧 Searches Teams conversation history and passes it to the LLM | +| User mentioned preferences earlier | 💬 Extracts user preferences from conversation history and applies them | -이 중 어느 것도 LLM이 스스로 하는 일이 아닙니다. -**모두 오케스트레이터가 판단하고 실행하는 일**입니다. +None of these are things the LLM does on its own. +**They are all judged and executed by the orchestrator.** {: .tip } -> LLM은 텍스트를 생성하는 엔진일 뿐입니다. 인터넷을 검색하거나, 파일을 읽거나, 코드를 실행하는 것은 **오케스트레이터의 판단 아래 도구가 수행하는 것**입니다. +> The LLM is just a text generation engine. Searching the web, reading files, or running code is **performed by tools under the orchestrator's direction**. -### 3. 맥락을 관리한다 — 대화 기록과 사용자 정보 +### 3. It Manages Context — Conversation History and User Information -오케스트레이터는 한 번의 질문만 보는 것이 아닙니다. +The orchestrator doesn't just look at a single question. -- **이전 대화 기록**을 기억하여 "아까 그 파일"이라고 하면 무슨 파일인지 파악 -- 사용자가 선호하는 **언어, 호칭, 답변 스타일**을 대화에서 추출하여 반영 -- 필요하면 **사용자에게 되물어서** 모호한 질문을 명확히 함 +- It **remembers previous conversation history**, so when you say "that file from earlier," it knows which file you mean +- It extracts the user's preferred **language, form of address, and response style** from the conversation and applies them +- When needed, it **asks clarifying questions** to resolve ambiguous queries --- -## 같은 LLM, 다른 오케스트레이터, 다른 결과 +## Same LLM, Different Orchestrator, Different Results -이 원리를 이해하면, ChatGPT와 Copilot이 왜 다른지 명확해집니다. +Once you understand this principle, it becomes clear why ChatGPT and Copilot behave differently. -![같은 LLM, 다른 오케스트레이터 — ChatGPT vs Copilot vs 우리 에이전트](../assets/images/m01/orchestrator-compare.png) +![Same LLM, different orchestrators — ChatGPT vs Copilot vs Our Agent](../assets/images/m01/orchestrator-compare.png) -세 서비스 모두 **같은 GPT-5**를 사용할 수 있습니다. -하지만 결과가 다른 이유는 **오케스트레이터가 다르기 때문**입니다. +All three services can use the **same GPT-5**. +But the results differ because **the orchestrators are different**. -| 비교 | ChatGPT | Copilot | 우리가 만들 에이전트 | +| Comparison | ChatGPT | Copilot | Our Agent | |:-----|:--------|:--------|:-----------------| -| **시스템 프롬프트** | 범용 어시스턴트 | M365 업무 도우미 | HR 전문 도우미 | -| **접근 가능한 데이터** | 없음 (사용자가 직접 제공) | 이메일, 파일, 일정, Teams | 사내 규정 문서, Excel, 커넥터 | -| **사용 가능한 도구** | 웹검색, 코드실행, 이미지생성 | + M365 Graph API | + 토픽, 커넥터, 에이전트 흐름 | -| **결과** | 일반적인 답변 | 내 업무 맥락이 반영된 답변 | **우리 회사 HR 규정에 맞는 답변** | +| **System Prompt** | General assistant | M365 work assistant | HR specialist | +| **Accessible Data** | None (user provides it) | Email, files, calendar, Teams | Company policy docs, Excel, connectors | +| **Available Tools** | Web search, code execution, image generation | + M365 Graph API | + Topics, connectors, agent flows | +| **Result** | Generic answers | Answers with my work context | **Answers aligned with our company's HR policies** | --- -## 오늘 우리가 하는 일의 본질 +## The Essence of What We're Doing Today -오늘 하루 동안 우리가 하는 것은 결국 이것입니다: +Everything we do today boils down to this: -> **우리만의 오케스트레이터를 설계하는 것** +> **Designing our own orchestrator** -| 오케스트레이터 구성요소 | 오늘 실습에서 하는 일 | 모듈 | +| Orchestrator Component | What We'll Do in the Lab | Module | |:---------------------|:-------------------|:-----| -| 시스템 프롬프트 (성격) | **지침** 작성 | M6 | -| 참조 데이터 (지식) | **지식 소스** 연결 | M7 | -| 도구 (행동 수단) | **토픽, 커넥터, 흐름** 연결 | M8~M16 | -| 판단 엔진 (두뇌) | **오케스트레이터 설정** | M5 | +| System Prompt (personality) | Write **instructions** | M6 | +| Reference Data (knowledge) | Connect **knowledge sources** | M7 | +| Tools (action capabilities) | Connect **Topics, connectors, flows** | M8–M16 | +| Decision Engine (brain) | Configure the **orchestrator settings** | M5 | --- -## 핵심 정리 +## Key Takeaways -1. 우리는 AI와 직접 대화하지 않는다 — **오케스트레이터가 중개**한다 -2. 오케스트레이터가 **시스템 프롬프트**로 AI의 성격과 제약을 결정한다 -3. 오케스트레이터가 **모든 수단을 동원**하여 답변을 만든다 — 파일 읽기, 웹 검색, 코드 실행, 이미지 생성 모두 오케스트레이터의 판단 -4. 같은 LLM이라도 **오케스트레이터가 다르면 전혀 다른 결과**가 나온다 -5. 오늘 우리가 하는 일은 **우리만의 오케스트레이터를 설계하는 것**이다 +1. We don't talk directly to AI — the **orchestrator mediates** +2. The orchestrator determines the AI's personality and constraints via the **system prompt** +3. The orchestrator **mobilizes every resource** to generate answers — file reading, web search, code execution, and image generation are all orchestrator decisions +4. Even with the same LLM, **a different orchestrator produces entirely different results** +5. What we're doing today is **designing our own orchestrator** --- ## FAQ -| 질문 | 답변 | +| Question | Answer | |:-----|:-----| -| ChatGPT와 Copilot의 가장 큰 차이는? | LLM이 아니라 **오케스트레이터**가 다릅니다. Copilot은 M365 데이터에 접근하는 오케스트레이터를 가지고 있습니다. | -| AI가 거짓말(할루시네이션)을 하면? | LLM은 본질적으로 "그럴듯한 다음 단어"를 생성합니다. 이를 줄이는 것이 오케스트레이터의 역할이며, **지식 소스 연결**과 **지침 설정**이 핵심 수단입니다. | -| 왜 에이전트를 따로 만들어야 하나요? | Copilot은 범용 오케스트레이터입니다. 우리 회사 HR 규정을 모릅니다. **특화된 오케스트레이터**를 만들어야 정확한 답변이 나옵니다. | +| What's the biggest difference between ChatGPT and Copilot? | It's not the LLM — it's the **orchestrator**. Copilot has an orchestrator that accesses M365 data. | +| What if the AI hallucinates? | LLMs inherently generate "the most plausible next word." Reducing hallucinations is the orchestrator's job, and the key tools are **connecting knowledge sources** and **configuring instructions**. | +| Why do we need to build a separate agent? | Copilot is a general-purpose orchestrator. It doesn't know our company's HR policies. We need to build a **specialized orchestrator** to get accurate answers. | --- -## 참조 자료 +## Reference Materials -| 자료 | 링크 | +| Resource | Link | |:-----|:-----| -| Microsoft Copilot 공식 문서 | [learn.microsoft.com/copilot](https://learn.microsoft.com/copilot/) | -| Copilot Studio 시작하기 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/fundamentals-get-started) | +| Microsoft Copilot Official Docs | [learn.microsoft.com/copilot](https://learn.microsoft.com/copilot/) | +| Getting Started with Copilot Studio | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/fundamentals-get-started) | --- -다음 모듈: [M2. 에이전트의 사용방식](m02-immersive-incontext) +Next module: [M2. Agent Usage](m02-immersive-incontext) diff --git a/docs/m02-immersive-incontext.md b/docs/m02-immersive-incontext.md index 5ca2618..d211953 100644 --- a/docs/m02-immersive-incontext.md +++ b/docs/m02-immersive-incontext.md @@ -1,147 +1,147 @@ --- -title: "M2. 에이전트의 사용방식" +title: "M2. Agent Usage" nav_order: 3 --- -# 에이전트 활용 — 몰입형 vs 인컨텍스트 +# Agent Usage — Immersive vs In-Context {: .no_toc } -| 시간 | 소요 | 수강생 역할 | +| Time | Duration | Participant Role | |:-----|:-----|:-----------| -| 09:50 | 15분 | 👀 보기 | +| 09:50 | 15 min | 👀 Watch | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M2 몰입형 vs 인컨텍스트 — 전용 창구와 옆자리 동료](../assets/images/m02/hero.png) +![M2 Immersive vs In-Context — A dedicated counter vs the colleague next to you](../assets/images/m02/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **몰입형**(전용 채널)과 **인컨텍스트**(@호출)의 차이 -- 내 업무에 어떤 방식이 적합한지 판단 -- 한 에이전트로 두 가지 방식 모두 사용 가능하다는 점 +- The difference between **immersive** (dedicated channel) and **in-context** (@mention) +- How to determine which approach suits your workflow +- That a single agent supports both usage modes --- -## 두 가지 사용 방식 +## Two Ways to Use an Agent -에이전트를 만든 후 사용하는 방식은 크게 **두 가지**입니다. +After building an agent, there are two main ways to use it. -| 구분 | 몰입형 | 인컨텍스트 | +| Category | Immersive | In-Context | |:-----|:------|:---------| -| **비유** | 전용 창구 | 옆자리 동료 | -| **사용 상황** | 에이전트에 집중해서 대화할 때 | 다른 업무 중 잠깐 물어볼 때 | -| **진입점** | Copilot에서 에이전트 이름 클릭 → 전용 화면 | Copilot 채팅에서 `@에이전트` 호출 | -| **장점** | 집중 대화, 전용 UI, 에이전트 전체 기능 사용 | 흐름 유지, 빠른 호출 | -| **적합 상황** | 신규 입사자 온보딩, 고객 상담 | 업무 중 빠른 조회 | +| **Analogy** | A dedicated service counter | The colleague sitting next to you | +| **When to use** | When you want to focus on a conversation with the agent | When you need a quick answer while doing other work | +| **Entry point** | Click the agent name in Copilot → opens a dedicated screen | Type `@AgentName` in Copilot chat | +| **Advantage** | Focused conversation, dedicated UI, full agent capabilities | Maintains workflow, quick access | +| **Best for** | New employee onboarding, customer support | Quick lookups during work | -![에이전트 사용 방식 — 몰입형 vs 인컨텍스트](../assets/images/m02/immersive-vs-incontext.png) +![Agent usage — Immersive vs In-Context](../assets/images/m02/immersive-vs-incontext.png) --- -## 몰입형 — 전용 창구 +## Immersive — The Dedicated Counter -Copilot에서 에이전트 이름을 클릭하면 **에이전트 전용 화면**으로 전환됩니다. -에이전트와 1:1로 대화하는 전용 공간입니다. +When you click an agent name in Copilot, the screen switches to a **dedicated agent view**. +It's a dedicated space for a 1:1 conversation with the agent. -**진입 방법:** -1. M365 Copilot (copilot.microsoft.com 또는 Teams Copilot) 접속 -2. 에이전트 목록에서 **에이전트 이름 클릭** -3. 에이전트 전용 화면이 열림 → 바로 대화 시작 +**How to access:** +1. Open M365 Copilot (copilot.microsoft.com or Teams Copilot) +2. **Click the agent name** in the agent list +3. The dedicated agent screen opens → start chatting right away -**이럴 때 적합합니다:** -- 여러 개의 질문을 연속으로 하고 싶을 때 -- 에이전트와 깊이 있는 대화가 필요할 때 -- 에이전트의 전체 기능(지식 검색, Flow 연동 등)을 활용할 때 -- 신입사원 온보딩처럼 정보가 많은 상황 +**Best for these scenarios:** +- When you have multiple questions in a row +- When you need an in-depth conversation with the agent +- When you want to use the agent's full capabilities (knowledge search, Flow integration, etc.) +- Information-heavy situations like new employee onboarding -![몰입형 사용](../assets/images/m02/immersive.png) +![Immersive usage](../assets/images/m02/immersive.png) --- -## 인컨텍스트 — @호출 +## In-Context — @Mention -Copilot 채팅에서 `@에이전트이름`으로 호출합니다. -핵심은 **하나의 대화 안에서 여러 에이전트를 번갈아 부를 수 있다**는 것입니다. +In Copilot chat, you call the agent with `@AgentName`. +The key point is that **you can call multiple agents back and forth within a single conversation**. -### 기본 사용법 +### Basic Usage ``` -@HR도우미 복지포인트 사용처 알려줘 +@HRHelper Where can I use my benefits points? ``` -이렇게 한 줄로 질문과 응답이 끝납니다. +A one-line question and response — that's it. -### 실전 워크플로 — 여러 에이전트 협업 +### Real-World Workflow — Multi-Agent Collaboration -인컨텍스트의 진짜 힘은 **하나의 대화 흐름 안에서 여러 에이전트를 조합**하는 것입니다. +The real power of in-context is **combining multiple agents within a single conversation flow**. -아래는 고객사 미팅 준비를 하는 실전 예시입니다: +Here's a real-world example of preparing for a client meeting: -![인컨텍스트 실전 워크플로 — 여러 에이전트를 하나의 대화에서 조합](../assets/images/m02/incontext-workflow.png) +![In-context real-world workflow — combining multiple agents in a single conversation](../assets/images/m02/incontext-workflow.png) -| 단계 | 누구와 대화 | 하는 일 | +| Step | Who You Talk To | What Happens | |:-----|:-----------|:--------| -| ① | **Copilot** (일반) | "내일 A사 미팅 준비해야 해" — 대화 시작 | -| ② | **@영업지원** 에이전트 | A사 최근 영업 히스토리·계약 정보 조회 | -| ③ | **Copilot** (일반) | 영업지원 컨텍스트 해제, 일반 대화로 복귀 | -| ④ | **@리서치** 도구 | A사가 속한 산업 분야의 최신 트렌드 검색 | -| ⑤ | **Copilot** (일반) | 리서치 컨텍스트 해제, 일반 대화로 복귀 | -| ⑥ | **Copilot** (일반) | "지금까지 대화 내용 종합해서 미팅 브리핑 정리해줘" | -| ⑦ | **@Word** 에이전트 | 정리된 내용을 Word 문서로 저장 | +| ① | **Copilot** (general) | "I need to prepare for tomorrow's meeting with Company A" — start the conversation | +| ② | **@SalesSupport** agent | Look up Company A's recent sales history and contract info | +| ③ | **Copilot** (general) | SalesSupport context released, back to general chat | +| ④ | **@Research** tool | Search for the latest trends in Company A's industry | +| ⑤ | **Copilot** (general) | Research context released, back to general chat | +| ⑥ | **Copilot** (general) | "Compile everything from this conversation into a meeting briefing" | +| ⑦ | **@Word** agent | Save the compiled content as a Word document | {: .highlight } -> **Copilot이 지휘자, 에이전트들이 전문가 팀**입니다. -> 하나의 대화 안에서 필요할 때마다 전문가를 불러 쓰고, Copilot이 전체를 종합합니다. +> **Copilot is the conductor, and agents are the team of specialists.** +> Within a single conversation, you call on specialists as needed, and Copilot synthesizes everything. -### 핵심 포인트 +### Key Points -- **@호출** = 특정 에이전트의 전문 기능 사용 -- **@해제 후 일반 대화** = Copilot이 전체 맥락을 종합 -- **대화 흐름이 유지됨** — 영업지원이 준 정보 + 리서치 결과가 모두 같은 대화 안에 남아있음 -- 마지막에 Copilot에게 **종합 정리를 시키면**, 여러 에이전트의 결과가 하나로 합쳐짐 +- **@mention** = use a specific agent's specialized capabilities +- **General chat after releasing @** = Copilot synthesizes the full context +- **Conversation flow is preserved** — information from SalesSupport + research results all remain in the same conversation +- When you ask Copilot to **summarize at the end**, results from multiple agents are combined into one --- -## 한 번 만들면, 둘 다 됩니다 +## Build Once, Use Both Ways {: .highlight } -> 에이전트를 한 번 만들고 배포하면, 몰입형과 인컨텍스트 **모두 자동으로 지원**됩니다. 별도 설정이 필요 없습니다. +> Once you build and deploy an agent, it **automatically supports both immersive and in-context** modes. No additional configuration needed. --- -## 핵심 정리 +## Key Takeaways -1. **몰입형** = 에이전트 전용 화면에서 집중 대화 -2. **인컨텍스트** = @호출로 여러 에이전트를 하나의 대화 안에서 조합 -3. **Copilot = 지휘자**, 에이전트 = 전문가 팀 — @호출로 불러 쓰고, Copilot이 종합 -4. **한 번 만들면 둘 다 사용 가능** — 별도 구현 불필요 +1. **Immersive** = focused conversation on the agent's dedicated screen +2. **In-context** = combine multiple agents in a single conversation via @mention +3. **Copilot = conductor**, agents = team of specialists — call them with @mention, and Copilot synthesizes the results +4. **Build once, use both ways** — no separate implementation needed --- ## FAQ -| 질문 | 답변 | +| Question | Answer | |:-----|:-----| -| 두 방식 중 뭐가 더 좋나요? | 상황에 따라 다릅니다. 깊은 대화는 몰입형, 빠른 조회는 인컨텍스트가 편합니다. | -| 인컨텍스트에서도 파일 첨부가 되나요? | 네, @호출 시에도 파일 참조가 가능합니다. | -| 모바일에서도 사용할 수 있나요? | Teams 모바일 앱에서 두 방식 모두 사용 가능합니다. | +| Which approach is better? | It depends on the situation. Deep conversations work best in immersive mode; quick lookups are easier in-context. | +| Can I attach files in in-context mode? | Yes, file references are supported even when using @mention. | +| Can I use this on mobile? | Yes, both modes are available in the Teams mobile app. | --- -## 참조 자료 +## Reference Materials -| 자료 | 링크 | +| Resource | Link | |:-----|:-----| -| 에이전트 배포 채널 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-fundamentals-publish-channels) | -| M365 Copilot에서 에이전트 사용 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-365-copilot/extensibility/) | -| Teams에 에이전트 배포 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams) | +| Agent Deployment Channels | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-fundamentals-publish-channels) | +| Using Agents in M365 Copilot | [learn.microsoft.com](https://learn.microsoft.com/microsoft-365-copilot/extensibility/) | +| Deploy Agent to Teams | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams) | --- -다음 모듈: [M3. 에이전트 만들기 시작](m03-agent-builder) +Next module: [M3. Build Your First Agent](m03-agent-builder) diff --git a/docs/m03-1-create-agent.md b/docs/m03-1-create-agent.md index 065109f..f380156 100644 --- a/docs/m03-1-create-agent.md +++ b/docs/m03-1-create-agent.md @@ -1,17 +1,17 @@ --- -title: "실습① — HR 도우미 만들기" -parent: "M3. 에이전트 만들기 시작" +title: "Lab ① — Create an HR Assistant" +parent: "M3. Getting Started with Building Agents" nav_order: 1 --- -# 실습 ①: HR 도우미 에이전트 만들기 +# Lab ①: Create an HR Assistant Agent {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 10:05 | 15분 | 🟢 직접 만들기 | +| Time | Duration | Participant Role | +|:-----|:---------|:----------------| +| 10:05 | 15 min | 🟢 Hands-on | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC @@ -19,106 +19,106 @@ nav_order: 1 --- -## Step 1 — 에이전트 빌더 접속 -1. [M365 Copilot](https://copilot.microsoft.com) 또는 Teams Copilot 채팅 접속 -2. **새 에이전트** 선택 +## Step 1 — Access Agent Builder +1. Go to [M365 Copilot](https://copilot.microsoft.com) or open Teams Copilot Chat +2. Select **New agent** -![이미지](../assets/images/m03/image.png) +![Image](../assets/images/m03/image.png) --- -## Step 2 — 이름과 지침 입력 +## Step 2 — Enter the Name and Instructions -- **이름:** `HR 도우미` -- **설명:** `우리 회사 HR/총무 관련 질문에 답하는 도우미 에이전트` -- **지침(Instructions)** 입력란에 아래 내용을 복사해서 붙여넣으세요: +- **Name:** `HR Assistant` +- **Description:** `An assistant agent that answers HR and general affairs questions for our company` +- Copy and paste the following into the **Instructions** field: ``` -## 역할 -당신은 우리 회사의 HR/총무 전담 도우미입니다. +## Role +You are our company's dedicated HR and General Affairs assistant. -## 범위 -복리후생, 연차/휴가, 경비처리, 사내 규정에 관한 질문에만 답변합니다. +## Scope +Only answer questions about employee benefits, annual leave/time off, expense processing, and company policies. -## 태도 -- 한국어 존칭을 사용합니다 -- 핵심을 먼저 말하고, 부가 설명은 뒤에 -- 200자 이내로 간결하게 +## Tone +- Use polite, professional language +- Lead with the key point, then add supporting details +- Keep responses concise (under 200 characters) -## 원칙 -- 모르는 내용: "정확한 답변을 드리기 어렵습니다. HR팀(내선 1234)에 문의해 주세요" -- 개인정보(급여, 인사평가): 담당자 연결 안내 +## Principles +- Unknown topics: "I'm unable to provide an accurate answer. Please contact the HR team (ext. 1234)." +- Personal information (salary, performance reviews): Direct the user to the appropriate contact ``` -![이미지](../assets/images/m03/image2.png) +![Image](../assets/images/m03/image2.png) --- -## Step 3 — 테스트: 답변 확인 -테스트 패널에서 아래 질문을 하나씩 입력해 보세요: +## Step 3 — Test: Check the Responses +Enter the following questions one at a time in the test panel: -| # | 테스트 질문 | 관찰 포인트 | -|:--|:---------|:-----------| -| 1 | "경비처리 어떻게 해?" | 그럴듯하지만 **우리 회사 절차가 아닌 추측** | -| 2 | "복지포인트 사용처 알려줘" | 모른다고 하거나 **엉뚱한 정보를 지어냄** | -| 3 | "오늘 주식 시세 알려줘" | ⚠️ 범위 밖 → 거절 메시지가 나오는지 확인 | +| # | Test Question | What to Observe | +|:--|:-------------|:----------------| +| 1 | "How do I submit an expense report?" | Sounds plausible but **it's a guess, not our actual company procedure** | +| 2 | "Where can I use my welfare points?" | Either says it doesn't know or **fabricates incorrect information** | +| 3 | "What's today's stock price?" | ⚠️ Out of scope → Check if a rejection message appears | -![이미지](../assets/images/m03/image3.png) +![Image](../assets/images/m03/image3.png) --- {: .warning } -> 답변이 부정확한 이유는 에이전트 빌더의 한계가 **아닙니다**. -> 아직 **지식(교과서)을 연결하지 않았기 때문**입니다. 다음 단계에서 해결합니다. +> The inaccurate responses are **not** a limitation of Agent Builder. +> It's because we haven't **connected any knowledge (the textbook) yet**. We'll fix this in the next step. -## Step 4 — 지침 수정 체험 -지침의 태도를 한 줄 수정해 보세요: -- "존칭" → "반말로 간결하게" -- 또는 "200자 이내" → "100자 이내, 이모지 포함" +## Step 4 — Try Modifying the Instructions +Make a small change to the tone section of the instructions: +- Change "polite, professional language" → "casual and brief" +- Or change "under 200 characters" → "under 100 characters, include emojis" -→ 에이전트의 답변 톤과 형식이 즉시 바뀌는 것을 확인! +→ Notice how the agent's response tone and format change immediately! -![이미지](../assets/images/m03/image5.png) +![Image](../assets/images/m03/image5.png) -![이미지](../assets/images/m03/image4.png) +![Image](../assets/images/m03/image4.png) {: .tip } -> 지침에 **역할·범위·태도·원칙**을 명확히 쓸수록 에이전트가 똑똑해집니다. -> 이것이 M6에서 본격적으로 다듬을 핵심입니다. +> The more clearly you define **role, scope, tone, and principles** in the instructions, the smarter the agent becomes. +> This is the key concept we'll refine in depth during M6. --- -## Step 5 — 에이전트 만들기 -자동저장된 에이전트를 테스트한 후, 실제로 배포합니다. 만들기 버튼을 누르면, 여러분의 코파일럿에 HR 도우미가 생깁니다! +## Step 5 — Create the Agent +After testing the auto-saved agent, it's time to actually publish it. Click the Create button, and the HR Assistant will appear in your Copilot! -![이미지](../assets/images/m03/image6.png) +![Image](../assets/images/m03/image6.png) -![이미지](../assets/images/m03/image7.png) +![Image](../assets/images/m03/image7.png) -에이전트가 다 만들어지면, "에이전트로 이동" 버튼을 눌러서 실제로 대화해 보세요. +Once the agent is created, click the "Go to agent" button to start chatting with it for real. -![이미지](../assets/images/m03/image8.png) +![Image](../assets/images/m03/image8.png) --- -## Step 6 — 몰입형 환경에서 대화하기 -에이전트와 1:1로 대화할 수 있는 몰입형 환경이 열립니다. 여기서 질문을 입력해 보세요: +## Step 6 — Chat in the Immersive Experience +An immersive experience opens where you can have a 1:1 conversation with your agent. Try entering some questions here: -![이미지](../assets/images/m03/image9.png) +![Image](../assets/images/m03/image9.png) -![이미지](../assets/images/m03/image10.png) +![Image](../assets/images/m03/image10.png) --- -## Step 7 — 인컨텍스트 질문 체험 -이제 코파일럿의 대화 창에서 @ HR 도우미를 불러서 질문해 보세요. 대화 기록이 인컨텍스트로 전달되는 것을 확인할 수 있습니다. +## Step 7 — Try In-Context Questions +Now, in the Copilot chat window, mention @HR Assistant and ask a question. You'll see that the conversation history is passed as in-context information. -![이미지](../assets/images/m03/image11.png) +![Image](../assets/images/m03/image11.png) -![이미지](../assets/images/m03/image12.png) +![Image](../assets/images/m03/image12.png) -![이미지](../assets/images/m03/image13.png) +![Image](../assets/images/m03/image13.png) --- -실습을 완료했으면 [M3 본문으로 돌아가세요](m03-agent-builder). +Once you've completed this lab, [return to the M3 main page](m03-agent-builder). diff --git a/docs/m03-2-open-in-studio.md b/docs/m03-2-open-in-studio.md index 3c629c2..c1b971d 100644 --- a/docs/m03-2-open-in-studio.md +++ b/docs/m03-2-open-in-studio.md @@ -1,17 +1,17 @@ --- -title: "실습② — Copilot Studio로 가져오기" -parent: "M3. 에이전트 만들기 시작" +title: "Lab ② — Import into Copilot Studio" +parent: "M3. Getting Started with Building Agents" nav_order: 2 --- -# 실습 ②: Copilot Studio로 가져오기 +# Lab ②: Import into Copilot Studio {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 10:20 | 10분 | 🟢 직접 만들기 | +| Time | Duration | Participant Role | +|:-----|:---------|:----------------| +| 10:20 | 10 min | 🟢 Hands-on | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC @@ -19,49 +19,49 @@ nav_order: 2 --- -에이전트 빌더로 만든 HR 도우미는 **그대로 Copilot Studio에서 열 수 있습니다.** +The HR Assistant you built with Agent Builder can be **opened directly in Copilot Studio.** -## Step 1 — Copilot Studio 열기 -좌측 에이전트 목록에서 "..."를 클릭하여 나오는 메뉴에서 "편집"을 클릭합니다. +## Step 1 — Open Copilot Studio +In the agent list on the left, click "..." to open the menu, then click "Edit." -![이미지](../assets/images/m03/image14.png) +![Image](../assets/images/m03/image14.png) -에이전트의 편집 화면에서 상단의 "..." 메뉴를 클릭하여 나오는 메뉴에서 "Copilot Studio에 복사"를 클릭합니다. +In the agent editing screen, click the "..." menu at the top, then select "Copy to Copilot Studio." -![이미지](../assets/images/m03/image15.png) +![Image](../assets/images/m03/image15.png) -Copilot Studio 에 복사되는 내용과 복사되지 않는 내용을 확인할 수 있습니다. "시작" 버튼을 클릭합니다. +You'll see a summary of what will and won't be copied to Copilot Studio. Click the "Start" button. -![이미지](../assets/images/m03/image16.png) +![Image](../assets/images/m03/image16.png) -어떤 파워플랫폼 환경에 복사할지 묻는 창이 뜹니다. 강사가 지정한 환경이 있으면 해당 환경을 선택하고, 그렇지 않으면 기본 환경(Default Environment)을 선택합니다. +A dialog will ask which Power Platform environment to copy the agent to. If your instructor has specified an environment, select that one; otherwise, choose the Default Environment. -![이미지](../assets/images/m03/image17.png) +![Image](../assets/images/m03/image17.png) --- -## Step 2 — Copilot Studio 확인 -Copilot Studio가 열리면: -- **이름:** HR 도우미 (그대로 유지) -- **지침:** 에이전트 빌더에서 입력한 내용이 반영되어 있음 -- **좌측 메뉴:** 지식, 토픽, 액션 등 새로운 메뉴가 보임 +## Step 2 — Verify in Copilot Studio +Once Copilot Studio opens: +- **Name:** HR Assistant (unchanged) +- **Instructions:** The content you entered in Agent Builder is carried over +- **Left menu:** New menu items appear — Knowledge, Topics, Actions, etc. {: .highlight } -> 같은 에이전트인데, **편집 도구만 바뀌었습니다.** -> 스마트폰 카메라(에이전트 빌더)로 찍은 사진을 포토샵(Copilot Studio)에서 보정하는 것과 같습니다. +> It's the same agent — only the **editing tool has changed.** +> Think of it like taking a photo with your smartphone camera (Agent Builder) and then editing it in Photoshop (Copilot Studio). -코파일럿 스튜디오에 에이전트가 복사되어 만들어 졌습니다. 아직 저장된 상태는 아니므로 상단의 "만들기" 버튼을 클릭하여 저장합니다. +The agent has been copied and created in Copilot Studio. It hasn't been saved yet, so click the "Create" button at the top to save it. -![이미지](../assets/images/m03/image18.png) +![Image](../assets/images/m03/image18.png) -에이전트가 최초 만들어 질 때 "이 기능은 에이전트 설정을 완료할 때까지 사용할 수 없습니다"라는 메시지가 보입니다. 잠시 기다리면 메시지가 사라지고, 에이전트가 정상적으로 작동하는 것을 확인할 수 있습니다. +When the agent is first created, you may see a message saying "This feature is unavailable until agent setup is complete." Wait a moment — the message will disappear, and the agent will start working normally. -![이미지](../assets/images/m03/image19.png) +![Image](../assets/images/m03/image19.png) -에이전트가 만들어 졌고, 테스트도 정상적으로 작동하는 것을 확인할 수 있습니다. +The agent has been created, and you can confirm that testing works correctly. -![이미지](../assets/images/m03/image20.png) +![Image](../assets/images/m03/image20.png) --- -실습을 완료했으면 [M3 본문으로 돌아가세요](m03-agent-builder). +Once you've completed this lab, [return to the M3 main page](m03-agent-builder). diff --git a/docs/m03-3-studio-new-agent.md b/docs/m03-3-studio-new-agent.md index 794d5b0..c4438bd 100644 --- a/docs/m03-3-studio-new-agent.md +++ b/docs/m03-3-studio-new-agent.md @@ -1,17 +1,17 @@ --- -title: "실습③ — Copilot Studio에서 새 에이전트 만들기" -parent: "M3. 에이전트 만들기 시작" +title: "Lab ③ — Create a New Agent in Copilot Studio" +parent: "M3. Getting Started with Building Agents" nav_order: 3 --- -# 실습 ③: Copilot Studio에서 새 에이전트 만들기 +# Lab ③: Create a New Agent in Copilot Studio {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 10:30 | 10분 | 🟢 직접 만들기 | +| Time | Duration | Participant Role | +|:-----|:---------|:----------------| +| 10:30 | 10 min | 🟢 Hands-on | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC @@ -20,92 +20,92 @@ nav_order: 3 --- {: .warning } -> 실습 ②에서 에이전트 빌더 → Copilot Studio로 가져오면 빠르고 편리하지만, **에이전트 언어가 영어로 고정**되고 변경할 수 없습니다. -> 이 실습에서는 Copilot Studio에서 **처음부터** 에이전트를 만들어 **한국어 에이전트**를 생성합니다. +> Importing from Agent Builder → Copilot Studio (Lab ②) is quick and convenient, but the **agent language gets locked to English** and cannot be changed. +> In this lab, we create an agent **from scratch** in Copilot Studio to set up a **Korean-language agent**. --- -## Step 1 — Copilot Studio 접속 및 환경 확인 +## Step 1 — Access Copilot Studio and Verify the Environment -1. [Copilot Studio](https://copilotstudio.microsoft.com) 접속 -2. 왼쪽 상단의 **환경(Environment)** 이 올바른지 확인 - - 강사가 지정한 환경이 있으면 해당 환경으로 전환 +1. Go to [Copilot Studio](https://copilotstudio.microsoft.com) +2. Verify that the **Environment** in the top-left corner is correct + - If your instructor has specified an environment, switch to that one -![이미지](../assets/images/m03/image21.png) +![Image](../assets/images/m03/image21.png) --- -## Step 2 — 솔루션 만들기 +## Step 2 — Create a Solution -에이전트를 독립된 솔루션에 넣으면 나중에 내보내기(Export)나 이동이 편리합니다. +Placing your agent in a dedicated solution makes it easier to export or move later. -1. 왼쪽 메뉴에서 **솔루션** 선택 -2. **+ 새 솔루션** 클릭 -3. 이름: `HR 도우미 솔루션` (또는 원하는 이름) -4. 게시자: 기본 게시자 선택 -5. **만들기** 클릭 +1. Select **Solutions** from the left menu +2. Click **+ New solution** +3. Name: `HR Assistant Solution` (or any name you prefer) +4. Publisher: Select the default publisher +5. Click **Create** {: .tip } -> 솔루션은 에이전트·흐름·커넥터 등을 묶는 **컨테이너**입니다. 실무에서도 솔루션 단위로 관리하면 환경 간 이동이 깔끔합니다. +> A solution is a **container** that bundles agents, flows, connectors, and more. Managing things at the solution level in production makes moving between environments much cleaner. -![이미지](../assets/images/m03/image22.png) +![Image](../assets/images/m03/image22.png) -![이미지](../assets/images/m03/image23.png) +![Image](../assets/images/m03/image23.png) -![이미지](../assets/images/m03/image24.png) +![Image](../assets/images/m03/image24.png) --- -## Step 3 — 고급 만들기로 에이전트 생성 +## Step 3 — Create an Agent with Advanced Create -1. 왼쪽 메뉴에서 **에이전트** 선택 -2. 에이전트 목록 상단의 **+ 새 에이전트** 클릭 -3. ⚠️ "빈 에이전트 만들기" 대신 → **"고급 만들기"** 버튼 클릭 -4. 설정 입력: +1. Select **Agents** from the left menu +2. Click **+ New agent** at the top of the agent list +3. ⚠️ Instead of "Create a blank agent" → click the **"Advanced Create"** button +4. Enter the settings: -| 항목 | 값 | -|:-----|:---| -| **이름** | HR 도우미 | -| **설명** | 우리 회사 HR/총무 관련 질문에 답하는 도우미 에이전트 | -| **언어** | **한국어** 선택 | -| **솔루션** | 방금 만든 `HR 도우미 솔루션` 선택 | +| Field | Value | +|:------|:------| +| **Name** | HR Assistant | +| **Description** | An assistant agent that answers HR and general affairs questions for our company | +| **Language** | Select **Korean** | +| **Solution** | Select the `HR Assistant Solution` you just created | -5. **만들기** 클릭 +5. Click **Create** -![이미지](../assets/images/m03/image25.png) +![Image](../assets/images/m03/image25.png) -![이미지](../assets/images/m03/image26.png) +![Image](../assets/images/m03/image26.png) {: .important } -> **"고급 만들기"** 를 사용해야 언어와 솔루션을 직접 지정할 수 있습니다. -> "빈 에이전트 만들기"로 만들면 언어가 영어로 고정되고 솔루션도 기본값이 사용됩니다. +> You must use **"Advanced Create"** to specify the language and solution directly. +> If you use "Create a blank agent," the language will be locked to English and the default solution will be used. --- -## Step 4 — 에이전트 확인 +## Step 4 — Verify the Agent -새 에이전트가 열리면 아래를 확인합니다: +Once the new agent opens, check the following: -- **기본 언어**: 한국어로 설정되어 있는지 확인 -- **솔루션**: 왼쪽 메뉴 → 솔루션에서 `HR 도우미 솔루션` 안에 에이전트가 들어있는지 확인 +- **Primary language**: Confirm it is set to Korean +- **Solution**: Go to Solutions in the left menu and verify the agent is inside the `HR Assistant Solution` -![이미지](../assets/images/m03/image27.png) +![Image](../assets/images/m03/image27.png) --- -## 실습 ② 에이전트와의 차이 +## Differences from the Lab ② Agent -| 항목 | 실습 ② (에이전트 빌더 → 가져오기) | 실습 ③ (Copilot Studio 고급 만들기) | +| Item | Lab ② (Agent Builder → Import) | Lab ③ (Copilot Studio Advanced Create) | |:-----|:---:|:---:| -| 생성 속도 | 빠름 (30초) | 약간 느림 (2~3분) | -| 에이전트 언어 | 영어 (변경 불가) | **한국어 직접 선택** | -| 솔루션 지정 | 기본 솔루션 | **원하는 솔루션 선택** | -| 내보내기/이동 | 불편 | **솔루션 단위로 깔끔** | +| Creation speed | Fast (30 seconds) | Slightly slower (2–3 minutes) | +| Agent language | English (cannot be changed) | **Korean — directly selectable** | +| Solution assignment | Default solution | **Choose your own solution** | +| Export/migration | Inconvenient | **Clean, solution-based** | {: .highlight } -> **이후 실습에서는 이 실습 ③에서 만든 에이전트를 계속 사용합니다.** -> M6 지침 → M7 지식 → M9 토픽 → M12 흐름까지 이 에이전트에 기능을 추가해 나갑니다. +> **All subsequent labs will continue using the agent created in this Lab ③.** +> From M6 Instructions → M7 Knowledge → M9 Topics → M12 Flows, we'll keep adding capabilities to this agent. --- -실습을 완료했으면 [M3 본문으로 돌아가세요](m03-agent-builder). +Once you've completed this lab, [return to the M3 main page](m03-agent-builder). diff --git a/docs/m03-agent-builder.md b/docs/m03-agent-builder.md index ff9dbfa..0c70364 100644 --- a/docs/m03-agent-builder.md +++ b/docs/m03-agent-builder.md @@ -1,187 +1,187 @@ --- -title: "M3. 에이전트 만들기 시작" +title: "M3. Getting Started with Building Agents" nav_order: 4 has_children: true --- -# 첫번째 에이전트 만들기 — 에이전트 빌더로 충분할까? +# Building Your First Agent — Is Agent Builder Enough? {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 10:05 | 30분 | 🟢 직접 만들기 | +| Time | Duration | Participant Role | +|:-----|:---------|:----------------| +| 10:05 | 30 min | 🟢 Hands-on | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M3 첫번째 에이전트 — 30초 만에 탄생](../assets/images/m03/hero.png) +![M3 Your First Agent — Born in 30 Seconds](../assets/images/m03/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- M365 Copilot **에이전트 빌더**로 HR 도우미 에이전트를 직접 만들기 -- 에이전트 빌더가 **이미 갖추고 있는 기능** — 지식 연결, 이미지 생성, 코드 인터프리터 -- 에이전트 빌더만으로도 **충분히 쓸 만한 에이전트**를 만들 수 있다는 사실 -- 그럼에도 **Copilot Studio를 선택하는 두 가지 이유** +- Build an HR Assistant agent hands-on using the M365 Copilot **Agent Builder** +- Discover the capabilities **Agent Builder already has** — knowledge connections, image generation, code interpreter +- See that Agent Builder alone can produce **a perfectly usable agent** +- Understand the **two reasons you'd choose Copilot Studio** instead --- -## 에이전트 빌더란? +## What Is Agent Builder? -M365 Copilot 안에 내장된 **간편 에이전트 생성 도구**입니다. -자연어로 설명하면 30초 만에 에이전트가 만들어집니다. +Agent Builder is a **simple agent creation tool** built right into M365 Copilot. +Describe what you want in natural language and your agent is ready in 30 seconds. -에이전트 빌더의 정식 명칭은 **Copilot Studio 라이트**입니다. -라이트 버전이라고 해서 무시할 수준이 아닙니다 — 충분히 강력합니다. +Agent Builder's official name is **Copilot Studio Lite**. +Don't underestimate the "Lite" label — it's surprisingly powerful. --- -## 실습 ①: HR 도우미 에이전트 만들기 +## Lab ①: Create an HR Assistant Agent {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: HR 도우미 에이전트 만들기](m03-1-create-agent)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Create an HR Assistant Agent](m03-1-create-agent) and then come back here. --- -## 에이전트 빌더, 생각보다 강력하다 +## Agent Builder Is More Powerful Than You Think -"에이전트 빌더는 간단한 것만 할 수 있다"고 생각할 수 있지만, **사실이 아닙니다.** +You might assume Agent Builder can only handle simple tasks — **that's not true.** -### 에이전트 빌더가 이미 제공하는 기능 +### Capabilities Agent Builder Already Provides -| 기능 | 설명 | -|:-----|:-----| -| **지식 연결** | 웹사이트 URL, SharePoint 사이트를 지식 소스로 연결 가능 | -| **이미지 생성** | DALL-E 기반 이미지 생성 도구 내장 | -| **코드 인터프리터** | Python 코드 실행 — 데이터 분석, 차트 생성 가능 | -| **이미지 분석** | Graph connector를 통한 이미지 분석 도구 지원 | -| **MS Graph 연결** | Graph connector를 통해 M365 데이터 접근 | +| Capability | Description | +|:-----------|:------------| +| **Knowledge connections** | Connect website URLs and SharePoint sites as knowledge sources | +| **Image generation** | Built-in DALL-E-based image generation tool | +| **Code interpreter** | Run Python code — data analysis and chart creation | +| **Image analysis** | Image analysis tool support via Graph connectors | +| **MS Graph connection** | Access M365 data through Graph connectors | {: .highlight } -> 에이전트 빌더(Copilot Studio 라이트)만으로도 **충분히 쓸 만한 에이전트**를 만들 수 있습니다. -> 지식을 연결하고, 이미지를 생성하고, 데이터를 분석하는 에이전트가 **코드 한 줄 없이** 가능합니다. +> Agent Builder (Copilot Studio Lite) alone can produce **a perfectly usable agent**. +> An agent that connects to knowledge, generates images, and analyzes data — **all without a single line of code**. --- -## 그럼 왜 Copilot Studio가 필요한가? +## So Why Do You Need Copilot Studio? -에이전트 빌더로 충분한 경우가 많습니다. -하지만 **두 가지 경우**에는 Copilot Studio(풀 버전)가 필요합니다. +Agent Builder is sufficient in many cases. +However, there are **two scenarios** where you need Copilot Studio (the full version). -### 이유 1: 더 다양한 지식 소스 +### Reason 1: More Knowledge Sources -| 지식 소스 | 에이전트 빌더 | Copilot Studio | -|:---------|:----------:|:------------:| -| 웹사이트 URL | ✅ | ✅ | +| Knowledge Source | Agent Builder | Copilot Studio | +|:-----------------|:------------:|:--------------:| +| Website URLs | ✅ | ✅ | | SharePoint | ✅ | ✅ | -| 파일 직접 업로드 (Word, PDF 등) | ❌ | ✅ | -| Dataverse 테이블 | ❌ | ✅ | -| AI Search 인덱스 | ❌ | ✅ | -| Azure OpenAI 커스텀 지식 | ❌ | ✅ | - -### 이유 2: 더 다양한 도구 - -| 도구 유형 | 에이전트 빌더 | Copilot Studio | -|:---------|:----------:|:------------:| -| 이미지 생성 (DALL-E) | ✅ | ✅ | -| 코드 인터프리터 | ✅ | ✅ | -| **토픽(대본형 대화 흐름)** | ❌ | ✅ | -| **커넥터 (1,400+ 외부 서비스)** | ❌ | ✅ | -| **에이전트 흐름 (Power Automate)** | ❌ | ✅ | -| **AI 프롬프트 (흐름 내 AI)** | ❌ | ✅ | -| **멀티에이전트 (에이전트 간 연결)** | ❌ | ✅ | -| **MCP (외부 프로토콜 연결)** | ❌ | ✅ | -| **트리거 (이벤트 기반 자동 실행)** | ❌ | ✅ | -| **배포 채널 (Teams, 웹, 앱 등)** | 제한적 | ✅ | - -![에이전트 빌더 vs Copilot Studio — 지식과 도구의 범위 비교](../assets/images/m03/builder-vs-studio.png) +| Direct file uploads (Word, PDF, etc.) | ❌ | ✅ | +| Dataverse tables | ❌ | ✅ | +| AI Search indexes | ❌ | ✅ | +| Azure OpenAI custom knowledge | ❌ | ✅ | + +### Reason 2: More Tools + +| Tool Type | Agent Builder | Copilot Studio | +|:----------|:------------:|:--------------:| +| Image generation (DALL-E) | ✅ | ✅ | +| Code interpreter | ✅ | ✅ | +| **Topics (scripted conversation flows)** | ❌ | ✅ | +| **Connectors (1,400+ external services)** | ❌ | ✅ | +| **Agent flows (Power Automate)** | ❌ | ✅ | +| **AI prompts (AI within flows)** | ❌ | ✅ | +| **Multi-agent (agent-to-agent connections)** | ❌ | ✅ | +| **MCP (external protocol connections)** | ❌ | ✅ | +| **Triggers (event-based automation)** | ❌ | ✅ | +| **Deployment channels (Teams, web, apps, etc.)** | Limited | ✅ | + +![Agent Builder vs Copilot Studio — Comparing the scope of knowledge and tools](../assets/images/m03/builder-vs-studio.png) {: .highlight } -> **에이전트 빌더 = 충분히 강력한 기본기.** -> **Copilot Studio = 더 넓은 지식과 더 많은 도구.** -> 어디까지 필요한지에 따라 선택하면 됩니다. +> **Agent Builder = a powerful foundation.** +> **Copilot Studio = broader knowledge and more tools.** +> Choose based on how far your requirements go. --- -## 언제 어떤 것을 선택하는가? +## When Should You Choose Which? -| 요건 | 에이전트 빌더로 충분 | Copilot Studio 필요 | -|:-----|:-----------------:|:-----------------:| -| 웹사이트/SharePoint 기반 FAQ 봇 | ✅ | | -| 이미지 생성이 가능한 마케팅 도우미 | ✅ | | -| 데이터 분석(코드 인터프리터) 활용 | ✅ | | -| **사내 PDF/Word 문서를 직접 참조** | | ✅ | -| **AI Search 인덱스 연결** | | ✅ | -| **레거시 시스템 API 연동** | | ✅ | -| **대화 흐름 제어 (토픽)** | | ✅ | -| **메일 발송, Excel 기록 등 자동화** | | ✅ | -| **여러 에이전트 협업 (멀티에이전트)** | | ✅ | +| Requirement | Agent Builder Is Enough | Copilot Studio Needed | +|:------------|:----------------------:|:---------------------:| +| FAQ bot based on website/SharePoint | ✅ | | +| Marketing assistant with image generation | ✅ | | +| Data analysis using code interpreter | ✅ | | +| **Reference internal PDF/Word documents directly** | | ✅ | +| **Connect to AI Search indexes** | | ✅ | +| **Integrate with legacy system APIs** | | ✅ | +| **Control conversation flows (Topics)** | | ✅ | +| **Automate email sending, Excel logging, etc.** | | ✅ | +| **Multi-agent collaboration** | | ✅ | {: .tip } -> 오늘 과정에서는 Copilot Studio의 풀 기능을 배우지만, 실무에서 에이전트 빌더만으로 해결되는 경우도 많습니다. **"가장 단순한 도구로 충분히 되는지"를 먼저 판단**하는 것이 좋습니다. +> Today's course covers the full capabilities of Copilot Studio, but in practice, Agent Builder alone handles many real-world scenarios. **Always start by asking "Can the simplest tool do the job?"** --- -## 실습 ②: Copilot Studio로 가져오기 +## Lab ②: Import into Copilot Studio {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: Copilot Studio로 가져오기](m03-2-open-in-studio)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Import into Copilot Studio](m03-2-open-in-studio) and then come back here. --- -## 실습 ③: Copilot Studio에서 새 에이전트 만들기 +## Lab ③: Create a New Agent in Copilot Studio -실습 ②에서 가져온 에이전트는 **언어가 영어로 고정**되어 변경할 수 없습니다. -Copilot Studio에서 처음부터 만들면 **한국어 에이전트 + 독립 솔루션**으로 구성할 수 있습니다. +The agent imported in Lab ② has its **language locked to English** and cannot be changed. +By creating from scratch in Copilot Studio, you can set up a **Korean-language agent in its own solution**. {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ③: Copilot Studio에서 새 에이전트 만들기](m03-3-studio-new-agent)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ③: Create a New Agent in Copilot Studio](m03-3-studio-new-agent) and then come back here. --- {: .tip } -> 시간이 남거나 다양한 에이전트를 체험해 보고 싶다면, [M3a. 샘플 에이전트 체험](m03a-sample-agents) 부록에서 **6가지 샘플 지침**을 복사·붙여넣기해 보세요. +> If you have extra time or want to explore different types of agents, check out the [M3a. Sample Agents](m03a-sample-agents) appendix and try **6 sample instructions** by copy-and-paste. --- -## 핵심 정리 +## Key Takeaways -1. 에이전트 빌더로 **HR 도우미**를 30초 만에 생성 -2. 에이전트 빌더도 **지식 연결, 이미지 생성, 코드 인터프리터**를 제공한다 — 간단한 에이전트는 이것만으로 충분 -3. Copilot Studio가 필요한 이유는 **두 가지** — 더 다양한 지식 소스, 더 다양한 도구 -4. 에이전트 빌더에서 가져온 에이전트는 **영어 고정** → Copilot Studio **고급 만들기**로 한국어 에이전트 생성 -5. **이후 실습은 실습 ③에서 만든 에이전트**를 계속 사용하며 지침·지식·Topic·Flow를 붙여 완성한다 +1. Created an **HR Assistant** in 30 seconds with Agent Builder +2. Agent Builder already offers **knowledge connections, image generation, and code interpreter** — simple agents need nothing more +3. The **two reasons** you need Copilot Studio — more knowledge sources and more tools +4. Agents imported from Agent Builder are **locked to English** → Use Copilot Studio **Advanced Create** to build a Korean-language agent +5. **All subsequent labs continue with the agent from Lab ③** — we'll keep adding instructions, knowledge, Topics, and Flows to complete it --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| 에이전트 빌더에서 만든 걸 그대로 Copilot Studio에서 열 수 있나요? | 네, 같은 에이전트입니다. 편집 도구만 바뀌는 것입니다. | -| 에이전트 빌더만으로 충분한 경우도 있나요? | **네.** 웹/SharePoint 지식 + 이미지 생성 + 코드 인터프리터면 충분한 경우가 많습니다. | -| 그럼 왜 Copilot Studio를 배우나요? | 사내 문서 직접 참조, 레거시 시스템 연동, 대화 흐름 제어 등 **범위를 넘는 요건**이 있을 때 필요하기 때문입니다. | -| M3에서 만든 HR 도우미를 계속 쓰나요? | 네, **실습 ③**에서 만든 에이전트를 오늘 하루 동안 계속 사용합니다. | -| 영어로 지침을 써야 더 잘 되나요? | 한국어로 작성해도 잘 작동합니다. 한국어 지침 권장. | -| 에이전트 빌더에서 가져온 에이전트는 왜 안 쓰나요? | 언어가 영어로 고정되어 변경할 수 없습니다. 실습 ③에서 한국어로 새로 만듭니다. | -| 솔루션을 꼭 만들어야 하나요? | 필수는 아니지만, 솔루션 안에 만들면 내보내기/이동이 편리합니다. | +| Question | Answer | +|:---------|:-------| +| Can I open an Agent Builder agent directly in Copilot Studio? | Yes — it's the same agent. Only the editing tool changes. | +| Are there cases where Agent Builder alone is sufficient? | **Yes.** Web/SharePoint knowledge + image generation + code interpreter covers many scenarios. | +| Then why learn Copilot Studio? | Because you'll need it when requirements go beyond Agent Builder — direct internal document references, legacy system integrations, conversation flow control, etc. | +| Will we keep using the HR Assistant from M3? | Yes — the agent created in **Lab ③** will be used throughout the rest of the day. | +| Do instructions work better in English? | Instructions work well in Korean too. Writing them in Korean is recommended. | +| Why don't we use the agent imported from Agent Builder? | Its language is locked to English and can't be changed. We create a new Korean-language agent in Lab ③. | +| Do I have to create a solution? | It's not required, but creating agents inside a solution makes exporting and moving them much easier. | --- -## 참조 자료 +## References -| 자료 | 링크 | -|:-----|:-----| -| M365 Copilot 에이전트 빌더 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-365-copilot/extensibility/copilot-studio-agent-builder) | -| Copilot Studio 시작하기 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/fundamentals-get-started) | +| Resource | Link | +|:---------|:-----| +| M365 Copilot Agent Builder | [learn.microsoft.com](https://learn.microsoft.com/microsoft-365-copilot/extensibility/copilot-studio-agent-builder) | +| Getting Started with Copilot Studio | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/fundamentals-get-started) | --- -다음 모듈: [M4. 에이전트의 구성요소](m04-four-components) +Next module: [M4. The Components of an Agent](m04-four-components) diff --git a/docs/m03a-sample-agents.md b/docs/m03a-sample-agents.md index 5c0befb..e82de16 100644 --- a/docs/m03a-sample-agents.md +++ b/docs/m03a-sample-agents.md @@ -1,347 +1,347 @@ --- -title: "M3a. 부록 — 샘플 에이전트" -parent: "M3. 에이전트 만들기 시작" +title: "M3a. Appendix — Sample Agents" +parent: "M3. Getting Started with Building Agents" nav_order: 3 --- -# 부록 — 6가지 샘플 에이전트 체험 +# Appendix — Try 6 Sample Agents {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 자율 | 자율 | 🟢 직접 만들기 | +| Time | Duration | Participant Role | +|:-----|:---------|:----------------| +| Self-paced | Self-paced | 🟢 Hands-on | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M3a 샘플 에이전트 — 6가지 캐릭터 만나기](../assets/images/m03a/hero.png) +![M3a Sample Agents — Meet 6 Different Characters](../assets/images/m03a/hero.png) --- -## 이 부록에서 하는 것 +## What You'll Do in This Appendix -- M3에서 배운 **에이전트 빌더**를 활용해 다양한 샘플 에이전트를 체험 -- 강사가 제공하는 지침을 **복사·붙여넣기**하면 바로 사용 가능 -- 관심 있는 샘플을 **1~2개만** 골라 직접 만들어 보세요 +- Use the **Agent Builder** you learned in M3 to try out various sample agents +- **Copy and paste** the instructor-provided instructions and they're ready to use +- Pick just **1–2 samples** that interest you and build them yourself {: .note } -> 이 부록은 자율 실습입니다. 시간이 남거나, 과정 후 복습할 때 활용하세요. +> This appendix is a self-paced exercise. Use it if you have extra time or for review after the course. --- -## 6가지 샘플 한눈에 보기 +## All 6 Samples at a Glance -| 샘플 | 핵심 기능 | 추천 대상 | 난이도 | -|:-----|:---------|:---------|:------| -| **A. 역할극 트레이너** | 캐릭터 몰입 + 피드백 | 영업/CS/협상 업무 | ⭐ | -| **B. 글쓰기 스타일 교정** | 문장 → 4가지 스타일 변환 | 보고서·이메일 작성자 | ⭐ | -| **C. 전문가 토론회** | 4명 페르소나 토론 진행 | 다양한 시각이 필요할 때 | ⭐⭐ | -| **D. 회의록 정리** | 텍스트 → 자동 정리 | 회의가 많은 분 | ⭐ | -| **E. 이메일 초안 작성기** | 상황 설명 → 비즈니스 메일 생성 | 메일 작성이 잦은 분 | ⭐ | -| **F. 면접 질문 생성기** | 직무 설명 → 면접 질문 + 평가 기준 | 채용 담당자 | ⭐⭐ | +| Sample | Core Feature | Recommended For | Difficulty | +|:-------|:-------------|:----------------|:-----------| +| **A. Role-Play Trainer** | Character immersion + feedback | Sales/CS/Negotiation roles | ⭐ | +| **B. Writing Style Coach** | Sentence → 4-style transformation | Report & email writers | ⭐ | +| **C. Expert Panel Discussion** | 4-persona debate facilitation | When diverse perspectives are needed | ⭐⭐ | +| **D. Meeting Minutes Organizer** | Text → auto-structured minutes | People with lots of meetings | ⭐ | +| **E. Email Draft Generator** | Situation description → business email | Frequent email writers | ⭐ | +| **F. Interview Question Generator** | Job description → interview questions + rubric | Hiring managers | ⭐⭐ | --- -## 샘플 A — 역할극 트레이너 +## Sample A — Role-Play Trainer -고객 응대·영업·협상 상황을 시뮬레이션하고, 대화가 끝나면 피드백을 줍니다. +Simulates customer service, sales, and negotiation scenarios, then provides feedback after the conversation.
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 비즈니스 역할극 트레이너입니다. -사용자가 선택한 시나리오에서 상대방(고객, 거래처, 상사) 역할을 맡아 대화를 진행합니다. - -## 시나리오 선택 -대화 시작 시 아래 3가지 중 하나를 선택하게 하세요: -1. 불만 고객 응대 — 배송 지연으로 화난 고객 -2. 가격 협상 — 납품 단가 10% 인하를 요구하는 거래처 -3. 프로젝트 보고 — 일정 지연 상황을 상사에게 보고 - -## 진행 방식 -- 선택된 시나리오에 맞는 캐릭터로 몰입합니다. -- 사용자의 응대에 따라 자연스럽게 반응하세요 (감정 변화 포함). -- 대화 5~7회 주고받은 후, 사용자가 "피드백"이라고 말하면 대화를 종료합니다. - -## 피드백 -대화 종료 후 아래 형식으로 피드백을 제공하세요: -- ✅ 잘한 점 (2~3개) -- ⚠️ 개선할 점 (2~3개) -- 💡 추천 표현 (상황에 맞는 모범 답변 1개) -- 종합 점수: /100 - -## 제약 -- 한국어로 진행합니다. -- 존칭을 사용합니다. -- 비즈니스 상황에 맞는 현실적인 반응을 합니다. +## Role +You are a business role-play trainer. +You take on the role of the other party (customer, vendor, or manager) in a scenario chosen by the user and carry out the conversation. + +## Scenario Selection +At the start of the conversation, have the user choose one of these 3 scenarios: +1. Handling an upset customer — A customer angry about a shipping delay +2. Price negotiation — A vendor demanding a 10% unit price reduction +3. Project status report — Reporting a schedule delay to your manager + +## How It Works +- Fully immerse yourself in the character matching the selected scenario. +- React naturally to the user's responses (including emotional shifts). +- After 5–7 exchanges, end the conversation when the user says "feedback." + +## Feedback +After the conversation ends, provide feedback in this format: +- ✅ What went well (2–3 points) +- ⚠️ Areas for improvement (2–3 points) +- 💡 Suggested phrasing (1 model response appropriate for the situation) +- Overall score: /100 + +## Constraints +- Communicate in Korean. +- Use polite, professional language. +- Respond realistically for the business situation. ```
--- -## 샘플 B — 글쓰기 스타일 교정 +## Sample B — Writing Style Coach -사용자가 입력한 문장을 4가지 스타일(비즈니스/캐주얼/격식/요약)로 변환합니다. +Transforms a sentence the user inputs into 4 different styles (business/casual/formal/summary).
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 비즈니스 글쓰기 코치입니다. -사용자가 입력한 문장을 4가지 스타일로 변환해 주세요. - -## 변환 스타일 -사용자가 문장을 입력하면, 아래 4가지 버전을 모두 제공합니다: - -1. 📧 비즈니스 이메일 — 거래처에 보내는 격식체 -2. 💬 팀 채팅 — 동료에게 보내는 캐주얼 톤 -3. 📝 공식 보고서 — 경영진에게 올리는 문서체 -4. ⚡ 한줄 요약 — 핵심만 남긴 초단축 버전 - -## 출력 형식 -각 스타일마다: -- 변환된 문장 -- 💡 한줄 TIP (해당 스타일의 핵심 포인트) - -## 추가 기능 -사용자가 "더 ___ 하게"라고 요청하면 해당 방향으로 재조정합니다. -예: "더 부드럽게", "더 강하게", "더 짧게" - -## 제약 -- 한국어로 작성합니다. -- 원문의 핵심 의미를 유지합니다. -- 각 스타일의 차이가 명확히 드러나야 합니다. +## Role +You are a business writing coach. +Transform sentences the user inputs into 4 different styles. + +## Transformation Styles +When the user enters a sentence, provide all 4 versions below: + +1. 📧 Business email — Formal tone for external partners +2. 💬 Team chat — Casual tone for colleagues +3. 📝 Official report — Document-style for executives +4. ⚡ One-line summary — Ultra-short version with only the key point + +## Output Format +For each style: +- The transformed sentence +- 💡 One-line TIP (the key point for that style) + +## Additional Features +If the user says "make it more ___," adjust in that direction. +Examples: "make it softer," "make it stronger," "make it shorter" + +## Constraints +- Write in Korean. +- Preserve the core meaning of the original text. +- The differences between each style must be clearly evident. ```
--- -## 샘플 C — 전문가 토론회 +## Sample C — Expert Panel Discussion -하나의 주제에 대해 4명의 전문가 페르소나가 각자 의견을 내고 토론합니다. +Four expert personas each share their opinions and debate on a single topic.
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 4명의 전문가 페르소나를 동시에 운영하는 토론 진행자입니다. -사용자가 주제를 제시하면, 아래 4명이 각자 관점에서 의견을 냅니다. - -## 패널 구성 -1. 🏢 전략가 — 비즈니스 성장과 수익 관점 -2. 🛡️ 리스크 관리자 — 위험, 규제, 보안 관점 -3. 👥 현장 실무자 — 실행 가능성과 현실적 제약 관점 -4. 💡 혁신가 — 새로운 기술과 장기 비전 관점 - -## 진행 방식 -1. 사용자가 주제를 제시합니다. (예: "우리 회사에 AI 챗봇을 도입해야 할까?") -2. 4명이 각자 관점에서 의견을 제시합니다 (각 3~5문장). -3. 서로 반론이나 보충 의견을 주고받습니다 (1라운드). -4. 마지막에 진행자 종합 — 핵심 쟁점과 추천 결론을 정리합니다. - -## 출력 형식 -각 페르소나별로: -- 이모지 + 이름 -- 핵심 입장 (한줄) -- 상세 의견 (3~5문장) - -종합 정리: -- ⚖️ 핵심 쟁점 (2~3개) -- ✅ 추천 방향 - -## 추가 기능 -사용자가 "더 토론해줘"라고 하면 2라운드 반론을 진행합니다. -특정 페르소나에게 질문할 수도 있습니다. (예: "리스크 관리자, 해킹 위험은?") - -## 제약 -- 한국어로 진행합니다. -- 4명의 의견이 겹치지 않아야 합니다. -- 각 페르소나의 성격이 일관되게 유지되어야 합니다. +## Role +You are a discussion facilitator running 4 expert personas simultaneously. +When the user presents a topic, the 4 panelists each share their perspective. + +## Panel Composition +1. 🏢 Strategist — Business growth and revenue perspective +2. 🛡️ Risk Manager — Risk, regulation, and security perspective +3. 👥 Field Practitioner — Feasibility and practical constraints perspective +4. 💡 Innovator — New technology and long-term vision perspective + +## How It Works +1. The user presents a topic. (e.g., "Should our company adopt an AI chatbot?") +2. All 4 panelists share their opinions from their own perspective (3–5 sentences each). +3. They exchange rebuttals or supplementary opinions (Round 1). +4. Finally, the facilitator synthesizes — summarizing key issues and a recommended conclusion. + +## Output Format +For each persona: +- Emoji + Name +- Core position (one line) +- Detailed opinion (3–5 sentences) + +Synthesis: +- ⚖️ Key issues (2–3) +- ✅ Recommended direction + +## Additional Features +If the user says "debate more," proceed with Round 2 rebuttals. +The user can also ask a specific persona a question. (e.g., "Risk Manager, what about hacking risks?") + +## Constraints +- Communicate in Korean. +- The 4 opinions must not overlap. +- Each persona's character must remain consistent throughout. ```
--- -## 샘플 D — 회의록 정리 +## Sample D — Meeting Minutes Organizer -회의 내용 텍스트를 붙여넣으면 구조화된 회의록으로 자동 정리합니다. +Paste in meeting content as text and it automatically organizes it into structured meeting minutes.
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 회의록 정리 전문가입니다. -사용자가 회의 내용(텍스트, 메모, 녹취 전사 등)을 붙여넣으면 -구조화된 회의록으로 자동 정리합니다. - -## 출력 형식 -아래 형식으로 정리하세요: - -### 📋 회의 요약 -| 항목 | 내용 | -|------|------| -| 일시 | (텍스트에서 추출, 없으면 "미확인") | -| 참석자 | (언급된 이름 나열) | -| 주제 | (핵심 안건 1줄) | - -### 📌 핵심 논의사항 -- (번호 매겨서 핵심 내용 3~5개) - -### ✅ 결정사항 -- (확정된 내용만 정리) - -### 📝 후속 조치 (Action Items) -| 담당자 | 할 일 | 기한 | -|--------|--------|------| -| (이름) | (구체적 행동) | (언급된 기한 또는 "미정") | - -### 💡 추가 메모 -- (애매하거나 후속 확인이 필요한 사항) - -## 규칙 -- 텍스트에 없는 내용을 추가하지 마세요. -- 담당자·기한이 불분명하면 "미정"으로 표시하세요. -- 한국어로 정리합니다. -- 원문이 두서없어도 깔끔하게 구조화하세요. - -## 테스트 입력 예시 -사용자가 따로 회의 내용이 없으면 아래 예시를 제안하세요: -"테스트할 회의 내용이 없으시면, '예시로 해줘'라고 입력해 주세요. 샘플 회의 내용으로 시연해 드리겠습니다." +## Role +You are a meeting minutes specialist. +When the user pastes meeting content (text, notes, transcription, etc.), +you automatically organize it into structured meeting minutes. + +## Output Format +Organize using the following format: + +### 📋 Meeting Summary +| Item | Content | +|------|---------| +| Date/Time | (Extract from text, or "Not specified" if absent) | +| Attendees | (List mentioned names) | +| Topic | (Core agenda in one line) | + +### 📌 Key Discussion Points +- (Numbered list of 3–5 key points) + +### ✅ Decisions Made +- (Only confirmed decisions) + +### 📝 Action Items +| Owner | Task | Deadline | +|-------|------|----------| +| (Name) | (Specific action) | (Mentioned deadline or "TBD") | + +### 💡 Additional Notes +- (Ambiguous items or things requiring follow-up) + +## Rules +- Do not add content not present in the text. +- If an owner or deadline is unclear, mark it as "TBD." +- Organize in Korean. +- Structure the content cleanly even if the original is disorganized. + +## Sample Test Input +If the user has no meeting content to test with, suggest this: +"If you don't have meeting content to test, type 'use an example.' I'll demonstrate with sample meeting content." ```
-테스트용 목업 회의록 (클릭해서 펼치기) +Mock Meeting Transcript for Testing (click to expand) ``` -3월 20일 오후 2시 회의, 참석자 김과장 이대리 박사원 정팀장 - -정팀장: 지난주 고객 만족도 조사 결과 나왔는데 응답률이 45%밖에 안 됨. 목표는 60%였는데. 원인 분석 좀 해봤어? -김과장: 설문 링크를 이메일로만 보냈는데 요즘 이메일 확인 잘 안 하는 분들이 많아서요. 카톡이나 문자로 보내는 게 나을 것 같습니다. -이대리: 설문 문항도 30개라 너무 길어요. 고객들이 중간에 이탈하는 비율이 60% 넘었습니다. -정팀장: 그럼 문항 수를 15개 이내로 줄이고 모바일 발송 채널 추가하자. 김과장이 다음주 금요일까지 설문 개선안 만들어줘. -박사원: 인센티브도 추가하면 좋겠습니다. 커피 쿠폰 같은 거요. -정팀장: 좋아 그것도 포함해서 검토해. 예산은 내가 확인해볼게. 이대리는 모바일 발송 시스템 견적 받아봐 이번주까지. -김과장: 아 그리고 2분기 신규 고객 대상으로는 별도 설문을 만들어야 할 것 같은데 이건 다음 회의에서 논의하죠. -정팀장: 그래 다음 회의 안건으로 넣어두자. 그러면 오늘 회의 여기까지. +Meeting on March 20 at 2 PM. Attendees: Manager Kim, Assistant Manager Lee, Staff Park, Team Lead Jung. + +Team Lead Jung: The customer satisfaction survey results from last week are in — the response rate was only 45%. Our target was 60%. Have you looked into the cause? +Manager Kim: We only sent the survey link via email, but a lot of people don't check their email these days. I think sending it via text or messenger would be better. +Assistant Manager Lee: The survey also had 30 questions, which is too long. The drop-off rate was over 60%. +Team Lead Jung: Alright, let's cut it down to 15 questions or fewer and add mobile delivery channels. Manager Kim, have the improved survey plan ready by next Friday. +Staff Park: It might also help to add an incentive. Something like a coffee coupon. +Team Lead Jung: Good idea — include that in the review as well. I'll check on the budget. Assistant Manager Lee, get a quote for a mobile delivery system by the end of this week. +Manager Kim: Oh, and we probably need a separate survey for new Q2 customers — but let's discuss that at the next meeting. +Team Lead Jung: Sure, let's add it to the agenda for next time. That's it for today's meeting. ```
--- -## 샘플 E — 이메일 초안 작성기 +## Sample E — Email Draft Generator -상황을 설명하면 적절한 비즈니스 이메일 초안을 생성합니다. +Describe a situation and it generates an appropriate business email draft.
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 비즈니스 이메일 작성 도우미입니다. -사용자가 상황을 설명하면, 적절한 비즈니스 이메일 초안을 생성해 줍니다. - -## 입력 형식 -사용자가 아래 중 하나를 입력합니다: -- 받는 사람과 상황 설명 (예: "거래처에 납품 지연 사과") -- 또는 목적만 입력 (예: "회의 일정 잡아줘") - -## 출력 형식 -아래 3가지 버전을 모두 제공하세요: - -1. 📧 **정중한 버전** — 거래처/상사용 -2. 💬 **간결한 버전** — 동료/팀원용 -3. ⚡ **초단축 버전** — 핵심만 3줄 이내 - -각 버전마다: -- 제목 -- 본문 -- 💡 TIP (해당 버전 사용 시 주의점) - -## 추가 기능 -- "더 정중하게" / "더 캐주얼하게" → 톤 조정 -- "영어로" → 영문 이메일 버전 추가 - -## 제약 -- 한국어로 작성합니다. -- 비즈니스 매너를 유지합니다. -- 상황에 맞는 적절한 어휘를 사용합니다. +## Role +You are a business email writing assistant. +When the user describes a situation, generate an appropriate business email draft. + +## Input Format +The user enters one of the following: +- Recipient and situation description (e.g., "Apologize to a vendor for a delivery delay") +- Or just the purpose (e.g., "Schedule a meeting") + +## Output Format +Provide all 3 versions below: + +1. 📧 **Polite version** — For external partners/managers +2. 💬 **Concise version** — For colleagues/teammates +3. ⚡ **Ultra-short version** — Key points only, 3 lines or fewer + +For each version: +- Subject line +- Body +- 💡 TIP (what to keep in mind when using this version) + +## Additional Features +- "Make it more polite" / "Make it more casual" → Adjust tone +- "In English" → Add an English-language version + +## Constraints +- Write in Korean. +- Maintain proper business etiquette. +- Use vocabulary appropriate to the situation. ```
--- -## 샘플 F — 면접 질문 생성기 +## Sample F — Interview Question Generator -직무 설명을 입력하면 면접 질문과 평가 기준을 자동으로 생성합니다. +Enter a job description and it automatically generates interview questions and evaluation criteria.
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 채용 면접 도우미입니다. -사용자가 직무 설명이나 채용 요건을 입력하면, -해당 직무에 맞는 면접 질문과 평가 기준을 생성합니다. - -## 입력 형식 -사용자가 아래 중 하나를 입력합니다: -- 직무명 + 주요 업무 (예: "B2B 영업 매니저, 신규 거래처 발굴 담당") -- 또는 채용공고 텍스트 붙여넣기 - -## 출력 형식 - -### 🎯 면접 질문 세트 -| # | 질문 | 의도 | 평가 포인트 | -|:--|:--------|:------|:-----------| -| 1 | (질문) | (이 질문으로 확인하려는 것) | (좋은 답변 예시) | +## Role +You are a hiring interview assistant. +When the user enters a job description or hiring requirements, +generate interview questions and evaluation criteria tailored to the role. + +## Input Format +The user enters one of the following: +- Job title + key responsibilities (e.g., "B2B Sales Manager, responsible for new account acquisition") +- Or paste in a job posting + +## Output Format + +### 🎯 Interview Question Set +| # | Question | Intent | Evaluation Criteria | +|:--|:---------|:-------|:-------------------| +| 1 | (Question) | (What this question aims to assess) | (Example of a strong answer) | | 2 | ... | ... | ... | -총 7개 질문: -- 역량 질문 3개 -- 상황 질문 2개 -- 문화 적합 질문 1개 -- 성장 가능성 질문 1개 - -### ⚖️ 평가 매트릭스 -각 질문별로: -- ✅ 우수 답변 예시 -- ⚠️ 주의해야 할 답변 패턴 - -## 추가 기능 -- "신입 레벨로" / "경력 레벨로" → 난이도 조정 -- "압박 면접 질문도" → 스트레스 면접 질문 추가 - -## 제약 -- 한국어로 작성합니다. -- 편향적이지 않은 공정한 질문을 만듭니다. -- 직무와 무관한 사적 질문은 포함하지 않습니다. +7 questions total: +- 3 competency-based questions +- 2 situational questions +- 1 culture-fit question +- 1 growth potential question + +### ⚖️ Evaluation Matrix +For each question: +- ✅ Example of an excellent answer +- ⚠️ Answer patterns to watch out for + +## Additional Features +- "Entry-level" / "Experienced-level" → Adjust difficulty +- "Add stress interview questions" → Include pressure-test questions + +## Constraints +- Write in Korean. +- Create fair, unbiased questions. +- Do not include personal questions unrelated to the role. ```
--- -## 핵심 정리 +## Key Takeaways -1. 지침 **텍스트만** 바꾸면 완전히 다른 에이전트가 만들어진다 -2. 역할·범위·태도·원칙·출력 형식을 구조화하면 품질이 올라간다 -3. 관심 있는 샘플 **1~2개를 골라 직접 체험**하는 것이 가장 효과적 +1. Just by changing the **instruction text**, you create a completely different agent +2. Structuring role, scope, tone, principles, and output format improves quality +3. The most effective approach is to **pick 1–2 samples and try them yourself** --- -다음 모듈: [M4. 에이전트의 구성요소](m04-four-components) +Next module: [M4. The Components of an Agent](m04-four-components) diff --git a/docs/m04-four-components.md b/docs/m04-four-components.md index 017c7d7..7a14879 100644 --- a/docs/m04-four-components.md +++ b/docs/m04-four-components.md @@ -1,103 +1,103 @@ --- -title: "M4. 에이전트의 구성요소" +title: "M4. The Four Components of an Agent" nav_order: 5 --- -# 에이전트의 4가지 구성요소 + Copilot Studio 둘러보기 +# The 4 Components of an Agent + Copilot Studio Tour {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 10:35 | 20분 | 보기 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 10:35 | 20 min | 👀 Watch | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M4 4가지 구성요소 — 두뇌 + 행동매뉴얼 + 교과서 + 손발](../assets/images/m04/hero.png) +![M4 Four Components — Brain + Behavior Manual + Textbook + Hands and Feet](../assets/images/m04/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **생성형 오케스트레이션**(자동변속)의 개념 -- 에이전트의 **4가지 구성요소**(오케스트레이터/지침/지식/도구) -- Copilot Studio 화면에서 각 구성요소가 **어디에 있는지** 확인 +- The concept of **Generative Orchestration** (automatic transmission) +- The **4 components** of an agent (Orchestrator / Instructions / Knowledge / Tools) +- **Where each component is located** in the Copilot Studio interface {: .highlight } -> M3에서 에이전트 빌더로 만든 HR 도우미를 Copilot Studio에서 열었습니다. -> 이 모듈에서는 Copilot Studio의 구조를 파악하고, M5부터 진행할 실습의 지도를 머릿속에 그립니다. +> In M3, we opened the HR Assistant created with Agent Builder in Copilot Studio. +> In this module, we'll understand the structure of Copilot Studio and build a mental map for the hands-on labs starting from M5. --- -## 생성형 오케스트레이션 = 자동변속 +## Generative Orchestration = Automatic Transmission -Copilot Studio에는 두 가지 방식이 있습니다. +Copilot Studio offers two modes: -| 방식 | 비유 | 설명 | -|:-----|:-----|:-----| -| **생성형** (자동변속) | 오토매틱 | AI가 상황을 판단하고 알아서 처리 | -| 클래식 (수동변속) | 수동 변속기 | 모든 흐름을 일일이 설계 | +| Mode | Analogy | Description | +|:-----|:--------|:------------| +| **Generative** (automatic) | Automatic transmission | AI assesses the situation and handles it on its own | +| Classic (manual) | Manual transmission | You design every flow step by step | {: .highlight } -> 이 과정에서는 **생성형(자동변속)**을 사용합니다. 더 직관적이고, 텍스트만으로 에이전트를 만들 수 있습니다. +> In this course, we use **Generative (automatic transmission)**. It's more intuitive and lets you build agents using just text. --- -## 에이전트의 4가지 구성요소 +## The 4 Components of an Agent -에이전트는 4가지 구성요소로 이루어져 있습니다. +An agent is made up of four components: -| 구성요소 | 역할 | 비유 | 배울 모듈 | -|:---------|:-----|:-----|:---------| -| **오케스트레이터** | 어떤 AI가 두뇌인가 + 에이전트 전체 설정 | 자동차 엔진 | M5 | -| **지침** | 역할·태도·범위·원칙 | 📋 행동매뉴얼 | M6 | -| **지식** | 답변의 근거 자료 | 교과서 | M7 | -| **도구** | 실제로 할 수 있는 행동 | 손발 | M8~M16 | +| Component | Role | Analogy | Module | +|:----------|:-----|:--------|:-------| +| **Orchestrator** | Which AI serves as the brain + overall agent settings | Car engine | M5 | +| **Instructions** | Role · Tone · Scope · Principles | 📋 Behavior manual | M6 | +| **Knowledge** | Reference material for answers | 📖 Textbook | M7 | +| **Tools** | Actions the agent can actually perform | 🤲 Hands and feet | M8–M16 | {: .note } -> **남은 건 다 도구입니다.** 토픽, 커넥터, 에이전트 흐름, AI 프롬프트, 멀티에이전트, MCP, 트리거 이 과정의 절반이 도구 실습입니다. +> **Everything else is a Tool.** Topics, Connectors, Agent Flows, AI Prompts, Multi-Agent, MCP, Triggers — half of this course is hands-on tool labs. --- -## Copilot Studio 화면 둘러보기 +## Copilot Studio Interface Tour -M3에서 에이전트 빌더로 만든 HR 도우미를 Copilot Studio에서 열어봅니다. +Let's open the HR Assistant we created with Agent Builder in M3 in Copilot Studio. -### 메뉴 구조 +### Menu Structure -| 메뉴 | 역할 | 해당 구성요소 | -|:-----|:-----|:------------| -| **개요** | 에이전트 기본 정보채널 | | -| **지침** | 지침(행동매뉴얼) 입력 | 지침 (M6) | -| **지식** | 참조 문서 연결 | 지식 (M7) | -| **토픽** | 대본(Topic) 관리 | 도구 (M9) | -| **작업** | 커넥터흐름 연결 | 도구 (M11M12) | -| **설정** | AI 모델 선택동작 조정 | 오케스트레이터 (M5) | +| Menu | Purpose | Component | +|:-----|:--------|:----------| +| **Overview** | Agent basic info & channels | — | +| **Instructions** | Enter instructions (behavior manual) | Instructions (M6) | +| **Knowledge** | Connect reference documents | Knowledge (M7) | +| **Topics** | Manage scripts (Topics) | Tools (M9) | +| **Actions** | Connect Connectors & Flows | Tools (M11–M12) | +| **Settings** | Select AI model & adjust behavior | Orchestrator (M5) | -![이미지](../assets/images/m04/image1.png) +![Image](../assets/images/m04/image1.png) -### 화면을 열면 가장 먼저 볼 것 +### What to Check First When You Open the Screen -1. **설정 생성형 AI** 생성형 오케스트레이션이 켜져 있는지 확인 -2. **설정 AI 모델** 어떤 모델이 선택돼 있는지 확인 -3. **지침** 탭 에이전트 빌더가 자동으로 작성한 지침 내용 확인 -4. **지식** 탭 연결된 지식 소스가 있는지 확인 -5. **토픽** 탭 기본 시스템 토픽 목록 확인 +1. **Settings → Generative AI** — Verify that Generative Orchestration is turned on +2. **Settings → AI Model** — Check which model is selected +3. **Instructions** tab — Review the instructions auto-generated by Agent Builder +4. **Knowledge** tab — Check if any knowledge sources are connected +5. **Topics** tab — Review the default system Topic list {: .tip } -> 지금 당장 모든 것을 이해할 필요는 없습니다. "이 버튼이 어디에 있었지" 정도만 기억해 두세요. M5부터 하나씩 직접 건드릴 예정입니다. +> You don't need to understand everything right now. Just remember "where that button was." Starting from M5, we'll work with each one hands-on. --- -## 핵심 정리 +## Key Takeaways -1. **생성형 오케스트레이션** = AI가 알아서 판단하는 자동변속 -2. 에이전트 = **오케스트레이터 + 지침 + 지식 + 도구** -3. 도구가 가장 넓다 토픽·커넥터·흐름·MCP·트리거 모두 도구 +1. **Generative Orchestration** = automatic transmission where AI decides on its own +2. Agent = **Orchestrator + Instructions + Knowledge + Tools** +3. Tools is the broadest category — Topics, Connectors, Flows, MCP, Triggers are all Tools --- -다음 모듈: [M5. 1요소 오케스트레이터와 AI](m05-orchestrator) +Next module: [M5. Component 1 — Orchestrator & AI](m05-orchestrator) diff --git a/docs/m05-1-model-compare.md b/docs/m05-1-model-compare.md index 54240f0..0c1bc76 100644 --- a/docs/m05-1-model-compare.md +++ b/docs/m05-1-model-compare.md @@ -1,39 +1,39 @@ --- -title: "실습① — 모델 변경 + 비교" -parent: "M5. 1요소 오케스트레이터와 AI" +title: "Lab ① — Model Change + Comparison" +parent: "M5. Component 1 — Orchestrator & AI" nav_order: 1 --- -# 실습 ①: 모델을 바꾸고 결과 비교하기 +# Lab ①: Change the Model and Compare Results {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 11:10 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 11:10 | 10 min | 🟢 Hands-on lab | --- -### 실습 순서 +### Lab Steps -1. Copilot Studio → HR 도우미 에이전트 열기 -2. 현재 선택된 AI 모델 확인 -3. 모델 변경 후 **반영되기 까지 기다리기** -4. 오른쪽 테스트 창에서 새로운 세션 시작 -5. 오른쪽 테스트 창에서 같은 질문 입력 -6. 답변 길이·표현 방식이 어떻게 달라지는지 비교 +1. Copilot Studio → Open the HR Assistant agent +2. Check the currently selected AI model +3. Change the model and **wait for it to take effect** +4. Start a new session in the test pane on the right +5. Enter the same question in the test pane on the right +6. Compare how the response length and phrasing differ -![이미지](../assets/images/m05/image1.png) +![Image](../assets/images/m05/image1.png) -### 비교할 질문 예시 +### Sample Questions for Comparison ``` -연차는 몇 일이야? -경비 처리하려면 어떻게 해? +How many days of annual leave do I get? +How do I submit an expense claim? ``` {: .tip } -> 답변의 정확도보다 **표현 방식과 길이**의 차이를 집중해서 봅니다. 지식(교과서)이 아직 없기 때문에 정확한 답변보다는 모델별 특성 차이를 보는 것이 목적입니다. +> Focus on the **differences in phrasing and length** rather than accuracy. Since we haven't added any knowledge (textbook) yet, the goal is to observe how different models behave — not to get accurate answers. --- -실습을 완료했으면 [M5 본문으로 돌아가세요](m05-orchestrator). +Once you've completed the lab, [return to the M5 main page](m05-orchestrator). diff --git a/docs/m05-2-agent-settings.md b/docs/m05-2-agent-settings.md index 8b5f075..a50323c 100644 --- a/docs/m05-2-agent-settings.md +++ b/docs/m05-2-agent-settings.md @@ -1,70 +1,70 @@ --- -title: "실습② — 에이전트 설정 변경" -parent: "M5. 1요소 오케스트레이터와 AI" +title: "Lab ② — Change Agent Settings" +parent: "M5. Component 1 — Orchestrator & AI" nav_order: 2 --- -# 실습 ②: 에이전트 설정 변경 +# Lab ②: Change Agent Settings {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 11:20 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 11:20 | 10 min | 🟢 Hands-on lab | --- -이 실습에서는 이후 모듈의 실습이 원활하게 동작하도록 **에이전트의 생성형 AI 설정을 미리 구성**합니다. +In this lab, you'll **pre-configure the agent's Generative AI settings** so that labs in later modules work smoothly. -## Step 1 — 설정 화면 열기 +## Step 1 — Open the Settings Screen -1. Copilot Studio → HR 도우미 에이전트 열기 -2. 에이전트 화면 **상단 우측의 ⚙️ 설정** 버튼 클릭 -3. 왼쪽 메뉴에서 **생성형 AI** 선택 +1. Copilot Studio → Open the HR Assistant agent +2. Click the **⚙️ Settings** button in the **top right** of the agent screen +3. Select **Generative AI** from the left menu --- -## Step 2 — 각 항목 설정 +## Step 2 — Configure Each Setting -아래 표의 순서대로 설정을 확인하고 변경하세요: +Review and update each setting in the order shown below: -| # | 설정 항목 | 설정값 | 설명 | -|:--|:---------|:-----:|:-----| -| 1 | **오케스트레이션** | **예** (확인) | 에이전트가 지식·토픽·흐름 중 최적의 도구를 자동 선택합니다. 꺼져 있으면 도구를 전혀 활용하지 못합니다. | -| 2 | **연결된 에이전트** | **켜기** (확인) | M14 멀티에이전트 실습에서 다른 에이전트와 협업하려면 켜져 있어야 합니다. | -| 3 | **응답** | **그대로 유지** | 응답 길이·형식은 지침(M6)에서 텍스트로 제어하는 것이 더 효과적입니다. | -| 4 | **조정** | **낮음** | 콘텐츠 필터링 수준입니다. "높음"이면 정상 답변도 차단될 수 있어, 실습 중에는 "낮음"이 적합합니다. | -| 5 | **사용자 피드백** | **끄기** | 답변마다 👍👎 버튼이 표시되는 기능입니다. 실습에서는 불필요하므로 끕니다. | -| 6 | **파일 업로드** | **끄기** | 사용자가 대화 중 파일을 첨부하는 기능입니다. M7에서 지식 소스로 파일을 연결하는 것과는 별개이며, 실습에서는 끕니다. | -| 7 | **코드 인터프리터** | **끄기** | Python 코드 실행 기능입니다. HR 도우미에는 불필요하므로 끕니다. | -| 8 | **작업 IQ 켜기** | **켜기** | 에이전트가 Power Automate 흐름을 도구로 자동 인식하는 기능입니다. M12 에이전트 흐름 실습에 필요합니다. | +| # | Setting | Value | Description | +|:--|:--------|:-----:|:------------| +| 1 | **Orchestration** | **Yes** (verify) | Allows the agent to automatically select the best tool among Knowledge, Topics, and Flows. If turned off, the agent cannot use any tools at all. | +| 2 | **Connected agents** | **On** (verify) | Must be enabled for the M14 Multi-Agent lab where agents collaborate with each other. | +| 3 | **Response** | **Keep as-is** | It's more effective to control response length and format through Instructions (M6) using text. | +| 4 | **Moderation** | **Low** | This is the content filtering level. Setting it to "High" may block legitimate responses, so "Low" is more suitable during labs. | +| 5 | **User feedback** | **Off** | This shows 👍👎 buttons after each response. Not needed for labs, so turn it off. | +| 6 | **File upload** | **Off** | Allows users to attach files during conversations. This is separate from connecting files as knowledge sources in M7. Turn it off for labs. | +| 7 | **Code interpreter** | **Off** | Enables Python code execution. Not needed for an HR Assistant, so turn it off. | +| 8 | **Turn on Actions IQ** | **On** | Enables the agent to automatically recognize Power Automate flows as tools. Required for the M12 Agent Flow lab. | {: .note } -> 각 설정의 의미를 지금 완벽하게 이해할 필요는 없습니다. 이후 모듈에서 해당 기능을 직접 사용하면서 자연스럽게 체감하게 됩니다. +> You don't need to fully understand what each setting does right now. You'll naturally grasp them as you use these features in later modules. --- -## Step 3 — 저장 및 닫기 +## Step 3 — Save and Close -1. 설정 화면 하단의 **"저장"** 버튼 클릭 -2. 저장이 완료되면 우측 상단의 **"✕"** 를 클릭하여 설정을 닫고 에이전트로 돌아갑니다 +1. Click the **"Save"** button at the bottom of the settings screen +2. Once saved, click the **"✕"** in the top right to close settings and return to the agent --- -## 설정 요약 +## Settings Summary -| 설정 | 값 | 관련 모듈 | -|:-----|:--:|:---------| -| 오케스트레이션 | 예 | 전체 (도구 자동 선택) | -| 연결된 에이전트 | 켜기 | M14 멀티에이전트 | -| 조정 | 낮음 | 전체 (필터 완화) | -| 작업 IQ | 켜기 | M12 에이전트 흐름 | -| 사용자 피드백 | 끄기 | — | -| 파일 업로드 | 끄기 | — | -| 코드 인터프리터 | 끄기 | — | +| Setting | Value | Related Module | +|:--------|:-----:|:---------------| +| Orchestration | Yes | All (auto tool selection) | +| Connected agents | On | M14 Multi-Agent | +| Moderation | Low | All (relaxed filtering) | +| Actions IQ | On | M12 Agent Flow | +| User feedback | Off | — | +| File upload | Off | — | +| Code interpreter | Off | — | {: .important } -> 이 설정은 **이후 모든 실습의 기반**이 됩니다. 실습 중 에이전트가 기대와 다르게 동작하면, 이 설정을 먼저 확인하세요. +> These settings form the **foundation for all subsequent labs**. If the agent behaves unexpectedly during a lab, check these settings first. --- -실습을 완료했으면 [M5 본문으로 돌아가세요](m05-orchestrator). +Once you've completed the lab, [return to the M5 main page](m05-orchestrator). diff --git a/docs/m05-orchestrator.md b/docs/m05-orchestrator.md index 2b7f4c7..b09a8fd 100644 --- a/docs/m05-orchestrator.md +++ b/docs/m05-orchestrator.md @@ -1,99 +1,99 @@ --- -title: "M5. 1요소 오케스트레이터와 AI" +title: "M5. Component 1 — Orchestrator & AI" nav_order: 6 has_children: true --- -# 1요소 오케스트레이터 모델 변경 + 설정 실습 +# Component 1: Orchestrator — Model Selection + Settings Lab {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 11:10 | 20분 | 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 11:10 | 20 min | 🟢 Hands-on lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M5 오케스트레이터 — 자동변속 엔진](../assets/images/m05/hero.png) +![M5 Orchestrator — The Automatic Transmission Engine](../assets/images/m05/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **오케스트레이터**가 에이전트에서 하는 역할 -- AI 모델을 변경하면 결과가 어떻게 달라지는지 -- 에이전트 설정(응답 길이언어안전성)을 조정하는 방법 +- The **role of the Orchestrator** within an agent +- How changing the AI model affects the results +- How to adjust agent settings (response length, language, safety) {: .highlight } -> 오케스트레이터는 에이전트의 두뇌입니다. 어떤 엔진을 쓰느냐에 따라 답변의 깊이, 속도, 비용이 달라집니다. +> The Orchestrator is the brain of the agent. Depending on which engine you choose, the depth, speed, and cost of responses will vary. --- -## 오케스트레이터란? +## What Is the Orchestrator? -오케스트레이터는 사용자의 말을 받아 **어떤 도구(지식/토픽/흐름)를 쓸지 판단**하고, **최종 답변을 생성**하는 AI 모델입니다. +The Orchestrator is the AI model that receives the user's message, **decides which tool (Knowledge / Topic / Flow) to use**, and **generates the final response**. -| 역할 | 설명 | -|:-----|:-----| -| 의도 파악 | 사용자가 무엇을 원하는지 판단 | -| 도구 선택 | 지식 검색 vs 토픽 실행 vs 흐름 호출 결정 | -| 답변 생성 | 수집한 정보를 바탕으로 최종 응답 작성 | +| Role | Description | +|:-----|:------------| +| Intent recognition | Determines what the user is asking for | +| Tool selection | Decides between knowledge search vs. Topic execution vs. Flow invocation | +| Response generation | Composes the final answer based on gathered information | --- -## Copilot Studio에서 모델 선택하기 +## Selecting a Model in Copilot Studio -**설정 생성형 AI AI 모델** 에서 변경 가능합니다. +You can change the model under **Settings → Generative AI → AI Model**. {: .note } -> 실제로 보이는 모델 목록은 **테넌트, 시점, 라이선스, 프리뷰 활성화 여부**에 따라 다를 수 있습니다. 아래 표는 대표 예시로 이해하세요. +> The actual list of available models may vary depending on your **tenant, timing, license, and preview opt-in status**. The tables below are representative examples. -### OpenAI 모델 +### OpenAI Models -| 모델 | 특징 | 비고 | -|:-----|:-----|:-----| -| **GPT-4.1** | 대부분 작업과 빠른 분석에 적합 | ✅ 기본값 | -| GPT-5 Chat | 대부분 작업에 적합 | | -| GPT-5 Auto | 채팅과 추론 간에 자동으로 전환 | 프리뷰 | -| GPT-5 Reasoning | 가장 까다로운 작업을 위한 최대 수준의 깊이와 정확도 | 프리뷰 | +| Model | Characteristics | Notes | +|:------|:----------------|:------| +| **GPT-4.1** | Suitable for most tasks and quick analysis | ✅ Default | +| GPT-5 Chat | Suitable for most tasks | | +| GPT-5 Auto | Automatically switches between chat and reasoning | Preview | +| GPT-5 Reasoning | Maximum depth and accuracy for the most demanding tasks | Preview | -### Anthropic 모델 +### Anthropic Models -| 모델 | 특징 | -|:-----|:-----| -| **Claude Sonnet 4.5** | 일반 작업 및 콘텐츠 만들기 지원 | -| Claude Sonnet 4.6 | 일반 작업 및 콘텐츠 만들기 지원 | -| Claude Opus 4.6 | 심층 추론 및 구조적 문제 해결 수행 | +| Model | Characteristics | +|:------|:----------------| +| **Claude Sonnet 4.5** | Supports general tasks and content creation | +| Claude Sonnet 4.6 | Supports general tasks and content creation | +| Claude Opus 4.6 | Deep reasoning and structured problem solving | {: .tip } -> 이 모듈에서는 **기본값(GPT-4.1)**으로 시작합니다. 실습 ①에서 모델을 변경하여 결과 차이를 직접 체험해보세요. +> In this module, we start with the **default (GPT-4.1)**. In Lab ①, try changing the model to experience the differences firsthand. --- -## 실습 ①: 모델을 바꾸고 결과 비교하기 +## Lab ①: Change the Model and Compare Results {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: 모델 변경 + 비교](m05-1-model-compare)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Model Change + Comparison](m05-1-model-compare) and then come back. --- -## 실습 ②: 에이전트 설정 변경 +## Lab ②: Change Agent Settings {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: 에이전트 설정 변경](m05-2-agent-settings)을 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Change Agent Settings](m05-2-agent-settings) and then come back. --- -## 핵심 정리 +## Key Takeaways -1. 오케스트레이터 = 에이전트의 두뇌 의도 파악 도구 선택 답변 생성 -2. 모델을 바꾸면 답변의 깊이속도비용이 달라진다 -3. 설정에서 응답 길이안전성을 조정할 수 있다 +1. Orchestrator = the agent's brain → Intent recognition → Tool selection → Response generation +2. Changing the model affects response depth, speed, and cost +3. You can adjust response length and safety levels in Settings --- -다음 모듈: [M6. 2요소 지침](m06-instructions) +Next module: [M6. Component 2 — Instructions](m06-instructions) diff --git a/docs/m06-1-instructions-lab.md b/docs/m06-1-instructions-lab.md index 703ef08..2a1b43e 100644 --- a/docs/m06-1-instructions-lab.md +++ b/docs/m06-1-instructions-lab.md @@ -1,115 +1,115 @@ --- -title: "실습 — 지침 업그레이드 + 테스트" -parent: "M6. 2요소 지침" +title: "Lab — Upgrade Instructions + Test" +parent: "M6. Component 2 — Instructions" nav_order: 1 --- -# 실습: 지침 업그레이드 + 테스트 +# Lab: Upgrade Instructions + Test {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 13:00 | 15분 | 🟢 직접 작성 + 테스트 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 13:00 | 15 min | 🟢 Write + Test | --- -## M3 지침 vs M6 지침 +## M3 Instructions vs M6 Instructions -M3 실습에서 입력한 지침은 **기본 뼈대** 수준이었습니다. -M6에서는 좋은 지침 6원칙을 적용하여 **전문가 수준의 지침**으로 업그레이드합니다. +The instructions you entered in the M3 lab were a **basic skeleton**. +In M6, we apply the 6 principles of good instructions to upgrade them to **professional-grade instructions**. -| 비교 | M3 지침 (기본) | M6 지침 (업그레이드) | -|:-----|:------------|:-----------------| -| 역할 | "HR/총무 전담 도우미" | 소속·전문 분야·대상까지 명시 | -| 범위 | 포함만 나열 | 포함 + **제외 항목** 명시 | -| 태도 | "존칭, 간결하게" | 출력 형식(번호 목록, 이모지) 지정 | -| 원칙 | 모를 때 안내 1줄 | 에스컬레이션 시나리오별 분류 | -| 예시 | 없음 | **Few-shot 예시 QA** 포함 | -| 길이 | 일괄 200자 | 상황별 길이 분류 | +| Comparison | M3 Instructions (Basic) | M6 Instructions (Upgraded) | +|:-----------|:-----------------------|:---------------------------| +| Role | "Dedicated HR/Admin assistant" | Specifies department, expertise, and target audience | +| Scope | Only lists inclusions | Includes **exclusions** as well | +| Tone | "Polite, concise" | Specifies output format (numbered lists, emoji) | +| Principles | One line about handling unknowns | Escalation classified by scenario | +| Examples | None | **Few-shot example Q&A** included | +| Length | Flat 200 characters | Length varies by situation | --- -## Step 1 — 지침 교체 +## Step 1 — Replace Instructions -Copilot Studio → HR 도우미 에이전트 → **지침** 섹션의 내용을 아래로 **전체 교체**합니다: +Copilot Studio → HR Assistant agent → **Replace the entire content** of the **Instructions** section with the following:
-업그레이드 지침 (클릭해서 펼치기) +Upgraded Instructions (click to expand) ``` -## 역할 -당신은 ABC 주식회사 경영지원본부 소속 HR/총무 전담 도우미입니다. -전 직원(정규직, 계약직, 인턴)을 대상으로 사내 규정 안내를 담당합니다. - -## 범위 -### 답변 가능 (포함) -- 복리후생 (복지포인트, 건강검진, 동호회 지원) -- 연차/휴가 (연차 일수, 반차, 경조사 휴가, 출산휴가) -- 경비처리 (법인카드, 출장비, 택시비 정산) -- 사내 규정 (복장 규정, 근무시간, 재택근무) - -### 답변 불가 (제외) -- 채용/면접 프로세스 → "채용팀(recruit@abc.co.kr)에 문의해 주세요" -- 급여/성과급 금액 → "급여팀(내선 5678)에 문의해 주세요" -- 인사평가/승진 → "HR BP(내선 9012)에 문의해 주세요" -- 업무와 무관한 질문 (날씨, 주식, 잡담) → "저는 HR/총무 관련 질문만 도와드릴 수 있습니다 😊" - -## 태도 -- 한국어 존칭을 사용합니다 -- 핵심을 먼저 한 줄로 말하고, 세부 내용은 번호 목록으로 정리합니다 -- 단순 질문: 100자 이내 / 절차 안내: 번호 목록으로 300자 이내 -- 각 답변 마지막에 "더 궁금한 점이 있으시면 말씀해 주세요 😊"를 붙입니다 - -## 원칙 -- 지식에 없는 내용은 절대 추측하지 않습니다 -- 지식에 없으면: "정확한 답변을 드리기 어렵습니다. HR팀(내선 1234)에 문의해 주세요" -- 개인정보 관련: 절대 답변하지 않고 담당자를 안내합니다 -- 법률/세무 관련: "전문가 확인이 필요한 사항입니다. 법무팀(내선 3456)에 문의해 주세요" - -## 예시 -사용자: "연차 며칠이야?" -도우미: "입사 1년 차 기준 15일입니다. -1. 1년 미만: 매월 1일씩 발생 (최대 11일) -2. 1년 이상: 15일 (3년차부터 2년마다 1일 추가) -3. 반차(0.5일) 사용 가능 - -더 궁금한 점이 있으시면 말씀해 주세요 😊" +## Role +You are the dedicated HR/Admin assistant for ABC Corporation's Business Support Division. +You serve all employees (full-time, contract, and interns) by providing guidance on company policies. + +## Scope +### Can Answer (Included) +- Benefits (welfare points, health checkups, club support) +- Leave (annual leave days, half-days, family event leave, parental leave) +- Expense claims (corporate card, travel expenses, taxi fare reimbursement) +- Company policies (dress code, working hours, remote work) + +### Cannot Answer (Excluded) +- Recruitment/interview process → "Please contact the Recruiting Team (recruit@abc.co.kr)" +- Salary/bonuses → "Please contact the Payroll Team (ext. 5678)" +- Performance reviews/promotions → "Please contact your HR BP (ext. 9012)" +- Questions unrelated to work (weather, stocks, small talk) → "I can only help with HR/Admin related questions 😊" + +## Tone +- Use polite, formal language +- Lead with one key sentence, then organize details in a numbered list +- Simple questions: within 100 characters / Procedure guidance: numbered list within 300 characters +- End each response with "If you have any other questions, feel free to ask 😊" + +## Principles +- Never guess about information not found in the knowledge base +- If not in the knowledge base: "I'm unable to provide an accurate answer. Please contact the HR team (ext. 1234)" +- Personal information: Never respond; always direct to the appropriate contact +- Legal/tax matters: "This requires expert verification. Please contact the Legal Team (ext. 3456)" + +## Examples +User: "How many days of annual leave do I get?" +Assistant: "For first-year employees, it's 15 days. +1. Under 1 year: 1 day accrues per month (up to 11 days) +2. 1 year or more: 15 days (1 extra day added every 2 years starting from year 3) +3. Half-day leave (0.5 days) is available + +If you have any other questions, feel free to ask 😊" ```
--- -## Step 2 — 테스트 5종 +## Step 2 — Run 5 Test Questions -지침을 교체한 후, 아래 5가지 질문으로 **업그레이드 효과를 확인**하세요: +After replacing the instructions, test with these 5 questions to **verify the upgrade**: -| # | 질문 | 기대 반응 | 확인 포인트 | -|:--|:-----|:---------|:-----------| -| 1 | "연차 며칠이야?" | ✅ 번호 목록으로 정리된 답변 | Few-shot 예시 형식을 따르는지 | -| 2 | "경비처리 어떻게 해?" | ✅ 절차를 번호 목록으로 안내 | 300자 이내 + 이모지 포함 여부 | -| 3 | "오늘 날씨 어때?" | 🚫 HR 전용 안내 + 이모지 | 제외 항목 문구 그대로 나오는지 | -| 4 | "내 급여가 얼마야?" | 🔒 급여팀 내선 5678 안내 | 제외 항목별 다른 안내처 | -| 5 | "채용 절차 알려줘" | 🔒 채용팀 이메일 안내 | 제외 항목별 다른 안내처 | +| # | Question | Expected Response | What to Check | +|:--|:---------|:------------------|:--------------| +| 1 | "How many days of annual leave do I get?" | ✅ Answer organized in a numbered list | Does it follow the few-shot example format? | +| 2 | "How do I submit an expense claim?" | ✅ Procedure explained in a numbered list | Within 300 characters + includes emoji? | +| 3 | "How's the weather today?" | 🚫 HR-only message + emoji | Does it use the exact exclusion wording? | +| 4 | "How much is my salary?" | 🔒 Directs to Payroll Team ext. 5678 | Different contact for each exclusion category? | +| 5 | "Tell me about the hiring process" | 🔒 Directs to Recruiting Team email | Different contact for each exclusion category? | {: .highlight } -> M3 지침에서는 테스트 3·4·5가 모두 같은 거절 메시지였지만, 업그레이드 지침에서는 **질문 유형별로 다른 담당자를 안내**합니다. +> With the M3 instructions, tests 3, 4, and 5 all returned the same rejection message. With the upgraded instructions, the agent now **directs to a different contact person depending on the question type**. --- -## Step 3 — 지침 한 줄 변경 체험 +## Step 3 — Experiment with a One-Line Change -아래 중 하나를 변경하고 다시 같은 질문을 해 보세요: +Try changing one of the following, then ask the same question again: -| 변경 항목 | 변경 전 | 변경 후 | 예상 효과 | -|:---------|:-------|:-------|:---------| -| 말투 | "존칭" | "반말로 친근하게" | 톤이 완전히 바뀜 | -| 길이 | "300자 이내" | "50자 이내" | 답변이 극도로 짧아짐 | -| 이모지 | "😊를 붙입니다" | 삭제 | 이모지가 사라짐 | +| Change | Before | After | Expected Effect | +|:-------|:-------|:------|:----------------| +| Tone | "Polite language" | "Casual and friendly" | Completely changes the tone | +| Length | "Within 300 characters" | "Within 50 characters" | Responses become extremely short | +| Emoji | "Add 😊" | Remove it | Emoji disappears | {: .tip } -> 텍스트 한 줄의 변경이 에이전트의 성격을 완전히 바꿉니다. **지침 = 에이전트의 DNA**입니다. +> A single line of text can completely change the agent's personality. **Instructions = the agent's DNA**. --- -실습을 완료했으면 [M6 본문으로 돌아가세요](m06-instructions). +Once you've completed the lab, [return to the M6 main page](m06-instructions). diff --git a/docs/m06-instructions.md b/docs/m06-instructions.md index bdd4038..9f52253 100644 --- a/docs/m06-instructions.md +++ b/docs/m06-instructions.md @@ -1,114 +1,114 @@ --- -title: "M6. 2요소 지침" +title: "M6. Component 2 — Instructions" nav_order: 7 has_children: true --- -# 2요소 지침 — 좋은 지침 만들기 +# Component 2: Instructions — Writing Effective Instructions {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 13:00 | 30분 | 🟢 직접 작성 + 테스트 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 13:00 | 30 min | 🟢 Write + Test | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M6 지침 — 행동매뉴얼 작성하기](../assets/images/m06/hero.png) +![M6 Instructions — Writing the Behavior Manual](../assets/images/m06/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- 지침의 **4가지 요소** (역할·범위·태도·원칙) -- 좋은 지침 **6원칙** 체험 -- 지침 입력 후 **답변 차이 직접 확인** -- 엔진(모델) 선택 기준 +- The **4 elements** of instructions (Role · Scope · Tone · Principles) +- Hands-on experience with the **6 principles** of good instructions +- **See the difference** in responses after entering instructions +- Criteria for choosing an engine (model) --- -## 지침 = AI 신입의 행동매뉴얼 +## Instructions = The New Employee's Behavior Manual -행동매뉴얼을 잘 써야 신입이 제대로 일합니다. -**지침을 잘 써야 좋은 에이전트가 됩니다.** +A behavior manual must be well-written for the new employee to do their job properly. +**Well-written instructions make a great agent.** {: .highlight } -> 지침 작성은 글쓰기 능력이 핵심입니다. **문과생의 영역**입니다. +> Writing instructions is all about writing skills. **This is the liberal arts domain.** --- -## 지침의 4가지 요소 +## The 4 Elements of Instructions -| 요소 | 핵심 질문 | 예시 | -|:-----|:---------|:-----| -| **역할** | "당신은 누구인가?" | "당신은 HR 도우미입니다" | -| **범위** | "무엇을 담당하는가?" | "복리후생, 연차, 경비처리" | -| **태도** | "어떻게 말하는가?" | "친절하고 간결하게, 존칭 사용" | -| **원칙** | "반드시 지켜야 할 것은?" | "모르면 담당자 연결 안내" | +| Element | Key Question | Example | +|:--------|:-------------|:--------| +| **Role** | "Who are you?" | "You are the HR Assistant" | +| **Scope** | "What do you cover?" | "Benefits, annual leave, expense claims" | +| **Tone** | "How do you speak?" | "Friendly and concise, use polite language" | +| **Principles** | "What must you always follow?" | "If unsure, direct to the appropriate contact" | --- -## 좋은 지침 6원칙 +## 6 Principles of Good Instructions -| # | 원칙 | ❌ 나쁜 예 | ✅ 좋은 예 | -|:--|:-----|:----------|:----------| -| 1 | **역할은 구체적으로** | "AI 도우미" | "우리 회사 HR 전담 도우미" | -| 2 | **범위는 포함만 명시** | "정치 하지 마" | "복리후생·연차·경비만 답변" | -| 3 | **태도는 행동 지침으로** | "친절해" | "모든 답변을 존칭으로, 핵심 먼저" | -| 4 | **모르는 경우의 행동 정의** | (빠뜨림) | "HR팀 내선 1234로 안내" | -| 5 | **언어·형식 명시** | (미지정) | "한국어로 답변, 200자 이내" | -| 6 | **짧을수록 좋다** | 1000자 장문 | 200~500자, 구조화 | +| # | Principle | ❌ Bad Example | ✅ Good Example | +|:--|:---------|:---------------|:----------------| +| 1 | **Be specific about the role** | "AI assistant" | "Our company's dedicated HR assistant" | +| 2 | **Define scope by what's included** | "Don't talk about politics" | "Only answer about benefits, leave, and expenses" | +| 3 | **Make tone actionable** | "Be friendly" | "Use polite language in all responses; lead with the key point" | +| 4 | **Define behavior when unsure** | (omitted) | "Direct to HR team at ext. 1234" | +| 5 | **Specify language and format** | (unspecified) | "Respond in Korean, within 200 characters" | +| 6 | **Shorter is better** | 1,000-character essay | 200–500 characters, structured | {: .warning } -> 원칙 4를 빠뜨리면 에이전트가 모르는 것을 **지어냅니다**(할루시네이션). 반드시 "모를 때 행동"을 정의하세요. +> If you skip Principle 4, the agent will **make things up** (hallucination). Always define what the agent should do when it doesn't know the answer. --- -## 실습: 지침 업그레이드 + 테스트 +## Lab: Upgrade Instructions + Test {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습: 지침 업그레이드 + 테스트](m06-1-instructions-lab)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab: Upgrade Instructions + Test](m06-1-instructions-lab) and then come back. --- -## M7로 넘어가기 +## Transitioning to M7 -강사는 아래처럼 연결하면 자연스럽습니다. +Here's a natural way for the instructor to bridge to the next module: -> 지금은 신입사원에게 **행동매뉴얼만 준 상태**입니다. 그래서 말투와 범위는 맞출 수 있지만, 우리 회사 규정까지 정확히 알 수는 없습니다. 다음 모듈에서는 같은 에이전트에 **교과서(지식)**를 붙여서, 방금 던진 질문이 어떻게 회사 문서 기반 답변으로 바뀌는지 바로 비교해 보겠습니다. +> Right now, we've only given the new employee a **behavior manual**. So they can match the right tone and stay within scope, but they can't know our company's specific policies accurately. In the next module, we'll add a **textbook (Knowledge)** to the same agent, and you'll see firsthand how the same questions get answered based on actual company documents. --- -## 핵심 정리 +## Key Takeaways -1. 지침 = 행동매뉴얼 — **역할·범위·태도·원칙** 4가지 요소 -2. "모를 때 행동"을 반드시 정의 (할루시네이션 방지) +1. Instructions = Behavior manual — **Role · Scope · Tone · Principles** (4 elements) +2. Always define "what to do when unsure" (prevents hallucination) --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| 지침을 영어로 써야 더 잘 작동하나요? | 한국어로 작성해도 잘 작동합니다. 한국어 지침 권장. | -| 지침이 너무 길면? | 200~500자가 적당합니다. 너무 길면 오히려 혼란을 줍니다. | -| "하지 마"를 쓰면? | 가능하지만 "대신 이렇게 해"가 더 효과적입니다. | -| 모르는 경우를 정의 안 하면? | 에이전트가 답을 지어냅니다(할루시네이션). 반드시 정의하세요. | +| Question | Answer | +|:---------|:-------| +| Do instructions work better in English? | Instructions work well in Korean too. Writing in Korean is recommended. | +| What if the instructions are too long? | 200–500 characters is ideal. Too long actually causes confusion. | +| What about using "don't do X"? | It works, but "do Y instead" is more effective. | +| What if I don't define the "unsure" case? | The agent will make up answers (hallucination). Always define it. | --- -## 참조 자료 +## Reference Materials -| 자료 | 링크 | -|:-----|:-----| -| 지침 작성 가이드 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-instructions) | -| 에이전트 모델 선택 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/advanced-generative-answers-overview) | -| 테스트 및 디버깅 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-test-bot) | +| Resource | Link | +|:---------|:-----| +| Instructions Writing Guide | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-instructions) | +| Agent Model Selection | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/advanced-generative-answers-overview) | +| Testing and Debugging | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-test-bot) | --- -다음 모듈: [M7. 3요소 지식](m07-knowledge) +Next module: [M7. Component 3 — Knowledge](m07-knowledge) diff --git a/docs/m07-1-file-upload.md b/docs/m07-1-file-upload.md index 0a6c38c..0fc9a24 100644 --- a/docs/m07-1-file-upload.md +++ b/docs/m07-1-file-upload.md @@ -1,52 +1,52 @@ --- -title: "실습 — 파일 업로드" -parent: "M7. 3요소 지식" +title: "Lab — File Upload" +parent: "M7. Element 3 — Knowledge" nav_order: 1 --- -# 실습: 파일 업로드 +# Lab: File Upload {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 13:30 | 15분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 13:30 | 15 min | 🟢 Hands-on Lab | --- -## 업로드할 문서 5종 +## 5 Documents to Upload -| 파일명 | 내용 | 형태 | -|:-------|:-----|:-----| -| FAQ.docx | 자주 묻는 질문·답변 | Q&A 구조화 | -| 담당자정보.docx | 부서별 담당자 이름·연락처 | 표 형식 | -| 복리후생_안내.docx | 복지포인트·건강검진·경조사 | 서술형 | -| 경비처리_가이드.docx | 출장·법인카드·청구 절차 | 서술형 | -| 휴가_근태_가이드.docx | 연차·반차·병가·특별휴가 | 서술형 | +| File Name | Content | Format | +|:----------|:--------|:-------| +| FAQ.docx | Frequently asked questions & answers | Q&A structured | +| 담당자정보.docx | Contact persons by department — names & phone numbers | Table format | +| 복리후생_안내.docx | Benefits points, health checkups, congratulations & condolences | Narrative | +| 경비처리_가이드.docx | Business travel, corporate card, expense claim procedures | Narrative | +| 휴가_근태_가이드.docx | Annual leave, half-day leave, sick leave, special leave | Narrative | ## Step-by-Step -1. **Copilot Studio** → 에이전트 편집 → 좌측 메뉴 **"지식"** 클릭 -2. **"파일 업로드"** 선택 -3. 5개 파일을 **드래그&드롭** 또는 선택 -4. 각 파일 상태가 **"Ready"**가 될 때까지 대기 (1~3분) -5. Ready 확인되면 **지식 소스 활성화 완료!** +1. **Copilot Studio** → Edit agent → Click **"Knowledge"** in the left menu +2. Select **"File upload"** +3. **Drag & drop** or select all 5 files +4. Wait until each file status shows **"Ready"** (1–3 minutes) +5. Once all show Ready — **knowledge source activation is complete!** --- -## 테스트: Before vs After +## Test: Before vs After -파일 업로드 전후로 같은 질문의 답변이 어떻게 달라지는지 확인하세요. +Check how answers to the same questions change before and after uploading the files. -| # | 질문 | 업로드 전 | 업로드 후 | -|:--|:-----|:---------|:---------| -| 1 | "연차 며칠이야?" | ❌ "답변을 드리기 어렵습니다" | ✅ FAQ.docx 기반 구체적 답변 + 인용 | -| 2 | "경비처리 담당자 누구야?" | ❌ "담당자 연결을 안내합니다" | ✅ 담당자정보.docx 기반 이름·연락처 | -| 3 | "복지포인트 사용처 알려줘" | ❌ "정보를 찾을 수 없습니다" | ✅ 복리후생_안내.docx 기반 상세 답변 | -| 4 | "출장 경비 청구 어떻게?" | ❌ (답변 불가) | ✅ 경비처리_가이드.docx 기반 절차 안내 | +| # | Question | Before Upload | After Upload | +|:--|:---------|:-------------|:-------------| +| 1 | "How many vacation days do I get?" | ❌ "I'm unable to provide an answer" | ✅ Specific answer based on FAQ.docx + citation | +| 2 | "Who handles expense reports?" | ❌ "Let me connect you to a representative" | ✅ Name & contact info based on 담당자정보.docx | +| 3 | "Where can I use my benefits points?" | ❌ "I couldn't find that information" | ✅ Detailed answer based on 복리후생_안내.docx | +| 4 | "How do I submit a travel expense claim?" | ❌ (Unable to answer) | ✅ Step-by-step procedure based on 경비처리_가이드.docx | {: .important } -> Before/After의 차이가 **교과서의 힘**입니다. 같은 에이전트인데 지식을 추가하자 완전히 달라집니다. +> The Before/After difference is **the power of the textbook**. Same agent — but adding knowledge transforms it completely. --- -실습을 완료했으면 [M7 본문으로 돌아가세요](m07-knowledge). +Once you've completed this lab, [return to the M7 main page](m07-knowledge). diff --git a/docs/m07-knowledge.md b/docs/m07-knowledge.md index f39cc17..7ca1c78 100644 --- a/docs/m07-knowledge.md +++ b/docs/m07-knowledge.md @@ -1,119 +1,119 @@ --- -title: "M7. 3요소 지식" +title: "M7. Element 3 — Knowledge" nav_order: 8 has_children: true --- -# 3요소 지식 — RAG 개념 + 참조문서 업로드 +# Element 3 — Knowledge: RAG Concepts + Reference Document Upload {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 13:30 | 30분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 13:30 | 30 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M7 지식 — 교과서 업로드](../assets/images/m07/hero.png) +![M7 Knowledge — Uploading the Textbook](../assets/images/m07/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- Copilot Studio에 **파일을 직접 업로드**하여 지식 소스 연결 -- 지식 소스 추가 **전후 답변 품질 비교** 체험 -- 4가지 지식 연결 방식의 차이 이해 -- **문서 구조**가 답변 품질에 미치는 영향 +- Connect a knowledge source by **uploading files directly** to Copilot Studio +- Experience the **before-and-after difference** in answer quality after adding a knowledge source +- Understand the differences between 4 ways to connect knowledge +- How **document structure** affects answer quality --- -## 아는 만큼 답한다 +## The More It Knows, the Better It Answers -M6에서 지침(행동매뉴얼)을 작성했습니다. -이제 신입사원에게 **교과서**를 줄 차례입니다. +In M6, we wrote Instructions (the behavior manual). +Now it's time to give our new employee a **textbook**. {: .note } -> M6에서 같은 질문을 테스트했을 때는 **범위와 태도**만 확인했습니다. 이 모듈에서는 같은 질문이 **회사 문서 기반 답변**으로 바뀌는지 비교합니다. +> When we tested the same questions in M6, we only checked **scope and tone**. In this module, we'll compare whether those same questions now produce **answers based on company documents**. -| 상태 | 비유 | 에이전트 답변 | -|:-----|:-----|:------------| -| 지침만 | 행동매뉴얼만 받은 신입사원 | "정확한 답변을 드리기 어렵습니다..." | -| 지침 **+ 지식** | 행동매뉴얼 + 교과서를 받은 신입사원 | "문서에 따르면..." (정확하고 구체적) | +| State | Analogy | Agent Response | +|:------|:--------|:---------------| +| Instructions only | New employee with only a behavior manual | "I'm unable to provide an accurate answer..." | +| Instructions **+ Knowledge** | New employee with a behavior manual + textbook | "According to the document..." (accurate and specific) | {: .highlight } -> **교과서가 좋아야 답변이 좋습니다.** 이것이 M1에서 배운 "재료가 다르면 답이 달라진다"의 실전 적용입니다. +> **The better the textbook, the better the answers.** This is the real-world application of what we learned in M1: "Different ingredients produce different results." --- -## 4가지 지식 연결 방식 +## 4 Ways to Connect Knowledge -| 방식 | 난이도 | 최신 유지 | 권한 제어 | 추천 | -|:-----|:------|:---------|:---------|:-----| -| **파일 업로드** ← 오늘 실습 | ⭐ 쉬움 | 수동 | ❌ | ✅ **입문자 1단계** | -| 웹사이트 URL | ⭐⭐ | 주기적 | ❌ | 2단계 | -| SharePoint | ⭐⭐⭐ | 자동 | ✅ | 운영 단계 | -| Dataverse | ⭐⭐⭐ | 실시간 | ✅ | 고급 | +| Method | Difficulty | Stays Up-to-Date | Access Control | Recommended | +|:-------|:----------|:-----------------|:---------------|:------------| +| **File Upload** ← Today's lab | ⭐ Easy | Manual | ❌ | ✅ **Beginner Step 1** | +| Website URL | ⭐⭐ | Periodic | ❌ | Step 2 | +| SharePoint | ⭐⭐⭐ | Automatic | ✅ | Production | +| Dataverse | ⭐⭐⭐ | Real-time | ✅ | Advanced | {: .tip } -> 오늘은 **파일 업로드**로 시작합니다. 가장 쉽고 빠릅니다. 운영 단계에서 SharePoint로 전환하면 됩니다. +> Today we start with **File Upload**. It's the easiest and fastest. You can switch to SharePoint when moving to production. --- -## 실습: 파일 업로드 +## Lab: File Upload {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습: 파일 업로드](m07-1-file-upload)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab: File Upload](m07-1-file-upload) and come back here. --- -## 문서 작성 베스트 프랙티스 +## Document Authoring Best Practices -에이전트가 더 정확하게 답하려면, **문서 구조**가 중요합니다. +For your agent to answer more accurately, **document structure** matters. -| 원칙 | 설명 | 예시 | -|:-----|:-----|:-----| -| **Q&A 구조** | 질문-답변 쌍으로 작성 | Q: 연차는 몇 일? A: 15일입니다 | -| **명확한 제목** | 섹션 제목, 소제목 활용 | `## 복지포인트` → `### 사용처` | -| **표 활용** | 구조화된 데이터는 표로 | 담당자·연락처 등 | -| **짧은 문장** | 한 문장 50자 이내 | 긴 문장보다 명확성 우선 | +| Principle | Description | Example | +|:----------|:------------|:--------| +| **Q&A Format** | Write as question-answer pairs | Q: How many vacation days? A: 15 days | +| **Clear Headings** | Use section headings and subheadings | `## Benefits Points` → `### Where to Use` | +| **Use Tables** | Present structured data in tables | Contact persons, phone numbers, etc. | +| **Short Sentences** | Keep sentences under 50 characters | Prioritize clarity over long sentences | {: .tip } -> **구조화된 문서(Q&A·표) > 서술형 문서** — AI가 구조화된 정보에서 더 정확하게 답변합니다. +> **Structured documents (Q&A / tables) > Narrative documents** — AI answers more accurately from structured information. --- -## 핵심 정리 +## Key Takeaways -1. 지식 = 교과서 — **교과서가 좋아야 답변이 좋다** -2. 파일 업로드가 가장 **쉽고 빠른** 시작점 -3. **Q&A 구조 + 표** 형식 문서가 최적 -4. Before/After 테스트로 효과 직접 확인 +1. Knowledge = Textbook — **The better the textbook, the better the answers** +2. File Upload is the **easiest and fastest** starting point +3. Documents in **Q&A + table** format work best +4. Verify the impact with Before/After testing --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| PDF도 업로드 되나요? | 네. Word, PDF, TXT, Excel 모두 지원됩니다. | -| 파일을 나중에 바꾸면 반영되나요? | 수동 업데이트가 필요합니다. 기존 파일 삭제 후 새 파일을 업로드하세요. | -| 파일 용량 제한이 있나요? | 파일당 제한이 있습니다. 큰 파일은 분할 업로드하세요. | -| 기밀 문서도 올려도 되나요? | Copilot Studio 내에서만 사용됩니다. M365 보안 정책이 적용됩니다. | +| Question | Answer | +|:---------|:-------| +| Can I upload PDFs? | Yes. Word, PDF, TXT, and Excel are all supported. | +| If I replace a file later, will it update automatically? | Manual updates are required. Delete the existing file and upload the new one. | +| Is there a file size limit? | There is a per-file limit. Split large files before uploading. | +| Is it safe to upload confidential documents? | They are used only within Copilot Studio. M365 security policies apply. | --- -## 참조 자료 +## References -| 자료 | 링크 | -|:-----|:-----| -| 지식 소스 연결 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/knowledge-copilot-studio) | -| 파일 업로드 지식 소스 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/knowledge-add-file-upload) | -| 지식 문서 작성 모범 사례 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-knowledge) | +| Resource | Link | +|:---------|:-----| +| Connecting Knowledge Sources | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/knowledge-copilot-studio) | +| File Upload Knowledge Source | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/knowledge-add-file-upload) | +| Knowledge Document Best Practices | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-knowledge) | --- -다음 모듈: [M8. 4요소 도구들](m08-tools-overview) +Next module: [M8. Element 4 — Tools](m08-tools-overview) diff --git a/docs/m08-tools-overview.md b/docs/m08-tools-overview.md index 71af622..4f4e5fb 100644 --- a/docs/m08-tools-overview.md +++ b/docs/m08-tools-overview.md @@ -1,76 +1,76 @@ --- -title: "M8. 4요소 도구들" +title: "M8. Element 4 — Tools" nav_order: 9 --- -# 4요소 도구들 도구가 채택되는 원리 +# Element 4 — Tools: How the Orchestrator Selects Tools {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 14:00 | 10분 | 보기 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 14:00 | 10 min | 👀 Watch | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M8 도구들 — 도구 선반에서 골라 쓰기](../assets/images/m08/hero.png) +![M8 Tools — Picking from the Tool Shelf](../assets/images/m08/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- 에이전트에서 **도구(Tool)**란 무엇인지 -- 오케스트레이터가 도구를 **채택하는 기준** -- 이 과정에서 다룰 도구의 종류와 순서 +- What a **Tool** is in the context of an agent +- The **criteria** the orchestrator uses to select tools +- The types of tools covered in this course and their order {: .highlight } -> 지침과 지식을 갖춘 HR 도우미가 이제 **행동**을 할 차례입니다. 도구가 연결되는 순간, 에이전트는 말만 하는 챗봇에서 실제로 일하는 AI 직원이 됩니다. +> Our HR assistant now has Instructions and Knowledge. It's time for it to take **action**. The moment tools are connected, the agent transforms from a chatbot that only talks into an AI employee that actually gets work done. --- -## 남은 건 다 도구다 +## Everything Else Is a Tool -오케스트레이터지침지식을 제외한 **모든 것은 도구**입니다. +Apart from the Orchestrator, Instructions, and Knowledge, **everything else is a tool**. -| 도구 종류 | 설명 | 배울 모듈 | -|:---------|:-----|:---------| -| **토픽** | 특정 상황에서 실행되는 대본 | M9 | -| **커넥터** | Microsoft 365 앱과 직접 연결 | M11 | -| **에이전트 흐름** | Power Automate로 복잡한 자동화 | M12 | -| **AI 프롬프트** | Flow 안에서 AI 로직 실행 | M13 | -| **멀티에이전트** | 다른 에이전트를 도구로 호출 | M14 | -| **MCP** | 외부 서비스를 도구로 연결 | M15 | -| **트리거** | 특정 이벤트가 에이전트를 깨움 | M16 | +| Tool Type | Description | Module | +|:----------|:------------|:-------| +| **Topic** | A script that runs in a specific situation | M9 | +| **Connector** | Direct connection to Microsoft 365 apps | M11 | +| **Agent Flow** | Complex automation via Power Automate | M12 | +| **AI Prompt** | AI logic executed inside a Flow | M13 | +| **Multi-Agent** | Calling another agent as a tool | M14 | +| **MCP** | Connecting external services as tools | M15 | +| **Trigger** | A specific event that wakes the agent | M16 | --- -## 도구가 채택되는 원리 +## How the Orchestrator Selects Tools -오케스트레이터는 사용자의 말을 보고 **어떤 도구를 쓸지 스스로 결정**합니다. +The orchestrator looks at the user's message and **decides on its own which tool to use**. -![오케스트레이터의 도구 채택 흐름 — 사용자 입력 → 판단 → 지식/토픽/흐름/에이전트](../assets/images/m08/tool-selection.png) +![Orchestrator tool selection flow — User input → Decision → Knowledge / Topic / Flow / Agent](../assets/images/m08/tool-selection.png) -### 도구가 채택되려면? +### What Does It Take for a Tool to Be Selected? -두 가지가 중요합니다: +Two things matter: -1. **Description(설명)** 도구에 달린 설명이 명확해야 AI가 언제 쓸지 판단 가능 -2. **지침을 통한 도구 지정** 지침에 "이런 상황에서는 이 도구를 써라"고 명시 가능 +1. **Description** — The tool's description must be clear so the AI can judge when to use it +2. **Specifying tools via Instructions** — You can explicitly state in your Instructions: "Use this tool in this situation" {: .tip } -> Description이 불명확하면 오케스트레이터가 도구를 무시합니다. 도구를 만들 때 **"이 도구는 언제 쓰는 것인지"**를 Description에 명확히 적어두세요. +> If the Description is vague, the orchestrator will ignore the tool. When creating a tool, clearly write **"when should this tool be used"** in the Description. --- -## 핵심 정리 +## Key Takeaways -1. 도구 = 에이전트가 실제로 **행동**하게 해주는 것 -2. 오케스트레이터는 Description을 보고 도구를 스스로 선택 -3. M9~M16에서 도구를 하나씩 직접 만든다 +1. Tools = What lets an agent actually **take action** +2. The orchestrator reads the Description and selects tools on its own +3. In M9–M16, we'll build tools one by one --- -다음 모듈: [M9. 도구 — 토픽과 변수](m09-topic-variables) +Next module: [M9. Tools — Topics and Variables](m09-topic-variables) diff --git a/docs/m09-1-faq-topic.md b/docs/m09-1-faq-topic.md index b623eea..218e2e9 100644 --- a/docs/m09-1-faq-topic.md +++ b/docs/m09-1-faq-topic.md @@ -1,52 +1,52 @@ --- -title: "실습① — FAQ Topic 만들기" -parent: "M9. 도구 — 토픽과 변수" +title: "Lab ① — Create the FAQ Topic" +parent: "M9. Tools — Topics and Variables" nav_order: 1 --- -# 실습 ①: FAQ Topic 만들기 +# Lab ①: Create the FAQ Topic {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 14:10 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 14:10 | 10 min | 🟢 Hands-on Lab | --- -| 항목 | 내용 | -|:-----|:-----| -| **Topic 이름** | FAQ Topic | -| **역할** | FAQ·복리후생·경비·휴가 문서에서 답변 찾기 → 결과 저장 | -| **글로벌 변수** | `Global.FAQ_result` | +| Item | Details | +|:-----|:--------| +| **Topic Name** | FAQ Topic | +| **Role** | Find answers from FAQ, benefits, expense, and leave documents → Save results | +| **Global Variable** | `Global.FAQ_result` | ## Step-by-Step -1. Copilot Studio → 에이전트 → 좌측 **"토픽"** 클릭 -2. **"+ 토픽 추가"** → **"새로 만들기"** -3. Topic 이름 입력: `FAQ Topic` -4. 편집 화면이 열리면 아래 순서로 노드를 구성합니다: +1. Copilot Studio → Agent → Click **"Topics"** on the left +2. **"+ Add a topic"** → **"Create new"** +3. Enter Topic name: `FAQ Topic` +4. When the editing screen opens, configure the nodes in this order: -### 노드 1 — 트리거 (자동 생성됨) -- "Topic이 트리거될 때" 노드가 자동으로 만들어져 있습니다. -- **Description** 입력: `사내 규정, 복리후생, 연차, 경비처리 등 FAQ 질문에 답변하는 대본` +### Node 1 — Trigger (auto-generated) +- A "When the topic is triggered" node is automatically created. +- Enter the **Description**: `A script that answers FAQ questions about company policies, benefits, annual leave, expense processing, etc.` -### 노드 2 — 지식 검색 (생성형 답변) -- 트리거 아래 **"+"** 클릭 → **"지식 검색"** 노드 추가 -- 검색 대상: **모든 지식 소스** (기본값) -- 입력: `Activity.Text` (사용자 질문) -- 출력 저장 변수: **변수 선택 → "새 변수 만들기"** - - 이름: `FAQ_result` - - **"글로벌 변수로 설정"** 체크 → `Global.FAQ_result`가 됨 +### Node 2 — Knowledge Search (Generative Answers) +- Click **"+"** below the trigger → Add a **"Knowledge search"** node +- Search target: **All knowledge sources** (default) +- Input: `Activity.Text` (user's question) +- Output variable: **Select variable → "Create new variable"** + - Name: `FAQ_result` + - Check **"Set as global variable"** → It becomes `Global.FAQ_result` -### 노드 3 — 메시지 -- **"+"** 클릭 → **"메시지 보내기"** 노드 추가 -- 메시지 내용: `{Global.FAQ_result}` (변수 삽입 버튼 사용) +### Node 3 — Message +- Click **"+"** → Add a **"Send a message"** node +- Message content: `{Global.FAQ_result}` (use the variable insert button) -5. 오른쪽 **저장** 클릭 +5. Click **Save** on the right {: .tip } -> 트리거의 **Description**이 핵심입니다. 오케스트레이터가 이 설명을 보고 "FAQ Topic을 쓸지 말지"를 판단합니다. +> The trigger's **Description** is the key. The orchestrator reads this description to decide "whether or not to use the FAQ Topic." --- -실습을 완료했으면 [M9 본문으로 돌아가세요](m09-topic-variables). +Once you've completed this lab, [return to the M9 main page](m09-topic-variables). diff --git a/docs/m09-2-contact-topic.md b/docs/m09-2-contact-topic.md index 28a4947..91e23fe 100644 --- a/docs/m09-2-contact-topic.md +++ b/docs/m09-2-contact-topic.md @@ -1,35 +1,35 @@ --- -title: "실습② — Contact Topic 만들기" -parent: "M9. 도구 — 토픽과 변수" +title: "Lab ② — Create the Contact Topic" +parent: "M9. Tools — Topics and Variables" nav_order: 2 --- -# 실습 ②: Contact Topic 만들기 +# Lab ②: Create the Contact Topic {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 14:20 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 14:20 | 10 min | 🟢 Hands-on Lab | --- -| 항목 | 내용 | -|:-----|:-----| -| **Topic 이름** | Contact Topic | -| **역할** | 담당자정보.docx만 검색 → 담당자 반환 | -| **글로벌 변수** | `Global.Contact_result` | +| Item | Details | +|:-----|:--------| +| **Topic Name** | Contact Topic | +| **Role** | Search only 담당자정보.docx → Return contact person | +| **Global Variable** | `Global.Contact_result` | ## Step-by-Step -FAQ Topic과 동일한 방식으로 생성하되, 아래만 다릅니다: +Create it the same way as the FAQ Topic, but with these differences: -1. Topic 이름: `Contact Topic` -2. 트리거 Description: `담당자 이름, 연락처, 이메일을 조회하는 대본` -3. 지식 검색 노드: 검색 대상을 **"담당자정보.docx"만 선택** (특정 지식 소스 지정) -4. 출력 변수: `Global.Contact_result` (글로벌 변수로 설정) -5. 메시지 노드: `{Global.Contact_result}` -6. **저장** +1. Topic name: `Contact Topic` +2. Trigger Description: `A script that looks up contact names, phone numbers, and email addresses` +3. Knowledge search node: Set the search target to **"담당자정보.docx" only** (specify a particular knowledge source) +4. Output variable: `Global.Contact_result` (set as global variable) +5. Message node: `{Global.Contact_result}` +6. **Save** --- -실습을 완료했으면 [M9 본문으로 돌아가세요](m09-topic-variables). +Once you've completed this lab, [return to the M9 main page](m09-topic-variables). diff --git a/docs/m09-3-strict-rules.md b/docs/m09-3-strict-rules.md index 7cb927a..117fc6f 100644 --- a/docs/m09-3-strict-rules.md +++ b/docs/m09-3-strict-rules.md @@ -1,45 +1,45 @@ --- -title: "실습③ — STRICT RULES 추가" -parent: "M9. 도구 — 토픽과 변수" +title: "Lab ③ — Add STRICT RULES" +parent: "M9. Tools — Topics and Variables" nav_order: 3 --- -# 실습 ③: STRICT RULES 추가 +# Lab ③: Add STRICT RULES {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 14:30 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 14:30 | 10 min | 🟢 Hands-on Lab | --- -M6에서 작성한 지침에 아래 내용을 **추가**하세요: +**Add** the following to the Instructions you wrote in M6:
-STRICT RULES (클릭해서 펼치기) +STRICT RULES (click to expand) ``` ## STRICT RULES -- 담당자를 찾아달라는 요청 → Contact Topic 호출 -- 그 외 사내 규정/복리후생/연차/경비 질문 → FAQ Topic 호출 -- Topic에서 결과를 못 찾으면 "HR팀 내선 1234로 문의해 주세요" 안내 +- Requests to find a contact person → Trigger Contact Topic +- All other questions about company policies / benefits / leave / expenses → Trigger FAQ Topic +- If a Topic cannot find a result → Respond with "Please contact the HR team at extension 1234" ```
{: .warning } -> STRICT RULES를 추가하지 않으면 오케스트레이터가 Topic을 **올바르게 선택**하지 못할 수 있습니다. +> Without STRICT RULES, the orchestrator may not **select the correct Topic**. -## 테스트 +## Test -3가지 질문으로 Topic이 올바르게 동작하는지 확인하세요: +Verify that Topics work correctly with these 3 questions: -| # | 질문 | 기대 동작 | -|:--|:-----|:---------| -| 1 | "연차 며칠이야?" | FAQ Topic 호출 → 답변 | -| 2 | "경비처리 담당자 알려줘" | Contact Topic 호출 → 담당자 정보 | -| 3 | "아까 찾은 담당자한테 문의하고 싶어" | 포스트잇(변수) 활용 확인 | +| # | Question | Expected Behavior | +|:--|:---------|:------------------| +| 1 | "How many vacation days do I get?" | FAQ Topic triggered → Answer | +| 2 | "Who handles expense reports?" | Contact Topic triggered → Contact info | +| 3 | "I'd like to submit an inquiry to the contact you just found" | Sticky note (variable) usage confirmed | --- -실습을 완료했으면 [M9 본문으로 돌아가세요](m09-topic-variables). +Once you've completed this lab, [return to the M9 main page](m09-topic-variables). diff --git a/docs/m09-topic-variables.md b/docs/m09-topic-variables.md index e230bef..97fd649 100644 --- a/docs/m09-topic-variables.md +++ b/docs/m09-topic-variables.md @@ -1,153 +1,153 @@ --- -title: "M9. 도구 — 토픽과 변수" +title: "M9. Tools — Topics and Variables" nav_order: 10 has_children: true --- -# 도구 — 토픽과 변수 +# Tools — Topics and Variables {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 14:10 | 35분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 14:10 | 35 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M9 토픽과 변수 — 대본과 포스트잇](../assets/images/m09/hero.png) +![M9 Topics and Variables — Scripts and Sticky Notes](../assets/images/m09/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **Topic = 대본** 비유 이해 -- **변수 = 포스트잇** 비유 이해 -- FAQ Topic + Contact Topic **2개 구현** (복붙 실습) -- 지침에 **STRICT RULES** 추가하여 Topic 호출 조건 설정 +- Understand the **Topic = Script** analogy +- Understand the **Variable = Sticky Note** analogy +- **Build 2 Topics**: FAQ Topic + Contact Topic (copy-paste lab) +- Add **STRICT RULES** to Instructions to define when Topics are triggered --- -## Topic = 대본 +## Topic = Script -Topic은 특정 상황에서 에이전트가 **어떻게 행동할지 정해놓은 대본**입니다. +A Topic is a **pre-written script that defines how the agent should behave** in a specific situation. -생성형 오케스트레이터가 사용자의 질문을 보고, 상황에 맞는 **대본을 자동으로 선택**해서 실행합니다. +The generative orchestrator reads the user's question and **automatically selects and runs the appropriate script**. --- -## 변수 = 포스트잇 +## Variable = Sticky Note -변수는 대화 중 필요한 정보를 **메모해 두는 포스트잇**입니다. -나중에 다른 Topic이나 Flow에서 꺼내 씁니다. +A variable is a **sticky note for jotting down information** needed during a conversation. +It can be retrieved later by other Topics or Flows. ``` -사용자: "경비처리 담당자 알려줘" +User: "Who handles expense reports?" ↓ -Topic: "담당자 찾기 대본 실행" +Topic: "Run the find-contact script" ↓ -📝 포스트잇: [담당자: 홍길동 / 연락처: 010-1234] +📝 Sticky Note: [Contact: John Smith / Phone: 010-1234] ↓ -사용자: "아까 찾은 담당자한테 문의 넣어줘" +User: "Submit an inquiry to the contact you just found" ↓ -Flow: 포스트잇의 정보를 사용해서 실행 +Flow: Runs using the information from the sticky note ``` -### 글로벌 변수 vs 일반 변수 +### Global Variables vs Local Variables -| 구분 | 유지 범위 | 비유 | -|:-----|:---------|:-----| -| **글로벌 변수** | 모든 대본에서 공유 | 가슴에 붙인 포스트잇 | -| 일반 변수 | 해당 대본 안에서만 | 대본 속 포스트잇 | +| Type | Scope | Analogy | +|:-----|:------|:--------| +| **Global Variable** | Shared across all scripts | Sticky note pinned to your chest | +| Local Variable | Only within that script | Sticky note inside the script | {: .tip } -> 오늘은 **글로벌 변수만** 사용합니다. 더 편하고, 이후 모듈에서 Flow 연결에 필요합니다. +> Today we'll use **global variables only**. They're easier to work with and are needed for Flow connections in later modules. --- -## 실습 ①: FAQ Topic 만들기 +## Lab ①: Create the FAQ Topic {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: FAQ Topic 만들기](m09-1-faq-topic)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Create the FAQ Topic](m09-1-faq-topic) and come back here. --- -## 실습 ②: Contact Topic 만들기 +## Lab ②: Create the Contact Topic {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: Contact Topic 만들기](m09-2-contact-topic)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Create the Contact Topic](m09-2-contact-topic) and come back here. --- -## 실습 ③: STRICT RULES 추가 +## Lab ③: Add STRICT RULES {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ③: STRICT RULES 추가](m09-3-strict-rules)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ③: Add STRICT RULES](m09-3-strict-rules) and come back here. --- -## Topic 선택 우선순위 +## Topic Selection Priority -질문이 겹쳐 보일 때는 **더 구체적인 의도**를 우선합니다. +When questions seem to overlap, prioritize the **more specific intent**. -| 질문 유형 | 우선 Topic | 이유 | -|:----------|:-----------|:-----| -| "담당자 알려줘"처럼 연락처 조회 | Contact Topic | 담당자 정보 반환이 목적 | -| "연차 규정 알려줘"처럼 사내 규정 문의 | FAQ Topic | 규정/복리후생 설명이 목적 | -| 둘 다 섞여 애매한 질문 | 재질문 | 잘못된 Topic 실행보다 확인 질문이 안전 | +| Question Type | Priority Topic | Reason | +|:--------------|:---------------|:-------| +| Contact lookup like "Who's the contact person?" | Contact Topic | The goal is to return contact information | +| Company policy inquiry like "What's the leave policy?" | FAQ Topic | The goal is to explain policies/benefits | +| Ambiguous question that could be either | Ask a follow-up | A clarifying question is safer than running the wrong Topic | {: .note } -> M12에서 **Request Topic**이 추가되면, "문의 넣어줘"처럼 실제 행동을 요청하는 문장은 Contact/FAQ보다 Request Topic을 우선하도록 확장합니다. +> In M12, when the **Request Topic** is added, messages requesting actual actions like "Submit an inquiry for me" will be prioritized to Request Topic over Contact/FAQ. --- -## 테스트 +## Test -3가지 질문으로 Topic이 올바르게 동작하는지 확인하세요: +Verify that Topics work correctly with these 3 questions: -| # | 질문 | 기대 동작 | -|:--|:-----|:---------| -| 1 | "연차 며칠이야?" | FAQ Topic 호출 → 답변 | -| 2 | "경비처리 담당자 알려줘" | Contact Topic 호출 → 담당자 정보 | -| 3 | "아까 찾은 담당자한테 문의하고 싶어" | 포스트잇(변수) 활용 확인 | +| # | Question | Expected Behavior | +|:--|:---------|:------------------| +| 1 | "How many vacation days do I get?" | FAQ Topic triggered → Answer | +| 2 | "Who handles expense reports?" | Contact Topic triggered → Contact info | +| 3 | "I'd like to submit an inquiry to the contact you just found" | Sticky note (variable) usage confirmed | --- -## 핵심 정리 +## Key Takeaways -1. **Topic = 대본** — 상황별 에이전트 행동 시나리오 -2. **변수 = 포스트잇** — 대화 중 정보 메모, 나중에 활용 -3. **STRICT RULES** — Topic이 언제 호출되는지 명확하게 지정 -4. Topic은 수집하고 처리한다. **말하는 것은 오케스트레이터** +1. **Topic = Script** — A behavior scenario for the agent per situation +2. **Variable = Sticky Note** — Notes information during conversation for later use +3. **STRICT RULES** — Clearly define when each Topic should be triggered +4. Topics collect and process. **The orchestrator does the talking** {: .note } -> 복붙이지만 중요한 건 **"포스트잇에 뭔가를 메모하고 있구나"를 느끼는 것**입니다. +> It's copy-paste, but the important thing is **feeling that "something is being noted on a sticky note."** --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| Topic을 몇 개까지 만들 수 있나요? | 제한은 많지 않지만, 역할이 명확한 Topic 위주로 만드세요. | -| Topic과 지침이 충돌하면? | STRICT RULES가 우선합니다. 여러 Topic 후보가 동시에 맞으면 더 구체적인 요청을 우선하고, 애매하면 재질문하세요. | -| 변수 이름은 아무거나 해도 되나요? | 네. 단, `Global.` 접두사가 있으면 글로벌 변수입니다. | +| Question | Answer | +|:---------|:-------| +| How many Topics can I create? | There isn't a strict limit, but focus on creating Topics with clearly defined roles. | +| What if a Topic and Instructions conflict? | STRICT RULES take priority. If multiple Topic candidates match simultaneously, prioritize the more specific request. If it's ambiguous, ask a follow-up question. | +| Can I name variables anything I want? | Yes. However, if it has the `Global.` prefix, it's a global variable. | --- -## 참조 자료 +## References -| 자료 | 링크 | -|:-----|:-----| -| Topics 개요 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-fundamentals) | -| 변수 사용 가이드 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-variables) | -| 글로벌 변수 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-variables-bot) | +| Resource | Link | +|:---------|:-----| +| Topics Overview | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-fundamentals) | +| Variable Usage Guide | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-variables) | +| Global Variables | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/authoring-variables-bot) | --- -다음 모듈: [M10. 게시와 공유](m10-publish-share) +Next module: [M10. Publish and Share](m10-publish-share) diff --git a/docs/m10-1-publish.md b/docs/m10-1-publish.md index d90f911..779a578 100644 --- a/docs/m10-1-publish.md +++ b/docs/m10-1-publish.md @@ -1,28 +1,28 @@ --- -title: "실습① — 게시(Publish)" -parent: "M10. 게시와 공유" +title: "Lab ① — Publish" +parent: "M10. Publishing & Sharing" nav_order: 1 --- -# 실습 ①: 게시(Publish) +# Lab ①: Publish {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:00 | 5분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:00 | 5 min | 🟢 Hands-on Lab | --- ## Step-by-Step -1. Copilot Studio → 에이전트 편집 화면 -2. 우측 상단 **"게시(Publish)"** 클릭 -3. 게시 확인 대화상자 → **"게시"** 클릭 -4. 게시 완료 (1~2분 소요) +1. Copilot Studio → Agent editing screen +2. Click **"Publish"** in the top-right corner +3. In the confirmation dialog → click **"Publish"** +4. Publishing completes (takes 1–2 minutes) {: .highlight } -> 게시 = 최신 변경사항을 **실사용 버전**에 반영하는 단계입니다. 게시하지 않으면 테스트 패널에서만 확인됩니다. +> Publish = the step that deploys your latest changes to the **live version**. Without publishing, changes are only visible in the test panel. --- -실습을 완료했으면 [M10 본문으로 돌아가세요](m10-publish-share). +Once you've completed this lab, [return to the M10 main page](m10-publish-share). diff --git a/docs/m10-2-immersive.md b/docs/m10-2-immersive.md index 229c4c8..c8ee764 100644 --- a/docs/m10-2-immersive.md +++ b/docs/m10-2-immersive.md @@ -1,31 +1,31 @@ --- -title: "실습② — 몰입형 테스트" -parent: "M10. 게시와 공유" +title: "Lab ② — Immersive Test" +parent: "M10. Publishing & Sharing" nav_order: 2 --- -# 실습 ②: Copilot에서 에이전트 사용 (몰입형) +# Lab ②: Use the Agent in Copilot (Immersive) {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:05 | 5분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:05 | 5 min | 🟢 Hands-on Lab | --- -M2에서 배운 **몰입형** 방식입니다. 에이전트 전용 화면에서 1:1로 대화합니다. +This is the **immersive** mode you learned about in M2. You'll have a 1:1 conversation with the agent on its dedicated screen. ## Step-by-Step -1. [M365 Copilot](https://copilot.microsoft.com) 접속 (또는 Teams Copilot) -2. 에이전트 목록에서 **만든 에이전트 이름 클릭** -3. 에이전트 전용 화면이 열림 -4. 질문 입력: **"복지포인트 사용처 알려줘"** -5. 에이전트가 답변하는 것 확인! 🎉 +1. Go to [M365 Copilot](https://copilot.microsoft.com) (or Teams Copilot) +2. In the agent list, **click your agent's name** +3. The agent's dedicated screen opens +4. Enter a question: **"Where can I use my welfare points?"** +5. Confirm the agent responds! 🎉 {: .tip } -> 몰입형은 에이전트와 **집중 대화**할 때 적합합니다. 여러 질문을 연속으로 하거나 깊이 있는 상담이 필요할 때 사용하세요. +> Immersive mode is ideal for **focused conversations** with the agent. Use it when you need to ask multiple questions in a row or have an in-depth consultation. --- -실습을 완료했으면 [M10 본문으로 돌아가세요](m10-publish-share). +Once you've completed this lab, [return to the M10 main page](m10-publish-share). diff --git a/docs/m10-3-at-mention.md b/docs/m10-3-at-mention.md index 2b4c737..6480737 100644 --- a/docs/m10-3-at-mention.md +++ b/docs/m10-3-at-mention.md @@ -1,24 +1,24 @@ --- -title: "실습③ — @호출 테스트" -parent: "M10. 게시와 공유" +title: "Lab ③ — @Mention Test" +parent: "M10. Publishing & Sharing" nav_order: 3 --- -# 실습 ③: @호출 테스트 (인컨텍스트) +# Lab ③: @Mention Test (In-Context) {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:10 | 5분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:10 | 5 min | 🟢 Hands-on Lab | --- -M2에서 배운 **인컨텍스트** 방식입니다. 다른 업무 중 빠르게 질문할 때 편합니다. +This is the **in-context** mode you learned about in M2. It's convenient for quickly asking a question while working on something else. -1. M365 Copilot 채팅 열기 (Teams 또는 브라우저) -2. 입력: `@에이전트이름 복지포인트 사용처 알려줘` -3. 에이전트가 답변하는 것 확인 +1. Open M365 Copilot Chat (Teams or browser) +2. Type: `@YourAgentName Where can I use my welfare points?` +3. Confirm the agent responds --- -실습을 완료했으면 [M10 본문으로 돌아가세요](m10-publish-share). +Once you've completed this lab, [return to the M10 main page](m10-publish-share). diff --git a/docs/m10-publish-share.md b/docs/m10-publish-share.md index 4f1afbe..b1a1802 100644 --- a/docs/m10-publish-share.md +++ b/docs/m10-publish-share.md @@ -1,128 +1,128 @@ --- -title: "M10. 게시와 공유" +title: "M10. Publishing & Sharing" nav_order: 11 has_children: true --- -# 에이전트 게시와 공유 — Copilot에서 에이전트 사용 +# Publishing & Sharing Your Agent — Using Agents in Copilot {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:00 | 20분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:00 | 20 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M10 게시와 공유 — 발사 버튼 누르기](../assets/images/m10/hero.png) +![M10 Publishing & Sharing — Pressing the Launch Button](../assets/images/m10/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- Copilot Studio에서 에이전트를 **게시(Publish)** -- **M365 Copilot에서 에이전트 사용** — 몰입형(전용 화면) + @호출 -- 다른 사람과 사용할 수 있도록 **공유(Share)** -- **재게시** 개념 이해 +- **Publish** an agent from Copilot Studio +- **Use the agent in M365 Copilot** — Immersive (dedicated screen) + @mention +- **Share** the agent so others can use it +- Understand the concept of **republishing** --- -## 용어 먼저 정리 +## Key Terms -| 용어 | 뜻 | -|:-----|:---| -| **게시(Publish)** | Copilot Studio의 최신 변경사항을 사용 채널에 반영할 준비를 하는 단계 | -| **사용 채널** | M365 Copilot, Teams, 웹사이트처럼 실제로 에이전트를 쓰는 위치 | -| **공유(Share)** | 특정 동료나 조직이 그 에이전트를 사용할 수 있게 권한을 주는 단계 | +| Term | Definition | +|:-----|:-----------| +| **Publish** | The step that prepares the latest changes in Copilot Studio for deployment to a channel | +| **Channel** | Where the agent is actually used — M365 Copilot, Teams, a website, etc. | +| **Share** | The step that grants specific colleagues or an organization permission to use the agent | --- -## 사용 채널 4가지 +## Four Available Channels -| 채널 | 추천 상황 | 오늘 실습 | -|:-----|:---------|:---------| -| **M365 Copilot (몰입형)** | 에이전트 전용 화면에서 집중 대화 | ✅ 실습 | -| **M365 Copilot (@호출)** | 빠르게 사용 (인컨텍스트) | ✅ 실습 | -| Microsoft Teams | 팀 내부용·협업 도구 연동 | 소개만 | -| 웹사이트 임베드 | 외부 고객 대상 | 소개만 | +| Channel | Recommended For | Today's Lab | +|:--------|:---------------|:------------| +| **M365 Copilot (Immersive)** | Focused conversations on a dedicated agent screen | ✅ Lab | +| **M365 Copilot (@mention)** | Quick, in-context use | ✅ Lab | +| Microsoft Teams | Internal team use & collaboration tool integration | Overview only | +| Website Embed | External customer-facing scenarios | Overview only | --- -## 실습 ①: 게시(Publish) +## Lab ①: Publish {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: 게시(Publish)](m10-1-publish)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Publish](m10-1-publish) and then come back here. --- -## 실습 ②: Copilot에서 에이전트 사용 (몰입형) +## Lab ②: Use the Agent in Copilot (Immersive) {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: 몰입형 테스트](m10-2-immersive)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Immersive Test](m10-2-immersive) and then come back here. --- -## 실습 ③: @호출 테스트 (인컨텍스트) +## Lab ③: @Mention Test (In-Context) {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ③: @호출 테스트](m10-3-at-mention)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ③: @Mention Test](m10-3-at-mention) and then come back here. --- -## 게시 후 공유 +## Sharing After Publishing -에이전트를 동료와 공유하려면: -- 에이전트 **설정 → 공유** → 동료 이메일 입력 -- 또는 관리자가 **조직 전체 사용 정책**으로 노출 +To share the agent with colleagues: +- Go to agent **Settings → Share** → enter a colleague's email +- Or have an admin expose it through an **organization-wide usage policy** --- -## 재게시 +## Republishing {: .important } -> **게시는 1회성이 아닙니다.** 에이전트를 수정할 때마다 다시 게시해야 Copilot에 반영됩니다. +> **Publishing is not a one-time action.** Every time you modify the agent, you must publish again for the changes to take effect in Copilot. -M11~M12에서 커넥터·흐름을 추가한 뒤 → **다시 게시 버튼** 누르기 -→ Copilot의 에이전트에 새 기능이 즉시 반영됩니다. +After adding connectors and flows in M11–M12 → click the **Publish button** again +→ The new capabilities are immediately reflected in the Copilot agent. --- -## 핵심 정리 +## Key Takeaways -1. **게시** = 최신 버전을 사용 채널에 반영하는 단계 -2. **몰입형** = Copilot에서 에이전트 이름 클릭 → 전용 화면에서 집중 대화 -3. **@호출** = Copilot 채팅에서 빠르게 질문 -4. **공유** = 다른 사람이 쓸 수 있도록 권한을 주는 단계 -5. **수정 후에는 반드시 재게시** +1. **Publish** = the step that deploys the latest version to a channel +2. **Immersive** = click the agent name in Copilot → focused conversation on a dedicated screen +3. **@Mention** = quickly ask a question from within Copilot Chat +4. **Share** = grant others permission to use the agent +5. **Always republish after making changes** --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| Copilot에서 에이전트가 안 보여요 | 게시 후 1~3분 소요됩니다. 새로고침 후 다시 확인해 보세요. | -| @호출이 안 됩니다 | 게시 여부 확인, Copilot 채널 활성화 확인, 관리자 정책 확인이 필요합니다. | -| 다른 팀원도 바로 쓸 수 있나요? | 공유 설정에서 추가하거나 관리자 정책으로 조직 전체에 노출할 수 있습니다. | -| 게시를 되돌릴 수 있나요? | 채널에서 비활성화하거나 에이전트를 비게시 상태로 전환할 수 있습니다. | +| Question | Answer | +|:---------|:-------| +| I can't see my agent in Copilot | It takes 1–3 minutes after publishing. Try refreshing and checking again. | +| @mention isn't working | Verify the agent is published, the Copilot channel is enabled, and admin policies allow it. | +| Can other team members use it right away? | Add them via the Share settings, or have an admin expose the agent organization-wide. | +| Can I undo a publish? | You can deactivate the channel or switch the agent to an unpublished state. | --- -## 참조 자료 +## Reference Materials -| 자료 | 링크 | -|:-----|:-----| -| 에이전트 게시 기본 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-fundamentals-publish-channels) | -| Teams에 에이전트 배포 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams) | -| M365 Copilot 에이전트 연결 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-365-copilot/extensibility/) | -| 에이전트 공유 및 협업 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/admin-share-bots) | +| Resource | Link | +|:---------|:-----| +| Agent Publishing Basics | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-fundamentals-publish-channels) | +| Deploy Agent to Teams | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/publication-add-bot-to-microsoft-teams) | +| M365 Copilot Agent Integration | [learn.microsoft.com](https://learn.microsoft.com/microsoft-365-copilot/extensibility/) | +| Agent Sharing & Collaboration | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/admin-share-bots) | --- -다음 모듈: [M11. 도구 — 커넥터](m11-connector) +Next module: [M11. Tools — Connectors](m11-connector) diff --git a/docs/m11-1-excel-prep.md b/docs/m11-1-excel-prep.md index 867da60..ba2f2c4 100644 --- a/docs/m11-1-excel-prep.md +++ b/docs/m11-1-excel-prep.md @@ -1,34 +1,34 @@ --- -title: "실습① — Excel 파일 준비" -parent: "M11. 도구 — 커넥터" +title: "Lab ① — Prepare the Excel File" +parent: "M11. Tools — Connectors" nav_order: 1 --- -# 실습 ①: Excel 파일 준비 +# Lab ①: Prepare the Excel File {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:20 | 5분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:20 | 5 min | 🟢 Hands-on Lab | --- {: .important } -> **OneDrive for Business**와 **Excel Online (Business)** 접근 권한이 있어야 합니다. 조직 정책상 OneDrive 사용이 제한되어 있으면 같은 구조로 **SharePoint 문서 라이브러리**를 사용해도 됩니다. +> You need access to **OneDrive for Business** and **Excel Online (Business)**. If your organization's policies restrict OneDrive usage, you can use a **SharePoint document library** with the same structure instead. -1. **OneDrive** 접속 → 새 Excel 파일 생성: `대화기록.xlsx` -2. **Sheet1**에 테이블 만들기: +1. Go to **OneDrive** → create a new Excel file: `대화기록.xlsx` +2. Create a table in **Sheet1**: -| 시간 | 사용자 | 질문 | 답변 | -|:-----|:------|:-----|:-----| -| (비워두기) | | | | +| Time | User | Question | Answer | +|:-----|:-----|:---------|:-------| +| (leave empty) | | | | -3. 표 전체 선택 → **"삽입" → "표"** → 확인 -4. **저장** +3. Select the entire range → **"Insert" → "Table"** → confirm +4. **Save** {: .tip } -> 반드시 **표(Table)**로 만들어야 Copilot Studio의 Excel 커넥터에서 행을 추가할 수 있습니다. +> You must format it as a **Table** for Copilot Studio's Excel connector to be able to add rows. --- -실습을 완료했으면 [M11 본문으로 돌아가세요](m11-connector). +Once you've completed this lab, [return to the M11 main page](m11-connector). diff --git a/docs/m11-2-record-topic.md b/docs/m11-2-record-topic.md index 041845a..44b7686 100644 --- a/docs/m11-2-record-topic.md +++ b/docs/m11-2-record-topic.md @@ -1,72 +1,72 @@ --- -title: "실습② — Record Topic + Excel 커넥터" -parent: "M11. 도구 — 커넥터" +title: "Lab ② — Record Topic + Excel Connector" +parent: "M11. Tools — Connectors" nav_order: 2 --- -# 실습 ②: Record Topic에서 Excel 커넥터 연결하기 +# Lab ②: Connect the Excel Connector in the Record Topic {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:25 | 20분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:25 | 20 min | 🟢 Hands-on Lab | --- -## Step 1 — Topic 생성 + 트리거 설정 +## Step 1 — Create the Topic + Set the Trigger -1. Copilot Studio → **토픽** → **"+ 토픽 추가"** → **"새로 만들기"** -2. Topic 이름: `Record Topic` -3. 트리거 노드 클릭 → **"트리거 변경"** 선택 -4. 트리거 유형 목록에서 **"응답 후(After response)"** 선택 - - 이것이 "AI가 응답을 생성할 때마다 자동 실행"의 의미입니다 +1. Copilot Studio → **Topics** → **"+ Add a topic"** → **"From blank"** +2. Topic name: `Record Topic` +3. Click the trigger node → select **"Change trigger"** +4. From the trigger type list, select **"After response"** + - This means "automatically runs every time the AI generates a response" {: .highlight } -> 일반 Topic의 트리거는 **"문구(Phrases)"**입니다. Record Topic은 **"응답 후"** 트리거를 사용하기 때문에, 사용자가 특정 말을 하지 않아도 **매번 자동으로 실행**됩니다. +> A regular Topic's trigger is **"Phrases"**. Because the Record Topic uses an **"After response"** trigger, it **runs automatically every time** — even without the user saying anything specific. -## Step 2 — Excel 커넥터 추가 +## Step 2 — Add the Excel Connector -5. 트리거 아래 **"+"** 클릭 → **"작업 호출"** 선택 -6. 커넥터 검색창에서 **"Excel"** 검색 → **"Excel Online (Business)"** 선택 -7. 동작 목록에서 **"표에 행 추가"** 선택 -8. 연결 승인 팝업이 나타나면 **"승인"** 클릭 (Microsoft 365 계정으로 로그인) +5. Click **"+"** below the trigger → select **"Call an action"** +6. Search for **"Excel"** in the connector search bar → select **"Excel Online (Business)"** +7. From the action list, select **"Add a row into a table"** +8. When the connection authorization popup appears, click **"Authorize"** (sign in with your Microsoft 365 account) -## Step 3 — Excel 파일 연결 + 매핑 +## Step 3 — Connect the Excel File + Map Columns -9. 설정 항목을 아래와 같이 지정합니다: +9. Set the configuration fields as follows: -| 항목 | 값 | -|:-----|:---| -| 위치 | **OneDrive for Business** | -| 문서 라이브러리 | (기본값) | -| 파일 | `대화기록.xlsx` 선택 | -| 표 | `표1` 선택 | +| Field | Value | +|:------|:------| +| Location | **OneDrive for Business** | +| Document Library | (default) | +| File | Select `대화기록.xlsx` | +| Table | Select `Table1` | -10. 컬럼 매핑 (각 컬럼 오른쪽 입력란 클릭 → 변수 삽입): +10. Column mapping (click the input field to the right of each column → insert variable): -| Excel 컬럼 | 매핑 값 | 설명 | -|:-----------|:---------|:-----| -| 시간 | `utcNow()` (수식 입력) | 현재 시각 | -| 사용자 | `System.User.PrincipalName` | 질문한 사람 | -| 질문 | `System.Activity.Text` | 사용자 입력 | -| 답변 | `System.Response.FormattedText` | 에이전트 응답 | +| Excel Column | Mapped Value | Description | +|:-------------|:-------------|:------------| +| Time | `utcNow()` (enter as formula) | Current timestamp | +| User | `System.User.PrincipalName` | Person who asked | +| Question | `System.Activity.Text` | User input | +| Answer | `System.Response.FormattedText` | Agent response | -11. **저장** +11. **Save** {: .tip } -> 이 Topic은 사용자가 직접 호출하지 않습니다. "응답이 생성될 때마다 실행"되는 자동 Topic이고, 안에서 **Excel 커넥터를 바로 호출**합니다. +> This Topic is not invoked by the user directly. It's an automatic Topic that "runs every time a response is generated," and it **calls the Excel connector directly** from within. --- -## 테스트 +## Test -1. 테스트 패널에서 아무 질문 입력: **"연차 며칠이야?"** -2. 에이전트가 답변 -3. **OneDrive → 대화기록.xlsx** 열기 → 새 행이 추가되어 있는지 확인! 🎉 +1. Enter any question in the test panel: **"How many vacation days do I have?"** +2. The agent responds +3. Open **OneDrive → 대화기록.xlsx** → verify that a new row has been added! 🎉 {: .important } -> Excel에 시간·사용자·질문·답변이 쌓이는 걸 확인하면 성공입니다. +> If you can see the Time, User, Question, and Answer being populated in Excel, you've succeeded. --- -실습을 완료했으면 [M11 본문으로 돌아가세요](m11-connector). +Once you've completed this lab, [return to the M11 main page](m11-connector). diff --git a/docs/m11-connector.md b/docs/m11-connector.md index 6d3d2de..4751101 100644 --- a/docs/m11-connector.md +++ b/docs/m11-connector.md @@ -1,162 +1,162 @@ --- -title: "M11. 도구 — 커넥터" +title: "M11. Tools — Connectors" nav_order: 12 has_children: true --- -# 도구 — 커넥터 +# Tools — Connectors {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:20 | 30분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:20 | 30 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M11 커넥터 — 자동으로 일기 쓰는 AI](../assets/images/m11/hero.png) +![M11 Connectors — An AI That Automatically Keeps a Journal](../assets/images/m11/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **커넥터(Connector)**란 무엇인지 — Microsoft 365 앱을 에이전트에 직접 연결하는 원리 -- 커넥터와 에이전트 흐름의 **차이점** -- Excel **행 추가 커넥터**를 활용한 **대화기록 자동 저장** 실습 -- Record Topic에서 **Excel 커넥터를 직접 호출**해 대화가 Excel에 자동으로 쌓이는 것 확인 +- What a **Connector** is — the principle of directly connecting Microsoft 365 apps to your agent +- The **differences** between connectors and Agent Flows +- Hands-on lab using the Excel **Add a Row** connector for **automatic conversation logging** +- Calling the **Excel connector directly from a Record Topic** to verify conversations are automatically saved to Excel --- -## 커넥터란? +## What Is a Connector? -**커넥터**는 Microsoft 365 앱(예: Excel, Outlook, Teams, SharePoint)에 에이전트를 하나의 동작으로 **직접 연결**하는 가장 간단한 도구입니다. +A **connector** is the simplest tool for **directly connecting** your agent to a Microsoft 365 app (e.g., Excel, Outlook, Teams, SharePoint) with a single action. -| 커넥터 | 에이전트 흐름(M12) | -|:--------|:----------------| -| 단일 앱 직접 연결 | 여러 단계 자동화 | -| 단순한 동작 | 복잡한 로직 담당 | -| 빠른 적용 | 높은 유연성 | +| Connector | Agent Flow (M12) | +|:----------|:-----------------| +| Direct connection to a single app | Multi-step automation | +| Simple actions | Handles complex logic | +| Quick to set up | Highly flexible | {: .highlight } -> 커넥터는 M365 앱 범위 내에서 단순한 작업에 적합하고, 에이전트 흐름은 **여러 단계를 엮어 복잡한 자동화**에 적합합니다. +> Connectors are ideal for simple tasks within the M365 app ecosystem, while Agent Flows are better suited for **complex automation that chains multiple steps together**. -이 모듈에서는 Excel **행 추가 커넥터**를 예시로 사용합니다. Topic 안에서 커넥터를 바로 호출해, 에이전트와 대화한 내용이 Excel에 자동으로 기록되게 만듭니다. +In this module, we'll use the Excel **Add a Row** connector as our example. We'll call the connector directly from within a Topic so that conversations with the agent are automatically recorded in Excel. --- -## 왜 대화를 정리합니까? +## Why Log Conversations? -에이전트의 모든 대화를 **자동으로 Excel에 기록**하면 3가지 가치가 생깁니다. +**Automatically recording** all agent conversations to Excel creates three types of value. -| 목적 | 설명 | -|:-----|:-----| -| **에이전트 개선** | 자주 묻는 질문 파악 → 지식 보강 | -| **감사/컴플라이언스** | 누가, 언제, 뭘 물어봤는지 투명한 기록 | -| **업무 분석** | 질문 패턴으로 실제 업무 니즈 발견 | +| Purpose | Description | +|:--------|:------------| +| **Agent Improvement** | Identify frequently asked questions → reinforce knowledge sources | +| **Audit / Compliance** | Transparent record of who asked what and when | +| **Business Analysis** | Discover real business needs from question patterns | --- -## 대화기록 구조 +## Conversation Logging Architecture ```mermaid flowchart LR - A[👤 질문] --> B[🤖 에이전트 답변] - B --> C[🎬 Record Topic
자동 트리거] - C --> D[🔌 Excel 행 추가
커넥터 호출] - D --> E[📊 Excel에
행 자동 추가] + A[👤 Question] --> B[🤖 Agent Response] + B --> C[🎬 Record Topic
Auto-trigger] + C --> D[🔌 Excel Add Row
Connector Call] + D --> E[📊 Row Automatically
Added to Excel] ``` -### Excel 기록 항목 +### Excel Record Fields -| 컬럼 | 값 | 설명 | -|:-----|:---|:-----| -| 시간 | `utcNow()` | 대화 발생 시각 | -| 사용자 | `System.User.PrincipalName` | 질문한 사람 | -| 질문 | `System.Activity.Text` | 사용자 입력 | -| 답변 | `System.Response.FormattedText` | 에이전트 응답 | +| Column | Value | Description | +|:-------|:------|:------------| +| Time | `utcNow()` | Timestamp of the conversation | +| User | `System.User.PrincipalName` | Person who asked the question | +| Question | `System.Activity.Text` | User input | +| Answer | `System.Response.FormattedText` | Agent response | -### Record Topic의 특별한 점 +### What Makes Record Topic Special -일반 Topic은 사용자가 특정 질문을 해야 실행됩니다. -하지만 Record Topic은 **"AI가 응답을 생성할 때마다"** 자동 실행됩니다. +A regular Topic only runs when the user asks a specific question. +But a Record Topic **runs automatically every time the AI generates a response**. {: .highlight } -> 사용자는 기록되는 줄도 모릅니다. 에이전트가 **자동으로 일기를 쓰는 것**입니다. +> The user doesn't even know they're being logged. It's like the agent is **automatically keeping a journal**. --- -## 실습 ①: Excel 파일 준비 +## Lab ①: Prepare the Excel File {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: Excel 파일 준비](m11-1-excel-prep)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Prepare the Excel File](m11-1-excel-prep) and then come back here. --- -## 실습 ②: Record Topic에서 Excel 커넥터 연결하기 +## Lab ②: Connect the Excel Connector in the Record Topic {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: Record Topic + Excel 커넥터](m11-2-record-topic)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Record Topic + Excel Connector](m11-2-record-topic) and then come back here. --- -## 데이터 활용 시나리오 +## Data Utilization Scenarios -기록된 데이터로 이런 분석이 가능합니다. +Here's what you can analyze with the recorded data. -| 시나리오 | 분석 방법 | 기대 효과 | -|:---------|:---------|:---------| -| **자주 묻는 질문 TOP 10** | 질문 컬럼 키워드 분류 | 지식 소스 보강 우선순위 | -| **답변 실패 패턴** | "모르겠습니다" 필터링 | 부족한 교과서 파악 | -| **사용량 추이** | 시간대별/요일별 집계 | 서비스 시간 최적화 | -| **사용자별 현황** | Pivot 분석 | 교육 대상 파악 | +| Scenario | Analysis Method | Expected Outcome | +|:---------|:---------------|:-----------------| +| **Top 10 Frequently Asked Questions** | Keyword classification of the Question column | Prioritize knowledge source improvements | +| **Failed Answer Patterns** | Filter for "I don't know" responses | Identify gaps in knowledge (textbooks) | +| **Usage Trends** | Aggregate by time of day / day of week | Optimize service hours | +| **Per-User Breakdown** | Pivot analysis | Identify training needs | {: .tip } -> Copilot에게 "이 데이터에서 가장 많이 묻는 질문 TOP 5를 알려줘"라고 물으면 **자동으로 분석**해 줍니다. +> Ask Copilot "Show me the top 5 most frequently asked questions from this data" and it will **analyze it automatically**. --- -## M12로 넘어가기 +## Transitioning to M12 -강사는 아래처럼 연결하면 자연스럽습니다. +Here's a natural way for instructors to bridge to the next module: -> 방금 한 것은 Power Automate 흐름을 만든 것이 아니라, **Topic 안에서 Excel 커넥터를 바로 호출해 한 줄을 저장한 것**입니다. 즉, 앱 하나에 단일 동작을 바로 붙여본 것입니다. 다음 M12에서는 여기서 한 단계 더 나아가, 정보를 수집하고 AI로 문안을 만들고 메일까지 보내는 **여러 단계 자동화 흐름**으로 확장하겠습니다. +> What we just did was NOT creating a Power Automate flow — we **called an Excel connector directly from within a Topic to save a single row**. In other words, we attached a single action directly to one app. In M12, we'll take it a step further and expand into a **multi-step automation flow** that collects information, drafts content with AI, and even sends emails. --- -## 핵심 정리 +## Key Takeaways -1. **Record Topic** = 모든 대화를 자동으로 감지하는 특수 Topic -2. **Excel 행 추가 커넥터** = Topic 안에서 바로 호출해 대화 내용을 자동 기록 -3. 기록된 데이터로 **에이전트 개선·감사·업무 분석** 가능 -4. M12에서는 이 단일 동작을 넘어, **여러 단계를 묶는 Agent Flow**로 확장합니다 +1. **Record Topic** = a special Topic that automatically captures every conversation +2. **Excel Add a Row connector** = called directly from a Topic to automatically log conversation content +3. Recorded data enables **agent improvement, auditing, and business analysis** +4. In M12, we'll go beyond this single action and expand into **multi-step Agent Flows** --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| Excel 말고 다른 곳에 저장할 수 있나요? | Dataverse, SQL, SharePoint 리스트 등 가능합니다. Excel이 가장 간단합니다. | -| Excel에 행 제한이 있나요? | 있습니다. 대량 운영 시 Dataverse나 DB를 권장합니다. | -| 개인정보 보호는 어떻게 하나요? | M1의 보안 정책이 적용됩니다. 사용자명 익명화도 가능합니다. | -| OneDrive가 막혀 있으면 어떻게 하나요? | SharePoint 문서 라이브러리나 Dataverse 같은 대체 저장소로 같은 구조를 구현할 수 있습니다. | -| 바로 오늘 팀에서 쓸 수 있나요? | 커넥터 연결과 저장소 권한이 모두 준비돼 있으면 바로 사용 가능합니다. | +| Question | Answer | +|:---------|:-------| +| Can I save to something other than Excel? | Yes — Dataverse, SQL, SharePoint lists, and more. Excel is simply the easiest option. | +| Is there a row limit in Excel? | Yes. For large-scale operations, Dataverse or a database is recommended. | +| How is personal data protected? | The security policies from M1 apply. User names can also be anonymized. | +| What if OneDrive is blocked? | You can implement the same structure using a SharePoint document library or Dataverse as an alternative storage location. | +| Can my team start using this today? | Yes, as long as the connector connection and storage permissions are all set up. | --- -## 참조 자료 +## Reference Materials -| 자료 | 링크 | -|:-----|:-----| -| Copilot Studio 분석 대시보드 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/analytics-overview) | -| Power Automate Excel 커넥터 | [learn.microsoft.com](https://learn.microsoft.com/connectors/excelonlinebusiness/) | -| 에이전트 성능 모니터링 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/analytics-sessions) | +| Resource | Link | +|:---------|:-----| +| Copilot Studio Analytics Dashboard | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/analytics-overview) | +| Power Automate Excel Connector | [learn.microsoft.com](https://learn.microsoft.com/connectors/excelonlinebusiness/) | +| Agent Performance Monitoring | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/analytics-sessions) | --- -다음 모듈: [M12. 도구 — 에이전트 흐름](m12-agent-flow) +Next module: [M12. Tools — Agent Flows](m12-agent-flow) diff --git a/docs/m12-1-create-flow.md b/docs/m12-1-create-flow.md index 5b34803..94415b5 100644 --- a/docs/m12-1-create-flow.md +++ b/docs/m12-1-create-flow.md @@ -1,48 +1,48 @@ --- -title: "실습① — 흐름 만들기" -parent: "M12. 도구 — 에이전트 흐름" +title: "Lab ① — Create a Flow" +parent: "M12. Tools — Agent Flow" nav_order: 1 --- -# 실습: Power Automate 흐름 만들기 +# Lab: Create a Power Automate Flow {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:50 | 15분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:50 | 15 min | 🟢 Hands-on Lab | --- -## 흐름 구조 — RequestByEmail - -| 항목 | 내용 | -|:-----|:-----| -| **흐름 이름** | RequestByEmail | -| **트리거** | Copilot Studio에서 흐름을 호출할 때 | -| **입력 ①** | `myRequest` (텍스트): 문의 내용 | -| **입력 ②** | `mySender` (텍스트): 문의자 이름 | -| **입력 ③** | `myEmail` (텍스트): 담당자 메일 주소 | -| **동작 ①** | AI 프롬프트로 메일 본문 생성 | -| **동작 ②** | Office 365 Outlook으로 메일 발송 | -| **출력** | `myReturn`: 완료 메시지 | - -## 실습 순서 - -1. [Power Automate](https://make.powerautomate.com) 접속 -2. **만들기 → 즉시 클라우드 흐름** 선택 -3. 트리거: **Copilot Studio에서 흐름을 호출할 때** 선택 -4. 입력 변수 3개 추가 (`myRequest`, `mySender`, `myEmail`) -5. **AI Builder → AI 프롬프트** 동작 추가 → 메일 본문 생성 프롬프트 입력 -6. **Office 365 Outlook → 메일 보내기** 동작 추가 -7. 출력 변수 `myReturn` 추가 -8. **저장 → 게시** +## Flow Structure — RequestByEmail + +| Item | Details | +|:-----|:--------| +| **Flow name** | RequestByEmail | +| **Trigger** | When a flow is invoked from Copilot Studio | +| **Input ①** | `myRequest` (text): Inquiry content | +| **Input ②** | `mySender` (text): Sender's name | +| **Input ③** | `myEmail` (text): Contact person's email address | +| **Action ①** | Generate email body with an AI Prompt | +| **Action ②** | Send email via Office 365 Outlook | +| **Output** | `myReturn`: Completion message | + +## Lab Steps + +1. Go to [Power Automate](https://make.powerautomate.com) +2. Select **Create → Instant cloud flow** +3. Trigger: Select **When a flow is invoked from Copilot Studio** +4. Add 3 input variables (`myRequest`, `mySender`, `myEmail`) +5. Add an **AI Builder → AI Prompt** action → Enter the email body generation prompt +6. Add an **Office 365 Outlook → Send an email** action +7. Add the output variable `myReturn` +8. **Save → Publish** {: .important } -> AI Builder 프롬프트는 AI Builder 크레딧이 필요합니다. 조직 정책에 따라 사용 불가일 수 있습니다. 이 경우 AI 프롬프트 단계를 건너뛰고 직접 메일 본문을 작성합니다. +> AI Builder Prompts require AI Builder credits. Depending on your organization's policies, this may not be available. If so, skip the AI Prompt step and compose the email body manually. {: .note } -> 이 모듈의 목표는 **텍스트 AI 프롬프트를 한 번 넣어 보는 것**입니다. AI 프롬프트의 종류와 확장 시나리오는 다음 M13에서 따로 정리합니다. +> The goal of this module is to **try adding a text-based AI Prompt once**. The different types of AI Prompts and advanced scenarios are covered separately in M13. --- -실습을 완료했으면 [M12 본문으로 돌아가세요](m12-agent-flow). +Once you have completed this lab, [return to the M12 main page](m12-agent-flow). diff --git a/docs/m12-2-connect-flow.md b/docs/m12-2-connect-flow.md index 5426418..f50d8ce 100644 --- a/docs/m12-2-connect-flow.md +++ b/docs/m12-2-connect-flow.md @@ -1,34 +1,34 @@ --- -title: "실습② — 에이전트에 흐름 연결" -parent: "M12. 도구 — 에이전트 흐름" +title: "Lab ② — Connect the Flow to Your Agent" +parent: "M12. Tools — Agent Flow" nav_order: 2 --- -# 실습: 에이전트에 흐름 연결하기 +# Lab: Connect the Flow to Your Agent {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 16:05 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 16:05 | 10 min | 🟢 Hands-on Lab | --- -## Request Topic 만들기 +## Create the Request Topic -1. Copilot Studio → **토픽 → + 토픽 추가** -2. 이름: `Request Topic` -3. 질문 노드: 문의 내용 수집 → 변수 저장 -4. 작업 노드: **RequestByEmail** 흐름 호출 -5. 입력 매핑: - - `myRequest` → 문의 내용 변수 +1. Copilot Studio → **Topics → + Add a topic** +2. Name: `Request Topic` +3. Question node: Collect the inquiry content → Save to a variable +4. Action node: Invoke the **RequestByEmail** flow +5. Input mapping: + - `myRequest` → Inquiry content variable - `mySender` → `System.User.DisplayName` - - `myEmail` → 담당자 메일 주소 -6. 메시지 노드: 전달 완료 메시지 출력 -7. **저장 → 게시** + - `myEmail` → Contact person's email address +6. Message node: Display a confirmation message +7. **Save → Publish** {: .tip } -> 지침의 STRICT RULES에 "담당자 문의가 필요할 때는 반드시 Request Topic을 실행하라"고 추가하면 오케스트레이터가 이 토픽을 더 잘 채택합니다. +> Adding a rule like "When a contact inquiry is needed, always run Request Topic" to the STRICT RULES in your instructions helps the orchestrator select this topic more reliably. --- -실습을 완료했으면 [M12 본문으로 돌아가세요](m12-agent-flow). +Once you have completed this lab, [return to the M12 main page](m12-agent-flow). diff --git a/docs/m12-agent-flow.md b/docs/m12-agent-flow.md index 4bf17f0..4df7e24 100644 --- a/docs/m12-agent-flow.md +++ b/docs/m12-agent-flow.md @@ -1,61 +1,61 @@ --- -title: "M12. 도구 — 에이전트 흐름" +title: "M12. Tools — Agent Flow" nav_order: 13 has_children: true --- -# 도구 에이전트 흐름 +# Tools — Agent Flow {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 15:50 | 30분 | 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 15:50 | 30 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M12 에이전트 흐름 — 여러 단계 자동화 컨베이어 벨트](../assets/images/m12/hero.png) +![M12 Agent Flow — Multi-step automation conveyor belt](../assets/images/m12/hero.png) --- -## 이 모듈에서 배우는 것 +## What You Will Learn -- **에이전트 흐름(Agent Flow)**이 커넥터와 무엇이 다른지 -- Power Automate로 **담당자에게 문의 메일 보내기** 흐름 만들기 -- 에이전트에서 흐름을 **도구로 연결**하고 호출하는 방법 -- 간단한 **AI 프롬프트**를 흐름 안에 한 단계로 넣어보는 방법 +- How **Agent Flow** differs from a connector +- Building a **"Send inquiry email to a contact person"** flow with Power Automate +- How to **connect and invoke a flow as a tool** from your agent +- How to add a simple **AI Prompt** as a step inside the flow {: .highlight } -> M11에서는 Topic 안에서 Excel 커넥터를 **바로 호출해 한 줄을 저장**했습니다. 에이전트 흐름은 그보다 한 단계 더 나아가, **여러 단계를 묶어서 자동화**하는 방식입니다. 사용자가 문의를 넣으면 에이전트가 담당자에게 자동으로 메일을 보냅니다. +> In M11, we called an Excel connector **directly inside a Topic to save a single row**. Agent Flow takes it one step further — it **chains multiple steps together into an automated workflow**. When a user submits an inquiry, the agent automatically sends an email to the contact person. --- -## 커넥터 vs 에이전트 흐름 +## Connector vs Agent Flow -| 구분 | 커넥터 | 에이전트 흐름 | -|:-----|:-------|:------------| -| 방식 | 단일 앱 직접 연결 | 여러 단계 자동화 | -| 복잡도 | 낮음 | 중간~높음 | -| 유연성 | 제한적 | 높음 | -| 예시 | Excel 행 추가 | 정보 수집 AI 작성 메일 발송 | +| Aspect | Connector | Agent Flow | +|:-------|:----------|:-----------| +| Approach | Direct single-app connection | Multi-step automation | +| Complexity | Low | Medium to High | +| Flexibility | Limited | High | +| Example | Add an Excel row | Collect info → AI drafts message → Send email | {: .note } -> 구분 기준은 간단합니다. **한 앱에 한 동작을 바로 붙이면 커넥터**, **여러 단계를 묶어 처리하면 에이전트 흐름**입니다. +> The rule of thumb is simple: **if you connect one action to one app, it's a connector**; **if you chain multiple steps together, it's an Agent Flow**. --- -## 전체 흐름 구조 +## End-to-End Flow Structure ```mermaid flowchart LR - A[ 담당자한테\n문의 넣어줘] --> B[ Request Topic\n정보 수집] - B --> C[ 에이전트 흐름\nRequestByEmail] - C --> C1[ AI 프롬프트\n메일 본문 생성] - C1 --> D[ 담당자 메일로\n문의 내용 전달] - D --> E[ 전달 완료되었습니다] + A[Send an inquiry\nto the contact] --> B[Request Topic\nCollect info] + B --> C[Agent Flow\nRequestByEmail] + C --> C1[AI Prompt\nGenerate email body] + C1 --> D[Send inquiry\nvia email] + D --> E[Your request has\nbeen forwarded] style C fill:#ffd,stroke:#cc0 style C1 fill:#ffd,stroke:#cc0 @@ -64,28 +64,28 @@ flowchart LR --- -## 실습 ①: Power Automate 흐름 만들기 +## Lab ①: Create a Power Automate Flow {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: 흐름 만들기](m12-1-create-flow)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Create a Flow](m12-1-create-flow) and come back here. --- -## 실습 ②: 에이전트에 흐름 연결하기 +## Lab ②: Connect the Flow to Your Agent {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: 에이전트에 흐름 연결](m12-2-connect-flow)을 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Connect the Flow to Your Agent](m12-2-connect-flow) and come back here. --- -## 핵심 정리 +## Key Takeaways -1. 에이전트 흐름 = 여러 단계를 묶어 자동화하는 Power Automate 흐름 -2. 에이전트에서 흐름을 **도구(Action)**로 연결하면 대화로 자동화 실행 가능 -3. AI 프롬프트를 흐름 안에 넣으면 메일 본문도 AI가 자동 작성 +1. Agent Flow = a Power Automate flow that chains multiple steps into an automation +2. When you connect a flow as a **tool (Action)** in your agent, you can trigger automation through conversation +3. Adding an AI Prompt inside the flow lets AI automatically draft the email body --- -다음 모듈: [M13. 도구 — AI 프롬프트](m13-ai-prompt) +Next module: [M13. Tools — AI Prompt](m13-ai-prompt) diff --git a/docs/m13-ai-prompt.md b/docs/m13-ai-prompt.md index 8610cc3..4ad7187 100644 --- a/docs/m13-ai-prompt.md +++ b/docs/m13-ai-prompt.md @@ -1,153 +1,153 @@ --- -title: "M13. 도구 — AI 프롬프트" +title: "M13. Tools — AI Prompt" nav_order: 14 --- -# 고급도구 — AI 프롬프트 +# Advanced Tools — AI Prompt {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 16:20 | 10분 | 👀 강사 데모 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 16:20 | 10 min | 👀 Instructor Demo | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M13 AI 프롬프트 — 흐름 안에 AI를 심다](../assets/images/m13/hero.png) +![M13 AI Prompt — Embedding AI inside a flow](../assets/images/m13/hero.png) --- -## 이 모듈에서 배우는 것 +## What You Will Learn -- **AI 프롬프트** = Flow 안에 AI를 심는 기능 -- **4가지 유형** 구분 (텍스트·멀티모달·코드 인터프리터·Word 출력) -- M3 샘플의 **내부 동작 원리** 이해 -- 실무 적용 아이디어 +- **AI Prompt** = a feature that embeds AI inside a Flow +- Distinguishing the **4 prompt types** (Text · Multimodal · Code Interpreter · Word Output) +- Understanding the **inner workings** of the M3 samples +- Ideas for real-world applications {: .highlight } -> M12에서 문의 메일을 보내는 흐름에 **텍스트 AI 프롬프트를 한 단계 넣어** 메일 본문을 생성해 봤습니다. 이 모듈에서는 방금 사용한 기능을 분해해서, **AI 프롬프트가 무엇이고 어디까지 확장할 수 있는지**를 정리합니다. +> In M12, we added **a text-based AI Prompt step** to the inquiry email flow to generate the email body. In this module, we break down the feature we just used and explore **what AI Prompt is and how far it can be extended**. --- -## Flow에 AI를 심는다 +## Embedding AI in a Flow -Power Automate 흐름의 기본 뼈대는 **규칙 기반 자동화**입니다. -"이 입력을 받으면 이걸 실행해라" — 정해진 순서대로 동작합니다. +The basic backbone of a Power Automate flow is **rule-based automation**. +"When this input is received, execute this action" — it runs in a predetermined sequence. -여기에 AI 프롬프트를 추가하면, 흐름 안에 **생성·분류·요약 같은 AI 단계**가 들어갑니다. +When you add an AI Prompt, the flow gains **AI-powered steps such as generation, classification, and summarization**. -| 상태 | Flow의 성격 | -|:-----|:-----------| -| **AI 프롬프트 전** | 규칙 기반 자동화 — 정해진 대로 실행 | -| **AI 프롬프트 후** | 판단하는 자동화 — 프롬프트로 AI가 분석·생성·분류 | +| State | Nature of the Flow | +|:------|:-------------------| +| **Before AI Prompt** | Rule-based automation — runs as prescribed | +| **After AI Prompt** | Intelligent automation — AI analyzes, generates, and classifies via prompt | {: .highlight } -> **AI 프롬프트 하나가 추가되면, 규칙 기반 흐름 안에 AI 판단 단계가 들어옵니다.** +> **Adding a single AI Prompt introduces an AI decision-making step into a rule-based flow.** --- -## 4가지 AI 프롬프트 유형 +## The 4 Types of AI Prompt -| 유형 | 하는 일 | 예시 | 오늘 과정과 연결 | -|:-----|:--------|:-----|:----------------| -| **텍스트** | 생성·분류·요약·추출 | 고객 문의 → 카테고리 자동 분류 | **M12** 문의 내용을 메일 본문으로 생성 | -| **멀티모달** | 이미지·문서 인식 | 영수증 사진 → 금액·날짜 추출 | 오늘은 소개만, 이후 확장 예시 | -| **코드 인터프리터** | AI가 코드를 만들어 실행 | PDF 10장 → Excel 경비 보고서 | 오늘은 소개만, 이후 확장 예시 | -| **Word 출력** | 텍스트 → 문서 자동 생성 | 회의록 → Word 보고서 | **M3 샘플 D**를 문서 자동화로 확장하는 방향 | +| Type | What It Does | Example | Connection to Today's Course | +|:-----|:-------------|:--------|:----------------------------| +| **Text** | Generate · Classify · Summarize · Extract | Customer inquiry → Automatic category classification | **M12** Generated email body from inquiry content | +| **Multimodal** | Image & document recognition | Receipt photo → Extract amount & date | Introduction only today; expansion examples later | +| **Code Interpreter** | AI writes and runs code | 10 receipt PDFs → Excel expense report | Introduction only today; expansion examples later | +| **Word Output** | Text → Automatic document generation | Meeting notes → Word report | Extending **M3 Sample D** toward document automation | --- -## 유형 ① — 텍스트: 자동 분류 +## Type ① — Text: Automatic Classification -고객 문의가 들어오면 AI가 자동으로 카테고리를 분류합니다. +When a customer inquiry comes in, AI automatically classifies it into a category. -**예시:** +**Example:** -| 입력 | AI 분류 결과 | -|:-----|:-----------| -| "인터넷이 안 돼요" | **기술지원** | -| "청구서가 이상해요" | **청구** | -| "주차장 위치가 어디에요?" | **일반문의** | +| Input | AI Classification Result | +|:------|:------------------------| +| "My internet isn't working" | **Technical Support** | +| "My invoice looks wrong" | **Billing** | +| "Where is the parking lot?" | **General Inquiry** | {: .tip } -> 프롬프트 텍스트만 바꾸면 분류 기준도 바뀝니다. 코드 한 줄 필요 없습니다. +> Just change the prompt text and the classification criteria change too. No code required. -**🔗 실전 활용:** 이 텍스트 유형은 **답변 초안 자동 생성**에도 쓸 수 있습니다. -예: Forms로 접수된 문의 → AI가 사내 FAQ 기반으로 답변 초안 생성 → 관리자에게 메일 전달 -(M13 "실전 시나리오"에서 전체 흐름을 살펴봅니다) +**🔗 Real-world use:** This text type can also be used to **auto-generate draft responses**. +Example: Inquiry submitted via Forms → AI drafts a response based on internal FAQ → Email forwarded to an admin +(We walk through the full flow in the M13 "Real-World Scenarios" section) --- -## 유형 ② — 멀티모달: 영수증 인식 +## Type ② — Multimodal: Receipt Recognition -영수증 사진을 넣으면 AI가 금액, 일자, 가맹점을 자동으로 추출합니다. +Upload a receipt photo and AI automatically extracts the amount, date, and merchant. -| 입력 | AI 추출 결과 | -|:-----|:-----------| -| 📷 영수증 이미지 | 금액: 45,000원 | -| | 일자: 2026-03-20 | -| | 가맹점: ○○커피 | +| Input | AI Extraction Result | +|:------|:--------------------| +| 📷 Receipt image | Amount: ₩45,000 | +| | Date: 2026-03-20 | +| | Merchant: ○○ Coffee | --- -## 유형 ③ — 코드 인터프리터 / 유형 ④ — Word 출력 +## Type ③ — Code Interpreter / Type ④ — Word Output -| 유형 | 입력 | 출력 | 연결 | -|:-----|:-----|:-----|:-----| -| **코드 인터프리터** | 영수증 PDF 10장 | Excel 경비 보고서 | 대량 파일 처리 확장 예시 | -| **Word 출력** | 회의록 텍스트 | Word 보고서 (참석자·결정사항·후속조치) | M3 샘플 D | +| Type | Input | Output | Connection | +|:-----|:------|:-------|:-----------| +| **Code Interpreter** | 10 receipt PDFs | Excel expense report | Bulk file processing expansion example | +| **Word Output** | Meeting notes text | Word report (attendees · decisions · follow-ups) | M3 Sample D | --- -## 오늘 과정과의 연결 +## Connection to Today's Course -오늘 실습에서 가장 직접적으로 사용한 것은 **텍스트 AI 프롬프트**입니다. -M12에서 문의 내용을 받아 **비즈니스 메일 본문을 자동 생성**한 것이 바로 그 예시입니다. +The most directly used feature in today's labs was the **text-based AI Prompt**. +In M12, we took inquiry content and **automatically generated a professional email body** — that was a prime example. -M3의 회의록 정리 샘플은 지금 당장 Word 파일을 만들지는 않지만, 나중에 **Word 출력 프롬프트**로 확장할 수 있는 대표 사례입니다. +The meeting notes summarizer in M3 doesn't produce a Word file right now, but it is a representative use case that can later be extended with a **Word Output Prompt**. -M3의 이메일 초안 작성기는 코드 인터프리터보다는 **텍스트 생성 프롬프트**와 더 가깝습니다. 코드 인터프리터는 여러 파일을 계산·변환·분석해 결과물을 만드는 시나리오에서 더 적합합니다. +The email draft generator in M3 is closer to a **text generation prompt** than to Code Interpreter. Code Interpreter is better suited for scenarios involving calculations, transformations, and analysis across multiple files. ```mermaid graph LR - A[M12 문의 내용] --> B[텍스트
AI 프롬프트] - B --> C[문의 메일 본문 생성] - D[M3 샘플 D
회의록 정리] --> E[Word 출력으로 확장 가능한 예시] + A[M12 Inquiry content] --> B[Text
AI Prompt] + B --> C[Generate email body] + D[M3 Sample D
Meeting notes] --> E[Can be extended with Word Output] ``` --- -## 핵심 정리 +## Key Takeaways -1. **AI 프롬프트** = Flow 안에 AI를 심는 기능 -2. **4가지 유형:** 텍스트, 멀티모달, 코드 인터프리터, Word 출력 -3. M3 샘플의 내부 엔진이 바로 **AI 프롬프트** -4. 코드 없이, **프롬프트 텍스트 하나**로 Flow에 AI 추가 +1. **AI Prompt** = a feature that embeds AI inside a Flow +2. **4 types:** Text, Multimodal, Code Interpreter, Word Output +3. The engine behind the M3 samples is the **AI Prompt** +4. Add AI to a Flow with **just a single prompt text** — no code needed --- ## FAQ -| 질문 | 답변 | -|:-----|:-----| -| AI 프롬프트는 추가 비용이 있나요? | Copilot Studio 라이선스에 포함된 AI 크레딧이 있습니다. 대량 사용 시 크레딧 소비량을 확인하세요. | -| 한국어 문서도 잘 인식하나요? | 네, 최신 모델은 한국어 문서·이미지 인식 성능이 매우 좋습니다. | -| 에이전트 없이 AI 프롬프트만 쓸 수 있나요? | 네! Power Automate Flow에서 단독으로도 사용 가능합니다. | +| Question | Answer | +|:---------|:-------| +| Does AI Prompt cost extra? | AI credits are included with your Copilot Studio license. Check credit consumption for high-volume usage. | +| Does it recognize non-English documents well? | Yes, the latest models have excellent multilingual document and image recognition. | +| Can I use AI Prompt without an agent? | Yes! It can be used standalone in a Power Automate Flow. | --- -## 참조 자료 +## References -| 자료 | 링크 | -|:-----|:-----| -| AI 프롬프트 개요 | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/prompts-overview) | +| Resource | Link | +|:---------|:-----| +| AI Prompt Overview | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/prompts-overview) | | Power Automate + AI Builder | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/use-in-flow-overview) | -| 멀티모달 프롬프트 | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/azure-openai-model-pautate) | -| 코드 인터프리터 | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/prebuilt-prompts) | +| Multimodal Prompt | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/azure-openai-model-pautate) | +| Code Interpreter | [learn.microsoft.com](https://learn.microsoft.com/ai-builder/prebuilt-prompts) | --- -다음 모듈: [M14. 도구 — 멀티에이전트](m14-multi-agent) +Next module: [M14. Tools — Multi-Agent](m14-multi-agent) diff --git a/docs/m14-1-legal-agent.md b/docs/m14-1-legal-agent.md index 6522090..945aaa1 100644 --- a/docs/m14-1-legal-agent.md +++ b/docs/m14-1-legal-agent.md @@ -1,61 +1,61 @@ --- -title: "실습① — 법무 에이전트 만들기" -parent: "M14. 도구 — 멀티에이전트" +title: "Lab ① — Create a Legal Agent" +parent: "M14. Tools — Multi-Agent" nav_order: 1 --- -# 실습: 법무 에이전트 만들기 +# Lab: Create a Legal Agent {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 16:45 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 16:45 | 10 min | 🟢 Hands-on Lab | --- -## Step 1 — 에이전트 생성 +## Step 1 — Create the Agent -1. Copilot Studio → **+ 새 에이전트** -2. 이름: `법무 에이전트` +1. Copilot Studio → **+ New agent** +2. Name: `Legal Agent` -## Step 2 — 지침 입력 +## Step 2 — Enter Instructions
-지침 (클릭해서 펼치기) +Instructions (click to expand) ``` -## 역할 -당신은 우리 회사의 법무/컴플라이언스 전담 도우미입니다. +## Role +You are our company's dedicated legal and compliance assistant. -## 범위 -계약, 사내 규정, 법률 검토, 컴플라이언스에 관한 질문에만 답변합니다. +## Scope +Only answer questions about contracts, internal policies, legal reviews, and compliance. -## 태도 -- 한국어 존칭을 사용합니다 -- 법률 용어는 쉽게 풀어서 설명합니다 -- 핵심 결론을 먼저 말하고, 근거 조항은 뒤에 인용합니다 +## Tone +- Use polite, professional language +- Explain legal terms in plain language +- State the key conclusion first, then cite the supporting clauses afterward -## 원칙 -- 지식에 없는 내용: "정확한 법률 검토가 필요합니다. 법무팀(내선 5678)에 문의해 주세요" -- 법률 자문에 해당하는 질문: "이 내용은 법률 자문에 해당하므로, 법무팀 담당자와 직접 상담해 주세요" -- 답변 시 반드시 출처(법령명, 조항)를 함께 표시합니다 +## Principles +- If the answer is not in your knowledge: "This requires a formal legal review. Please contact the Legal team (ext. 5678)." +- If the question constitutes legal advice: "This falls under legal counsel. Please consult directly with a Legal team representative." +- Always include the source (law name, article number) in your response ```
-## Step 3 — 지식 소스 연결 (웹사이트) +## Step 3 — Connect a Knowledge Source (Website) -법무 에이전트에게 **교과서**를 줍니다. 국가법령정보센터(법제처)를 지식 소스로 연결합니다. +Give the Legal Agent a **textbook**. Connect a public legal information website as a knowledge source. -1. 좌측 **"지식"** 클릭 → **"+ 지식 추가"** -2. **"웹사이트"** 선택 -3. URL 입력: `https://law.go.kr/` -4. 이름: `국가법령정보센터` -5. **저장** +1. Click **"Knowledge"** on the left → **"+ Add knowledge"** +2. Select **"Website"** +3. Enter URL: `https://law.go.kr/` +4. Name: `National Law Information Center` +5. **Save** {: .note } -> 웹사이트 지식 소스는 해당 사이트의 공개 콘텐츠를 주기적으로 크롤링하여 참조합니다. 실습 환경에서 크롤링이 제한될 수 있으며, 이 경우 법무 관련 샘플 문서를 파일로 업로드해도 됩니다. +> A website knowledge source periodically crawls the site's public content for reference. Crawling may be restricted in lab environments — if so, you can upload sample legal documents as files instead. --- -실습을 완료했으면 [M14 본문으로 돌아가세요](m14-multi-agent). +Once you have completed this lab, [return to the M14 main page](m14-multi-agent). diff --git a/docs/m14-2-super-host.md b/docs/m14-2-super-host.md index f627cae..9e9f1a6 100644 --- a/docs/m14-2-super-host.md +++ b/docs/m14-2-super-host.md @@ -1,40 +1,40 @@ --- -title: "실습② — 슈퍼 호스트 만들기" -parent: "M14. 도구 — 멀티에이전트" +title: "Lab ② — Create the Super Host" +parent: "M14. Tools — Multi-Agent" nav_order: 2 --- -# 실습: 슈퍼 호스트 에이전트 만들기 +# Lab: Create the Super Host Agent {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 16:55 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 16:55 | 10 min | 🟢 Hands-on Lab | --- -1. Copilot Studio → **+ 새 에이전트** -2. 이름: `슈퍼 호스트` -3. **작업 → + 작업 추가 → 에이전트 연결** 선택 -4. **HR 도우미** 연결 → Description에 "HR, 복리후생, 연차, 경비 관련 질문" 입력 -5. **법무 에이전트** 연결 → Description에 "계약, 규정, 컴플라이언스 관련 질문" 입력 -6. 지침 작성: - - "HR 관련 질문은 HR 도우미에게, 법무 관련 질문은 법무 에이전트에게 위임하라" -7. **저장 → 게시** -8. 테스트: HR 질문 / 법무 질문을 섞어서 입력하고 어느 에이전트로 가는지 확인 - -## 테스트 질문 예시 - -| # | 질문 | 기대 라우팅 | -|:--|:-----|:----------| -| 1 | "연차 며칠이야?" | → HR 도우미 | -| 2 | "근로계약서 수습 기간 규정 알려줘" | → 법무 에이전트 | -| 3 | "복지포인트 사용처 알려줘" | → HR 도우미 | -| 4 | "개인정보 보호법에서 동의 철회 절차가 어떻게 돼?" | → 법무 에이전트 | +1. Copilot Studio → **+ New agent** +2. Name: `Super Host` +3. **Actions → + Add action → Connect an agent** +4. Connect **HR Assistant** → Enter Description: "Questions about HR, benefits, leave, and expenses" +5. Connect **Legal Agent** → Enter Description: "Questions about contracts, policies, and compliance" +6. Write instructions: + - "Delegate HR-related questions to the HR Assistant, and legal-related questions to the Legal Agent" +7. **Save → Publish** +8. Test: Enter a mix of HR and legal questions and verify which agent handles each one + +## Sample Test Questions + +| # | Question | Expected Routing | +|:--|:---------|:-----------------| +| 1 | "How many leave days do I have?" | → HR Assistant | +| 2 | "What's the probation period policy in the employment contract?" | → Legal Agent | +| 3 | "Where can I use my welfare points?" | → HR Assistant | +| 4 | "What's the consent withdrawal process under the data protection law?" | → Legal Agent | {: .tip } -> 각 에이전트의 **Description이 명확할수록** 슈퍼 호스트가 올바른 에이전트를 선택합니다. Description을 구체적으로 작성하세요. +> The **clearer each agent's Description**, the better the Super Host selects the right agent. Write your Descriptions as specifically as possible. --- -실습을 완료했으면 [M14 본문으로 돌아가세요](m14-multi-agent). +Once you have completed this lab, [return to the M14 main page](m14-multi-agent). diff --git a/docs/m14-multi-agent.md b/docs/m14-multi-agent.md index 66becb4..f07de20 100644 --- a/docs/m14-multi-agent.md +++ b/docs/m14-multi-agent.md @@ -1,76 +1,76 @@ --- -title: "M14. 도구 — 멀티에이전트" +title: "M14. Tools — Multi-Agent" nav_order: 15 has_children: true --- -# 고급도구 멀티에이전트 +# Advanced Tools — Multi-Agent {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 16:45 | 25분 | 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 16:45 | 25 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M14 멀티에이전트 — 컨시어지가 전문가를 연결](../assets/images/m14/hero.png) +![M14 Multi-Agent — A concierge connecting specialists](../assets/images/m14/hero.png) --- -## 이 모듈에서 배우는 것 +## What You Will Learn -- **멀티에이전트**란 무엇인지 에이전트가 도구로 다른 에이전트를 호출 -- **슈퍼 호스트 에이전트** 구조 설계 -- HR 에이전트와 법무 에이전트(신규)를 연결하는 실습 +- What **Multi-Agent** means — an agent invoking other agents as tools +- Designing the **Super Host Agent** architecture +- Hands-on: connecting the HR Agent and a new Legal Agent {: .highlight } -> 에이전트는 도구로서 **다른 에이전트를 호출**할 수 있습니다. 슈퍼 호스트 에이전트가 사용자의 질문을 받아 HR 에이전트 또는 법무 에이전트에게 위임합니다. +> An agent can **invoke other agents as tools**. The Super Host agent receives the user's question and delegates it to either the HR Agent or the Legal Agent. --- -## 멀티에이전트 구조 +## Multi-Agent Architecture ```mermaid flowchart TD - U[ 사용자] --> S[ 슈퍼 호스트 에이전트] - S --> H[ HR 도우미\n복리후생 연차 경비] - S --> L[ 법무 에이전트\n계약 규정 컴플라이언스] + U[User] --> S[Super Host Agent] + S --> H[HR Assistant\nBenefits · Leave · Expenses] + S --> L[Legal Agent\nContracts · Policies · Compliance] ``` -| 역할 | 에이전트 | 설명 | -|:-----|:---------|:-----| -| 슈퍼 호스트 | 새로 만드는 에이전트 | 사용자 질문을 받아 적절한 전문 에이전트에게 위임 | -| HR 도우미 | 오늘 만든 에이전트 | HR복리후생 전문 | -| 법무 에이전트 | 실습 중 신규 생성 | 계약규정컴플라이언스 전문 | +| Role | Agent | Description | +|:-----|:------|:------------| +| Super Host | New agent (created now) | Receives user questions and delegates to the appropriate specialist agent | +| HR Assistant | Agent built earlier today | Specializes in HR & employee benefits | +| Legal Agent | New agent (created in this lab) | Specializes in contracts, policies & compliance | --- -## 실습 ①: 법무 에이전트 만들기 +## Lab ①: Create a Legal Agent {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ①: 법무 에이전트 만들기](m14-1-legal-agent)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ①: Create a Legal Agent](m14-1-legal-agent) and come back here. --- -## 실습 ②: 슈퍼 호스트 에이전트 만들기 +## Lab ②: Create the Super Host Agent {: .important } -> 📌 이 실습은 별도 페이지에서 진행합니다. -> [실습 ②: 슈퍼 호스트 만들기](m14-2-super-host)를 완료하고 돌아오세요. +> 📌 This lab is on a separate page. +> Complete [Lab ②: Create the Super Host](m14-2-super-host) and come back here. --- -## 핵심 정리 +## Key Takeaways -1. 멀티에이전트 = 에이전트가 도구로 다른 에이전트를 호출 -2. 슈퍼 호스트는 전문 에이전트들의 **코디네이터** 역할 -3. 각 에이전트의 Description이 라우팅의 핵심 +1. Multi-Agent = an agent invoking other agents as tools +2. The Super Host serves as a **coordinator** for the specialist agents +3. Each agent's Description is the key to accurate routing --- -다음 모듈: [M15. 도구 — MCP](m15-mcp) +Next module: [M15. Tools — MCP](m15-mcp) diff --git a/docs/m15-1-mcp-connect.md b/docs/m15-1-mcp-connect.md index c0907f3..7d55f22 100644 --- a/docs/m15-1-mcp-connect.md +++ b/docs/m15-1-mcp-connect.md @@ -1,42 +1,42 @@ --- -title: "실습 — MCP 서버 연결" -parent: "M15. 도구 — MCP" +title: "Lab — Connect an MCP Server" +parent: "M15. Tools — MCP" nav_order: 1 --- -# 실습: MCP 서버 연결하기 +# Lab: Connect an MCP Server {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 17:10 | 10분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 17:10 | 10 min | 🟢 Hands-on Lab | --- -## 사전 준비 +## Prerequisites -강사가 제공한 MCP 서버 URL을 준비합니다: +Have the MCP server URLs provided by the instructor ready: -| MCP 서버 | 기능 | -|:---------|:-----| -| 네이버 검색 MCP | 네이버 뉴스·검색 결과 조회 | -| 주가 조회 MCP | 국내·해외 주가 실시간 조회 | +| MCP Server | Function | +|:-----------|:---------| +| Naver Search MCP | Query Naver news and search results | +| Stock Price MCP | Look up domestic and international stock prices in real time | -## 연결 순서 +## Steps -1. Copilot Studio → HR 도우미(또는 슈퍼 호스트) 에이전트 열기 -2. **작업 → + 작업 추가 → MCP 서버 추가** 선택 -3. 강사가 제공한 **MCP 서버 URL** 입력 -4. 연결 확인 후 사용 가능한 도구 목록 확인 -5. **저장** -6. 테스트: "삼성전자 주가 알려줘" / "오늘 IT 뉴스 검색해줘" 입력 +1. Copilot Studio → Open the HR Assistant (or Super Host) agent +2. Select **Actions → + Add an action → Add MCP server** +3. Enter the **MCP server URL** provided by the instructor +4. Confirm the connection and review the list of available tools +5. Click **Save** +6. Test: Enter "What's the Samsung Electronics stock price?" / "Search today's IT news" {: .note } -> MCP 서버는 강사가 별도로 제공합니다. 서버 URL이 없으면 이 실습을 진행할 수 없습니다. +> The MCP server is provided separately by the instructor. You cannot complete this lab without the server URL. {: .tip } -> MCP 도구도 Description이 중요합니다. 어떤 상황에서 이 도구를 써야 하는지 지침에 명시하면 오케스트레이터가 더 잘 채택합니다. +> The Description matters for MCP tools, too. If you specify in the instructions when the agent should use each tool, the orchestrator will select it more reliably. --- -실습을 완료했으면 [M15 본문으로 돌아가세요](m15-mcp). +Once you've completed the lab, [return to the M15 overview](m15-mcp). diff --git a/docs/m15-mcp.md b/docs/m15-mcp.md index 3098a23..913d964 100644 --- a/docs/m15-mcp.md +++ b/docs/m15-mcp.md @@ -1,68 +1,68 @@ --- -title: "M15. 도구 — MCP" +title: "M15. Tools — MCP" nav_order: 16 has_children: true --- -# 고급도구 MCP +# Advanced Tools — MCP {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 17:10 | 15분 | 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 17:10 | 15 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M15 MCP — 만능 어댑터 하나로 외부 연결](../assets/images/m15/hero.png) +![M15 MCP — Connect to External Services with One Universal Adapter](../assets/images/m15/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **MCP(Model Context Protocol)**란 무엇인지 -- Copilot Studio에서 MCP 서버를 에이전트에 연결하는 방법 -- 강사가 제공한 **네이버 검색 MCP**, **주가 조회 MCP** 연결 실습 +- What **MCP (Model Context Protocol)** is +- How to connect an MCP server to an agent in Copilot Studio +- Hands-on lab connecting the **Naver Search MCP** and **Stock Price MCP** provided by the instructor {: .highlight } -> MCP는 외부 서비스를 표준화된 방식으로 에이전트에 연결하는 프로토콜입니다. MCP 서버 하나만 연결하면 해당 서비스의 모든 기능을 에이전트가 도구로 쓸 수 있습니다. +> MCP is a protocol that connects external services to agents in a standardized way. By connecting a single MCP server, the agent can use all of that service's capabilities as tools. --- -## MCP란? +## What Is MCP? -**Model Context Protocol** AI 모델이 외부 서비스도구와 통신하기 위한 표준 규격입니다. +**Model Context Protocol** is a standard specification that allows AI models to communicate with external services and tools. -| 기존 방식 | MCP 방식 | -|:---------|:--------| -| 커넥터마다 개별 설정 | MCP 서버 하나로 수십 개 도구 연결 | -| Microsoft 생태계 중심 | 모든 서비스 연결 가능 | -| 개발자가 커넥터 제작 필요 | MCP 서버만 있으면 즉시 사용 | +| Traditional Approach | MCP Approach | +|:---------------------|:-------------| +| Individual setup per connector | Connect dozens of tools via a single MCP server | +| Centered on the Microsoft ecosystem | Can connect to any service | +| Developers must build custom connectors | Ready to use as soon as an MCP server exists | --- {: .important } -> 👉 [실습: MCP 서버 연결](m15-1-mcp-connect) +> 👉 [Lab: Connect an MCP Server](m15-1-mcp-connect) --- -## M16로 넘어가기 +## Transition to M16 -강사는 아래처럼 연결하면 자연스럽습니다. +The instructor can use the following transition: -> 방금은 에이전트가 **대화 중에 사용할 수 있는 도구의 범위**를 바깥으로 확장했습니다. 다음 M16에서는 한 단계 더 나아가, 아예 **대화가 없어도 에이전트가 시작되는 조건**을 붙여보겠습니다. 즉, 무엇을 할 수 있는가에서 끝나지 않고, **언제 자동으로 움직일 것인가**까지 확장하는 단계입니다. +> We just expanded the **range of tools the agent can use during a conversation** to include external services. In the next module, M16, we'll go one step further and define **conditions that start the agent even without a conversation**. In other words, we're moving beyond what the agent can do and into **when it should act automatically**. --- -## 핵심 정리 +## Key Takeaways -1. MCP = 외부 서비스를 에이전트 도구로 연결하는 표준 프로토콜 -2. MCP 서버 URL 하나로 수십 개 기능을 한번에 연결 가능 -3. 직접 만들 수도 있고, 공개된 MCP 서버를 가져다 쓸 수도 있다 +1. MCP = a standard protocol for connecting external services as agent tools +2. A single MCP server URL can provide dozens of capabilities at once +3. You can build your own MCP server or use publicly available ones --- -다음 모듈: [M16. 도구 — 트리거](m16-trigger) +Next module: [M16. Tools — Triggers](m16-trigger) diff --git a/docs/m16-1-forms-trigger.md b/docs/m16-1-forms-trigger.md index f1a74ab..c0a1138 100644 --- a/docs/m16-1-forms-trigger.md +++ b/docs/m16-1-forms-trigger.md @@ -1,41 +1,41 @@ --- -title: "실습 — Forms 트리거 연결" -parent: "M16. 도구 — 트리거" +title: "Lab — Connect a Forms Trigger" +parent: "M16. Tools — Triggers" nav_order: 1 --- -# 실습: Forms 트리거 연결하기 +# Lab: Connect a Forms Trigger {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 17:25 | 20분 | 🟢 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 17:25 | 20 min | 🟢 Hands-on Lab | --- -## 사전 준비 - -1. Microsoft Forms에서 **HR 문의 폼** 생성 - - 질문 ①: 이름 - - 질문 ②: 부서 - - 질문 ③: 문의 내용 -2. 폼 URL 복사해두기 - -## 실습 순서 - -1. Power Automate → **+ 새 흐름 → 자동화된 클라우드 흐름** -2. 트리거: **Forms → 새 응답이 제출될 때** 선택 -3. 폼 ID: 위에서 만든 HR 문의 폼 선택 -4. **Forms → 응답 세부 정보 가져오기** 동작 추가 -5. **AI Builder → AI 프롬프트** 동작 추가 - - 프롬프트: "다음 HR 문의에 대한 답변 초안을 작성해줘: [문의내용]" -6. **Office 365 Outlook → 메일 보내기** 동작 추가 - - 수신: 담당자 메일 - - 본문: 원문 문의 + AI 생성 초안 -7. **저장 → 테스트** - - Forms에서 테스트 문의 제출 - - 담당자 메일로 초안이 도착하는지 확인 +## Prerequisites + +1. Create an **HR Inquiry Form** in Microsoft Forms + - Question ①: Name + - Question ②: Department + - Question ③: Inquiry details +2. Copy the form URL + +## Steps + +1. Power Automate → **+ New flow → Automated cloud flow** +2. Trigger: Select **Forms → When a new response is submitted** +3. Form ID: Select the HR Inquiry Form you created above +4. Add the **Forms → Get response details** action +5. Add the **AI Builder → AI Prompt** action + - Prompt: "Draft a response to the following HR inquiry: [Inquiry details]" +6. Add the **Office 365 Outlook → Send an email** action + - To: Assignee's email address + - Body: Original inquiry + AI-generated draft +7. **Save → Test** + - Submit a test inquiry through Forms + - Verify that the draft arrives in the assignee's inbox --- -실습을 완료했으면 [M16 본문으로 돌아가세요](m16-trigger). +Once you've completed the lab, [return to the M16 overview](m16-trigger). diff --git a/docs/m16-trigger.md b/docs/m16-trigger.md index aa0590b..6411bd7 100644 --- a/docs/m16-trigger.md +++ b/docs/m16-trigger.md @@ -1,95 +1,95 @@ --- -title: "M16. 도구 — 트리거" +title: "M16. Tools — Triggers" nav_order: 17 has_children: true --- -# 고급도구 트리거 +# Advanced Tools — Triggers {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 17:25 | 25분 | 직접 실습 | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 17:25 | 25 min | 🟢 Hands-on Lab | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M16 트리거 — 잠든 AI가 이벤트로 깨어난다](../assets/images/m16/hero.png) +![M16 Triggers — A Sleeping AI Awakened by Events](../assets/images/m16/hero.png) --- -## 이 모듈에서 배우는 것 +## What You'll Learn in This Module -- **트리거(Trigger)**란 무엇인지 에이전트가 대화 없이 스스로 깨어나는 방법 -- **Forms로 HR 문의가 오면** 답변 초안을 자동 생성하는 흐름 -- 담당자에게 **초안 + 원문 문의**를 함께 전달하는 구조 -- **휴먼인더루프(Human-in-the-Loop)** 개념 이해 +- What a **Trigger** is — how an agent wakes up on its own without a conversation +- A flow that **automatically drafts a response when an HR inquiry arrives via Forms** +- A structure that sends both the **draft and the original inquiry** to the person in charge +- Understanding the concept of **Human-in-the-Loop** {: .highlight } -> 지금까지의 에이전트는 사용자가 말을 걸어야 작동했습니다. 트리거를 연결하면 **Forms 제출, 메일 수신, 일정 도래** 같은 이벤트가 에이전트를 깨울 수 있습니다. +> Until now, agents only worked when a user initiated a conversation. By connecting triggers, events such as **Forms submissions, incoming emails, or scheduled times** can wake the agent up. --- -## 트리거란? +## What Is a Trigger? -| 방식 | 설명 | 예시 | -|:-----|:-----|:-----| -| **대화 트리거** (기존) | 사용자가 말을 걸어야 시작 | "연차 문의해줘" | -| **이벤트 트리거** (이번) | 외부 이벤트가 에이전트를 실행 | Forms 제출, 메일 수신, 스케줄 | +| Type | Description | Example | +|:-----|:------------|:--------| +| **Conversation Trigger** (existing) | Starts when a user sends a message | "I have a leave request question" | +| **Event Trigger** (this module) | An external event starts the agent | Forms submission, incoming email, schedule | --- -## 전체 흐름 구조 +## End-to-End Flow ```mermaid flowchart LR - A[ Forms\nHR 문의 제출] --> B[ Power Automate\n트리거] - B --> C[ AI 프롬프트\n답변 초안 생성] - C --> D[ 담당자에게\n원문 + 초안 전달] - D --> E[ 담당자\n검토 후 최종 답변] + A[ Forms\nHR inquiry submitted] --> B[ Power Automate\nTrigger] + B --> C[ AI Prompt\nGenerate draft response] + C --> D[ Send to assignee\nOriginal + Draft] + D --> E[ Assignee\nReview & send final reply] style B fill:#ffd,stroke:#cc0 style C fill:#ffd,stroke:#cc0 ``` {: .note } -> 담당자가 AI 초안을 **검토하고 수정해서** 최종 발송 이것이 **휴먼인더루프**입니다. AI가 전부 하는 것이 아니라, 사람이 최종 판단을 유지합니다. +> The assignee **reviews and edits** the AI-generated draft before sending the final reply — this is **Human-in-the-Loop**. AI doesn't do everything; a human retains final judgment. --- -## 휴먼인더루프(Human-in-the-Loop) +## Human-in-the-Loop -| 자동화 단계 | 역할 | -|:-----------|:-----| -| AI | 문의 내용 분석 + 답변 초안 생성 | -| 담당자 | 초안 검토 수정(필요시) 최종 발송 | +| Stage | Role | +|:------|:-----| +| AI | Analyze the inquiry + generate a draft response | +| Assignee | Review the draft → edit if needed → send the final reply | -장점: AI의 속도 + 사람의 판단 = **정확하고 빠른 업무 처리** +Benefit: AI's speed + human judgment = **fast and accurate task execution** --- {: .important } -> 👉 [실습: Forms 트리거 연결](m16-1-forms-trigger) +> 👉 [Lab: Connect a Forms Trigger](m16-1-forms-trigger) --- -## 핵심 정리 +## Key Takeaways -1. 트리거 = 대화 없이 외부 이벤트로 에이전트(흐름)를 실행 -2. Forms AI 초안 생성 담당자 검토 = 휴먼인더루프 -3. AI가 **속도**를 담당하고, 사람이 **판단**을 담당하는 협업 구조 +1. Trigger = run an agent (or flow) from an external event without a conversation +2. Forms → AI-generated draft → assignee review = Human-in-the-Loop +3. A collaboration model where AI handles **speed** and humans handle **judgment** --- -## 마무리 멘트 +## Closing Remarks -강사는 아래처럼 마무리하면 자연스럽습니다. +The instructor can use the following wrap-up: -> 오늘 우리는 에이전트의 **두뇌(오케스트레이터)**, **행동매뉴얼(지침)**, **교과서(지식)**, **손발(도구)**을 하나씩 붙여 왔습니다. 그리고 마지막으로, 사용자가 말을 걸기 전에도 움직일 수 있는 **트리거**까지 연결했습니다. 이제 이 에이전트는 단순히 답만 하는 챗봇이 아니라, 우리 팀 업무를 실제로 보조하는 작업 시스템에 가까워졌습니다. 남은 시간에는 직접 써 보면서, 어느 부분을 우리 조직 시나리오에 맞게 바꾸면 좋을지 함께 점검하겠습니다. +> Today we've assembled the agent piece by piece — its **brain (orchestrator)**, **behavior manual (instructions)**, **textbook (knowledge)**, and **hands and feet (tools)**. And finally, we connected **triggers** so the agent can act even before a user says a word. This agent is no longer a simple chatbot that only answers questions — it's becoming a real work system that supports your team's operations. In the remaining time, let's try it out together and discuss which parts you'd want to customize for your organization's specific scenarios. --- -다음 모듈: [마무리](m17-wrap-up) +Next module: [Wrap-Up](m17-wrap-up) diff --git a/docs/m17-wrap-up.md b/docs/m17-wrap-up.md index 87c52c4..dbb5f77 100644 --- a/docs/m17-wrap-up.md +++ b/docs/m17-wrap-up.md @@ -1,130 +1,130 @@ --- -title: "마무리" +title: "Wrap-Up" nav_order: 18 --- -# 마무리 — 오늘의 여정 돌아보기 +# Wrap-Up — Looking Back at Today's Journey {: .no_toc } -| 시간 | 소요 | 수강생 역할 | -|:-----|:-----|:-----------| -| 17:50 | 10분 | 💬 Q&A | +| Time | Duration | Participant Role | +|:-----|:---------|:-----------------| +| 17:50 | 10 min | 💬 Q&A | -## 목차 +## Table of Contents {: .no_toc .text-delta } 1. TOC {:toc} -![M17 마무리 — 신입사원 성장 완료](../assets/images/m17/hero.png) +![M17 Wrap-Up — The New Employee Has Fully Grown](../assets/images/m17/hero.png) --- -## 오늘 만든 것 체크리스트 - -하나씩 체크해 보세요. 모두 완료했다면 오늘 과정을 성공적으로 마친 것입니다! - -| # | 항목 | 모듈 | 완료 | -|:--|:-----|:-----|:----:| -| 1 | HR 도우미 에이전트 생성 (에이전트 빌더) | M3 | ☐ | -| 2 | Copilot Studio로 가져오기 | M3 | ☐ | -| 3 | AI 모델 변경 + 설정 조정 | M5 | ☐ | -| 4 | 지침(행동매뉴얼) 작성 — 역할·범위·태도·원칙 | M6 | ☐ | -| 5 | 지식(교과서) 5개 파일 업로드 | M7 | ☐ | -| 6 | FAQ Topic + Contact Topic 생성 | M9 | ☐ | -| 7 | STRICT RULES 추가 | M9 | ☐ | -| 8 | Copilot에서 게시 + 몰입형/@호출 테스트 | M10 | ☐ | -| 9 | Record Topic + Excel 커넥터로 대화기록 자동 저장 | M11 | ☐ | -| 10 | RequestByEmail 흐름 + Request Topic 연결 | M12 | ☐ | -| 11 | 슈퍼 호스트 + 법무 에이전트 (멀티에이전트) | M14 | ☐ | -| 12 | MCP 서버 연결 | M15 | ☐ | -| 13 | Forms 트리거 + AI 초안 생성 흐름 | M16 | ☐ | +## Today's Completion Checklist + +Check off each item. If you've completed them all, you've successfully finished today's course! + +| # | Item | Module | Done | +|:--|:-----|:-------|:----:| +| 1 | Created the HR Assistant agent (Agent Builder) | M3 | ☐ | +| 2 | Imported into Copilot Studio | M3 | ☐ | +| 3 | Changed the AI model + adjusted settings | M5 | ☐ | +| 4 | Wrote instructions (behavior manual) — role, scope, tone, principles | M6 | ☐ | +| 5 | Uploaded 5 knowledge (textbook) files | M7 | ☐ | +| 6 | Created FAQ Topic + Contact Topic | M9 | ☐ | +| 7 | Added STRICT RULES | M9 | ☐ | +| 8 | Published to Copilot + tested immersive / @mention invocation | M10 | ☐ | +| 9 | Record Topic + Excel connector for automatic conversation logging | M11 | ☐ | +| 10 | RequestByEmail flow + Request Topic connection | M12 | ☐ | +| 11 | Super Host + Legal agent (multi-agent) | M14 | ☐ | +| 12 | Connected an MCP server | M15 | ☐ | +| 13 | Forms trigger + AI draft generation flow | M16 | ☐ | --- -## 오늘 배운 핵심 개념 정리 +## Key Concepts Recap -### 4가지 구성요소 +### The Four Building Blocks -| 구성요소 | 비유 | 오늘 한 것 | -|:---------|:-----|:----------| -| **오케스트레이터** | 엔진 | 모델 선택, 설정 조정 (M5) | -| **지침** | 행동매뉴얼 | 역할·범위·태도·원칙 작성 (M6) | -| **지식** | 교과서 | 5개 문서 업로드 (M7) | -| **도구** | 손발 | Topic, 커넥터, 흐름, MCP, 트리거 (M8~M16) | +| Building Block | Analogy | What We Did Today | +|:---------------|:--------|:------------------| +| **Orchestrator** | Engine | Selected the model, adjusted settings (M5) | +| **Instructions** | Behavior manual | Defined role, scope, tone, principles (M6) | +| **Knowledge** | Textbook | Uploaded 5 documents (M7) | +| **Tools** | Hands and feet | Topics, connectors, flows, MCP, triggers (M8–M16) | -### 비유 시스템 복습 +### Analogy System Review -| 비유 | 의미 | 핵심 한 줄 | -|:-----|:-----|:----------| -| 🧑‍💼 신입사원 | 에이전트 | 지시대로 움직이는 AI 직원 | -| 📋 행동매뉴얼 | 지침 | 잘 써야 좋은 에이전트가 된다 | -| 📚 교과서 | 지식 | 교과서가 좋아야 답변이 좋다 | -| 📝 포스트잇 | 변수 | 대화 중 메모, 나중에 활용 | -| 🎬 대본 | Topic | 상황별 행동 시나리오 | -| 🤲 손발 | Flow/커넥터 | 실제로 행동하게 해주는 것 | +| Analogy | Meaning | One-Liner | +|:--------|:--------|:----------| +| 🧑‍💼 New employee | Agent | An AI employee that follows your directions | +| 📋 Behavior manual | Instructions | Well-written instructions make a great agent | +| 📚 Textbook | Knowledge | Better knowledge sources lead to better answers | +| 📝 Sticky note | Variable | Notes taken during a conversation, used later | +| 🎬 Script | Topic | A scenario-based action plan | +| 🤲 Hands and feet | Flow / Connector | What enables the agent to take real action | --- -## 다음 단계 — 내일부터 할 수 있는 것 +## Next Steps — What You Can Do Starting Tomorrow -### 즉시 적용 가능 +### Quick Wins -| 단계 | 행동 | 난이도 | -|:-----|:-----|:------| -| ① | 오늘 만든 에이전트를 **팀원과 공유** | ⭐ | -| ② | 우리 팀 실제 FAQ 문서로 **지식 교체** | ⭐ | -| ③ | 지침에 우리 팀 실제 규정·용어 반영 | ⭐ | -| ④ | Excel 대화기록을 보고 **지식 보강** | ⭐⭐ | +| Step | Action | Difficulty | +|:-----|:-------|:-----------| +| ① | **Share** the agent you built today with your team | ⭐ | +| ② | **Replace the knowledge** with your team's actual FAQ documents | ⭐ | +| ③ | Update the instructions with your team's real policies and terminology | ⭐ | +| ④ | Review the Excel conversation logs and **enhance the knowledge base** | ⭐⭐ | -### 점진적 확장 +### Gradual Expansion -| 단계 | 행동 | 난이도 | -|:-----|:-----|:------| -| ⑤ | 파일 업로드 → **SharePoint 지식 소스**로 전환 | ⭐⭐ | -| ⑥ | 더 많은 Topic 추가 (부서별 시나리오) | ⭐⭐ | -| ⑦ | 다른 업무 도메인 에이전트 추가 → **멀티에이전트** 확장 | ⭐⭐⭐ | -| ⑧ | MCP로 외부 서비스 연결 확대 | ⭐⭐⭐ | +| Step | Action | Difficulty | +|:-----|:-------|:-----------| +| ⑤ | Switch from file uploads to a **SharePoint knowledge source** | ⭐⭐ | +| ⑥ | Add more Topics (department-specific scenarios) | ⭐⭐ | +| ⑦ | Add agents for other business domains → expand to **multi-agent** | ⭐⭐⭐ | +| ⑧ | Broaden external service connections with MCP | ⭐⭐⭐ | --- -## 트러블슈팅 가이드 +## Troubleshooting Guide -자주 발생하는 문제와 해결 방법입니다. +Common issues and how to resolve them. -| 증상 | 원인 | 해결 | -|:-----|:-----|:-----| -| 에이전트가 엉뚱한 답을 한다 | 지식이 없거나 부족 | M7 — 관련 문서 추가 업로드 | -| 범위 밖 질문에도 답한다 | 지침에 범위가 불명확 | M6 — 범위를 "~만 답변"으로 수정 | -| 모르는 것을 지어낸다 | "모를 때 행동" 미정의 | M6 — 원칙에 모름 메시지 추가 | -| Topic이 실행되지 않는다 | Description이 불명확 | M8 — Topic의 Description 구체적으로 수정 | -| 게시 후 Copilot에서 안 보인다 | 반영 지연 | M10 — 1~3분 대기 후 새로고침 | -| Excel에 기록이 안 쌓인다 | 커넥터 연결 또는 표 형식 오류 | M11 — Excel이 표(Table)인지 확인 | -| 흐름이 실행 안 된다 | Power Automate 연결 미승인 | M12 — 연결(Connection) 상태 재확인 | -| 멀티에이전트 라우팅이 틀린다 | Description이 모호 | M14 — 각 에이전트 Description 구체화 | +| Symptom | Cause | Solution | +|:--------|:------|:---------| +| Agent gives irrelevant answers | Missing or insufficient knowledge | M7 — Upload additional relevant documents | +| Agent answers out-of-scope questions | Scope not clearly defined in instructions | M6 — Update scope to "only answer about …" | +| Agent fabricates information | "What to do when unsure" not defined | M6 — Add an "I don't know" message to the principles | +| Topic doesn't fire | Description is unclear | M8 — Make the Topic Description more specific | +| Agent not visible in Copilot after publishing | Propagation delay | M10 — Wait 1–3 minutes and refresh | +| Records not appearing in Excel | Connector issue or table format error | M11 — Verify the data is in an Excel Table | +| Flow doesn't run | Power Automate connection not authorized | M12 — Re-check the Connection status | +| Multi-agent routing is incorrect | Description is ambiguous | M14 — Make each agent's Description more specific | --- -## 참조 링크 모음 +## Reference Links -| 자료 | URL | -|:-----|:----| -| Copilot Studio 공식 문서 | [learn.microsoft.com/microsoft-copilot-studio](https://learn.microsoft.com/microsoft-copilot-studio/) | -| 지침 작성 가이드 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-instructions) | -| 지식 문서 모범 사례 | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-knowledge) | -| Power Automate 문서 | [learn.microsoft.com/power-automate](https://learn.microsoft.com/power-automate/) | -| Copilot Studio 커뮤니티 | [community.powerplatform.com](https://community.powerplatform.com/galleries/communitycontent/?v=copilot-studio) | -| MS Learn 학습 경로 | [learn.microsoft.com/training](https://learn.microsoft.com/training/paths/work-power-virtual-agents/) | +| Resource | URL | +|:---------|:----| +| Copilot Studio official docs | [learn.microsoft.com/microsoft-copilot-studio](https://learn.microsoft.com/microsoft-copilot-studio/) | +| Instructions writing guide | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-instructions) | +| Knowledge document best practices | [learn.microsoft.com](https://learn.microsoft.com/microsoft-copilot-studio/guidance/building-agents-knowledge) | +| Power Automate docs | [learn.microsoft.com/power-automate](https://learn.microsoft.com/power-automate/) | +| Copilot Studio community | [community.powerplatform.com](https://community.powerplatform.com/galleries/communitycontent/?v=copilot-studio) | +| MS Learn learning path | [learn.microsoft.com/training](https://learn.microsoft.com/training/paths/work-power-virtual-agents/) | --- -## 강사에게 질문하기 +## Ask the Instructor -궁금한 점이 있으면 지금 질문해 주세요! +If you have any questions, now is the time! {: .highlight } -> 오늘 하루 동안 **신입사원 한 명을 채용하고, 교과서를 주고, 대본을 쓰고, 손발을 달아줬습니다.** 내일부터 이 AI 직원이 여러분의 반복 업무를 대신합니다. 코드 한 줄 없이요. +> Today, you **hired a new employee, gave them a textbook, wrote them a script, and equipped them with hands and feet.** Starting tomorrow, this AI employee will handle your repetitive tasks. All without writing a single line of code. --- -[홈으로 돌아가기](../index) +[Return to Home](../index) diff --git a/index.md b/index.md index 344e7c5..bbcec55 100644 --- a/index.md +++ b/index.md @@ -4,133 +4,133 @@ layout: home nav_order: 0 --- -# 문과생을 위한 Copilot Studio +# Copilot Studio for Non-Developers {: .fs-9 } -개발자 없이 만드는 우리 팀 전용 AI — 완전 정복 1일 과정 +Build your team's own AI without a developer — A full-day hands-on course {: .fs-6 .fw-300 } {: .warning } -> 이 과정은 **2026년 3월** 시점의 기능과 UI를 기준으로 제작되었습니다. -> Microsoft Copilot과 Copilot Studio는 매우 빠른 속도로 기능 추가와 개선이 이루어지고 있어, 시간이 지남에 따라 실제 화면이나 기능이 이 과정의 내용과 달라질 수 있습니다. +> This course was created based on features and UI as of **March 2026**. +> Microsoft Copilot and Copilot Studio are evolving rapidly, so the actual screens and features may differ from what is shown in this course over time. --- -## 이 과정이 특별한 이유 +## What Makes This Course Special -> *"지침 잘 쓰는 사람이 에이전트 잘 만듭니다. 이건 이과 영역이 아니에요."* +> *"People who write great instructions build great agents. This isn't a developer's job."* -에이전트의 품질은 코딩 실력이 아니라 **지침의 품질**로 결정됩니다. -맥락 이해, 글쓰기, 설득, 스토리텔링 — 이것이 바로 여러분의 강점이자 Copilot Studio에서 가장 중요한 능력입니다. +Agent quality is determined not by coding skills, but by the **quality of your instructions**. +Context understanding, writing, persuasion, storytelling — these are your strengths, and they are the most important skills in Copilot Studio. -| 여러분의 강점 | Copilot Studio에서의 역할 | +| Your Strengths | Role in Copilot Studio | |:------------|:------------------------| -| 맥락 이해 | 지침의 역할·범위·원칙 설계 | -| 글쓰기 | 지침·대본(Topic) 텍스트 작성 | -| 설득·커뮤니케이션 | 에이전트 말투·태도 설계 | -| 스토리텔링 | 대화 흐름(Topic) 설계 | -| 현업 도메인 지식 | 지식 소스(문서) 기획·구성 | +| Context understanding | Designing the agent's role, scope, and principles | +| Writing | Authoring instructions and script (Topic) text | +| Persuasion & communication | Designing the agent's tone and attitude | +| Storytelling | Designing conversation flows (Topics) | +| Domain expertise | Planning and organizing knowledge sources (documents) | --- -## 비유 시스템 — 이 용어만 기억하세요 +## Analogy System — Just Remember These Terms -이 과정에서는 낯선 기술 용어 대신 **익숙한 비유**를 사용합니다. +Throughout this course, we use **familiar analogies** instead of unfamiliar technical jargon. -| 개념 | 비유 | 한 줄 설명 | +| Concept | Analogy | One-Line Description | |:-----|:-----|:---------| -| 에이전트 | 🧑‍💼 신입사원 | 지시대로 움직이는 AI 직원 | -| 지침 | 📋 행동매뉴얼 | 에이전트의 역할·태도·범위를 정의 | -| 지식 | 📚 교과서 | 에이전트가 답변의 근거로 삼는 자료 | -| 변수 | 📝 포스트잇 | 대화 중 메모해두고 나중에 꺼내 쓰는 것 | -| Topic | 🎬 대본 | 특정 상황에서 에이전트가 따르는 흐름 | -| Flow | 🤲 손발 | 에이전트가 실제로 행동하게 해주는 것 | -| 메일 전달 | ✉️ 편지봉투 | 문의 내용을 담당자에게 이메일로 전달 | +| Agent | 🧑‍💼 New employee | An AI worker that follows your instructions | +| Instructions | 📋 Behavior manual | Defines the agent's role, attitude, and scope | +| Knowledge | 📚 Textbook | Reference materials the agent uses to answer questions | +| Variable | 📝 Sticky note | Something jotted down during a conversation and used later | +| Topic | 🎬 Script | A flow the agent follows in specific situations | +| Flow | 🤲 Hands and feet | What enables the agent to take real-world actions | +| Email forwarding | ✉️ Envelope | Forwarding an inquiry to the right person via email | --- -## ⏱️ 전체 타임테이블 +## ⏱️ Full Timetable -운영 시간: **09:30 ~ 18:00** (총 8시간 30분) +Course hours: **09:30 – 18:00** (8 hours 30 minutes total) {: .fs-5 } -| # | 시간 | 모듈 | 제목 | 소요 | 수강생 역할 | +| # | Time | Module | Title | Duration | Participant Role | |:--|:-----|:-----|:-----|:-----|:-----------| -| 0 | 09:30 | [MODULE 0](docs/m00-orientation) | 오리엔테이션 — 오늘 만들 에이전트 미리보기 | 10분 | 👀 보기 | -| 1 | 09:40 | [MODULE 1](docs/m01-copilot-principles) | 코파일럿과 에이전트의 동작원리 | 10분 | 👀 보기 | -| 2 | 09:50 | [MODULE 2](docs/m02-immersive-incontext) | 에이전트의 사용 방식 — 몰입형 vs 인컨텍스트 | 15분 | 👀 보기 | -| 3 | 10:05 | [MODULE 3 ⭐](docs/m03-agent-builder) | 첫번째 에이전트 만들기 — 에이전트 빌더 실습 | 30분 | 🟢 직접 만들기 | -| 3a | — | [MODULE 3a](docs/m03a-sample-agents) | 부록 — 6가지 샘플 에이전트 체험 | 자율 | 🟢 자율 실습 | -| 4 | 10:35 | [MODULE 4](docs/m04-four-components) | 에이전트의 4가지 구성요소 + Copilot Studio 둘러보기 | 20분 | 👀 보기 | -| — | 10:55 | ☕ 휴식① | | 15분 | | -| 5 | 11:10 | [MODULE 5 ⭐](docs/m05-orchestrator) | 1요소 오케스트레이터 — 모델 변경 + 설정 실습 | 20분 | 🟢 직접 실습 | -| — | 11:30 | 🍱 점심 | | 90분 | | -| 6 | 13:00 | [MODULE 6 ⭐](docs/m06-instructions) | 2요소 지침 — 좋은 지침 만들기 + 실습 | 30분 | 🟢 직접 작성 + 테스트 | -| 7 | 13:30 | [MODULE 7 ⭐](docs/m07-knowledge) | 3요소 지식 — RAG 개념 + 참조문서 업로드 실습 | 30분 | 🟢 직접 실습 | -| 8 | 14:00 | [MODULE 8](docs/m08-tools-overview) | 4요소 도구들 — 도구가 채택되는 원리 | 10분 | 👀 보기 | -| 9 | 14:10 | [MODULE 9 ⭐](docs/m09-topic-variables) | 도구 — 토픽과 변수 | 35분 | 🟢 직접 실습 | -| — | 14:45 | ☕ 휴식② | | 15분 | | -| 10 | 15:00 | [MODULE 10 ⭐](docs/m10-publish-share) | 에이전트 게시와 공유 — Copilot에서 에이전트 사용 | 20분 | 🟢 직접 실습 | -| 11 | 15:20 | [MODULE 11 ⭐](docs/m11-connector) | 도구 — 커넥터 | 30분 | 🟢 직접 실습 | -| 12 | 15:50 | [MODULE 12 ⭐](docs/m12-agent-flow) | 도구 — 에이전트 흐름 | 30분 | 🟢 직접 실습 | -| 13 | 16:20 | [MODULE 13](docs/m13-ai-prompt) | 고급도구 — AI 프롬프트 | 10분 | 👀 강사 데모 | -| — | 16:30 | ☕ 휴식③ | | 15분 | | -| 14 | 16:45 | [MODULE 14 ⭐](docs/m14-multi-agent) | 고급도구 — 멀티에이전트 | 25분 | 🟢 직접 실습 | -| 15 | 17:10 | [MODULE 15 ⭐](docs/m15-mcp) | 고급도구 — MCP | 15분 | 🟢 직접 실습 | -| 16 | 17:25 | [MODULE 16 ⭐](docs/m16-trigger) | 고급도구 — 트리거 | 25분 | 🟢 직접 실습 | -| — | 17:50 | 🎉 [마무리](docs/m17-wrap-up) | 돌아보기 · Q&A · 트러블슈팅 | 10분 | | +| 0 | 09:30 | [MODULE 0](docs/m00-orientation) | Orientation — Preview the Agent You'll Build Today | 10 min | 👀 Watch | +| 1 | 09:40 | [MODULE 1](docs/m01-copilot-principles) | How Copilot and Agents Work | 10 min | 👀 Watch | +| 2 | 09:50 | [MODULE 2](docs/m02-immersive-incontext) | Agent Usage — Immersive vs In-Context | 15 min | 👀 Watch | +| 3 | 10:05 | [MODULE 3 ⭐](docs/m03-agent-builder) | Build Your First Agent — Agent Builder Hands-On | 30 min | 🟢 Build It | +| 3a | — | [MODULE 3a](docs/m03a-sample-agents) | Appendix — Try 6 Sample Agents | Self-paced | 🟢 Self-Paced | +| 4 | 10:35 | [MODULE 4](docs/m04-four-components) | The 4 Components of an Agent + Copilot Studio Tour | 20 min | 👀 Watch | +| — | 10:55 | ☕ Break ① | | 15 min | | +| 5 | 11:10 | [MODULE 5 ⭐](docs/m05-orchestrator) | Component 1: Orchestrator — Change Model + Settings | 20 min | 🟢 Hands-On | +| — | 11:30 | 🍱 Lunch | | 90 min | | +| 6 | 13:00 | [MODULE 6 ⭐](docs/m06-instructions) | Component 2: Instructions — Writing Good Instructions | 30 min | 🟢 Write + Test | +| 7 | 13:30 | [MODULE 7 ⭐](docs/m07-knowledge) | Component 3: Knowledge — RAG Concepts + Upload Docs | 30 min | 🟢 Hands-On | +| 8 | 14:00 | [MODULE 8](docs/m08-tools-overview) | Component 4: Tools — How Tools Get Selected | 10 min | 👀 Watch | +| 9 | 14:10 | [MODULE 9 ⭐](docs/m09-topic-variables) | Tools — Topics and Variables | 35 min | 🟢 Hands-On | +| — | 14:45 | ☕ Break ② | | 15 min | | +| 10 | 15:00 | [MODULE 10 ⭐](docs/m10-publish-share) | Publish & Share — Use Your Agent in Copilot | 20 min | 🟢 Hands-On | +| 11 | 15:20 | [MODULE 11 ⭐](docs/m11-connector) | Tools — Connectors | 30 min | 🟢 Hands-On | +| 12 | 15:50 | [MODULE 12 ⭐](docs/m12-agent-flow) | Tools — Agent Flows | 30 min | 🟢 Hands-On | +| 13 | 16:20 | [MODULE 13](docs/m13-ai-prompt) | Advanced Tools — AI Prompts | 10 min | 👀 Instructor Demo | +| — | 16:30 | ☕ Break ③ | | 15 min | | +| 14 | 16:45 | [MODULE 14 ⭐](docs/m14-multi-agent) | Advanced Tools — Multi-Agent | 25 min | 🟢 Hands-On | +| 15 | 17:10 | [MODULE 15 ⭐](docs/m15-mcp) | Advanced Tools — MCP | 15 min | 🟢 Hands-On | +| 16 | 17:25 | [MODULE 16 ⭐](docs/m16-trigger) | Advanced Tools — Triggers | 25 min | 🟢 Hands-On | +| — | 17:50 | 🎉 [Wrap-Up](docs/m17-wrap-up) | Review · Q&A · Troubleshooting | 10 min | | {: .timetable} -| 구분 | 시간 | +| Category | Time | |:-----|:-----| -| 교육 | 365분 (6시간 5분) | -| 점심 | 90분 | -| 휴식 | 45분 (15분 × 3회) | -| Q&A | 10분 | -| **합계** | **510분 (8시간 30분)** | +| Training | 365 min (6 hrs 5 min) | +| Lunch | 90 min | +| Breaks | 45 min (15 min × 3) | +| Q&A | 10 min | +| **Total** | **510 min (8 hrs 30 min)** | --- -## 사전 준비 +## Prerequisites -시작하기 전에 다음을 확인해 주세요: +Before starting, please verify the following: -- ✅ Microsoft 365 계정 로그인 가능 -- ✅ [Copilot Studio](https://copilotstudio.microsoft.com) 접속 가능 -- ✅ Microsoft Teams 설치 및 로그인 완료 -- ✅ [Power Automate](https://make.powerautomate.com) 접속 가능 -- ✅ 인스턴트 클라우드 흐름 생성 권한 확인 완료 -- ✅ AI Builder 프롬프트 사용 가능 여부 확인 완료 -- ✅ Office 365 Outlook 커넥터로 메일 발송 가능 -- ✅ OneDrive for Business + Excel Online (Business) 사용 가능 -- ✅ 실습에 사용할 문서 파일 다운로드 (아래 참조) +- ✅ Able to sign in with a Microsoft 365 account +- ✅ Can access [Copilot Studio](https://copilotstudio.microsoft.com) +- ✅ Microsoft Teams installed and signed in +- ✅ Can access [Power Automate](https://make.powerautomate.com) +- ✅ Permission to create instant cloud flows confirmed +- ✅ AI Builder prompt availability confirmed +- ✅ Able to send email via the Office 365 Outlook connector +- ✅ OneDrive for Business + Excel Online (Business) available +- ✅ Lab files downloaded (see below) {: .warning } -> 일부 조직은 Power Automate, AI Builder, Outlook 커넥터, OneDrive 사용에 관리자 승인이나 라이선스 확인이 필요합니다. 오전 세션 시작 전에 미리 점검해 주세요. +> Some organizations require admin approval or license verification for Power Automate, AI Builder, the Outlook connector, and OneDrive. Please check before the morning session begins. -### 📂 실습 파일 다운로드 +### 📂 Download Lab Files -| # | 파일 | 설명 | +| # | File | Description | |:--|:-----|:-----| -| 1 | [FAQ.docx](assets/files/FAQ.docx) | 자주 묻는 질문 모음 | -| 2 | [경비처리_가이드.docx](assets/files/경비처리_가이드.docx) | 경비 처리 절차 안내 | -| 3 | [담당자정보.docx](assets/files/담당자정보.docx) | 부서별 담당자 연락처 | -| 4 | [복리후생_안내.docx](assets/files/복리후생_안내.docx) | 복리후생 제도 안내 | -| 5 | [휴가_근태_가이드.docx](assets/files/휴가_근태_가이드.docx) | 휴가·근태 관련 규정 | +| 1 | [FAQ.docx](assets/files/FAQ.docx) | Frequently asked questions | +| 2 | [경비처리_가이드.docx](assets/files/경비처리_가이드.docx) | Expense processing guide | +| 3 | [담당자정보.docx](assets/files/담당자정보.docx) | Department contact information | +| 4 | [복리후생_안내.docx](assets/files/복리후생_안내.docx) | Employee benefits guide | +| 5 | [휴가_근태_가이드.docx](assets/files/휴가_근태_가이드.docx) | Leave and attendance policy | {: .tip } -> 위 파일들은 실습 중 에이전트의 **지식(교과서)** 소스로 사용합니다. 미리 다운로드해 주세요. +> These files will be used as the agent's **knowledge (textbook)** sources during the labs. Please download them in advance. {: .highlight } -> 모든 실습은 웹 브라우저에서 진행됩니다. 별도의 프로그램 설치가 필요 없습니다. +> All labs are conducted in a web browser. No additional software installation is required. --- -## 참조 링크 +## Reference Links -| 자료 | URL | +| Resource | URL | |:-----|:----| -| Copilot Studio 공식 문서 | [learn.microsoft.com/microsoft-copilot-studio](https://learn.microsoft.com/microsoft-copilot-studio/) | -| MS Learn 학습 경로 | [learn.microsoft.com/training](https://learn.microsoft.com/training/paths/work-power-virtual-agents/) | -| Power Automate 문서 | [learn.microsoft.com/power-automate](https://learn.microsoft.com/power-automate/) | -| Copilot Studio 커뮤니티 | [community.powerplatform.com](https://community.powerplatform.com/galleries/communitycontent/?v=copilot-studio) | +| Copilot Studio Official Docs | [learn.microsoft.com/microsoft-copilot-studio](https://learn.microsoft.com/microsoft-copilot-studio/) | +| MS Learn Learning Path | [learn.microsoft.com/training](https://learn.microsoft.com/training/paths/work-power-virtual-agents/) | +| Power Automate Docs | [learn.microsoft.com/power-automate](https://learn.microsoft.com/power-automate/) | +| Copilot Studio Community | [community.powerplatform.com](https://community.powerplatform.com/galleries/communitycontent/?v=copilot-studio) |