https://www.youtube.com/watch?v=3-tT9jIDGnQ
📌 Copilot Studio는 무엇이며, 어떤 기능을 제공하는가?
Copilot Studio 101 콘텐츠는 복잡한 AI 에이전트 구축의 기초부터 심화까지 체계적으로 안내하며, 다양한 에이전트 유형(검색, 작업 기반, 자율 에이전트)의 차이점을 명확히 설명합니다. 이 영상을 통해 지식(Knowledge), 도구(Tools), 토픽(Topics) 등 핵심 구성 요소를 이해하고, 이를 활용하여 실용적인 비즈니스 자동화 경험을 직접 구축하는 구체적인 방법을 배울 수 있습니다.
1. Copilot Studio 101 개요 및 에이전트의 기본 개념
1.1. Copilot Studio 101 소개 및 후원사 안내
Copilot Studio 101 과정 소개: 이 콘텐츠는 Copilot Studio를 시작하고 작동 방식을 이해하기 위한 입문 과정이며, 일반적인 101 과정보다 더 깊이 있는 세부 사항을 제공하여 단 하나의 비디오로 시작하고 놀라운 경험을 구축할 수 있도록 돕는 것을 목표로 한다.
후원사 정보: 이 에피소드는 3월 17일부터 19일까지 샌디에이고 토리 파인스 힐튼에서 열리는 AI 및 Copilot 서밋의 후원으로 제작되었다.
서밋 참가자: 750명 이상의 비즈니스 및 기술 리더들이 Microsoft 관계자 및 커뮤니티 연사들과 함께 AI가 비즈니스 성과에 미치는 잠재력을 탐구할 예정이다.
등록 안내: 등록은
copilotssummitna.com에서 가능하다.
1.2. 에이전트(Agent)의 정의와 역할
에이전트의 정의: 에이전트는 과거의 비즈니스 프로세스 자동화(BPA)나 일반적인 대화형 봇의 진화된 형태이다.
생성형 AI의 영향: 새로운 생성형 AI 기술의 역량 덕분에 에이전트로 더 많은 것을 수행할 수 있으며, 과거에는 불가능했던 고유한 경험을 제공하기 위해 이들을 결합할 수 있게 되었다.
Copilot Studio 내 에이전트의 역할: Copilot Studio 내에서 에이전트를 구축하면 비즈니스 프로세스를 자동화 및 실행하고 고객과 심층적인 대화를 나눌 수 있게 된다.
2. 에이전트의 세 가지 유형
2.1. 세 가지 에이전트 유형 개요 및 주의사항
에이전트 유형: 에이전트에는 검색(Retrieval) 에이전트, 작업 기반(Task-based) 에이전트, 자율(Autonomous) 에이전트의 세 가지 유형이 있다.
초보자의 흔한 실수: 많은 사람들이 구축을 시작할 때 가장 진보된 시나리오인 자율 에이전트로 바로 뛰어드는데, 이는 시작하기도 전에 실패할 수 있는 방법이다.
2.2. 검색 에이전트 (Retrieval Agent)
정의: 검색 에이전트는 사용자가 제공한 데이터 세트에 기반하여 접지된(grounded) ChatGPT와 유사하다.
기능: 사용자가 질문하고 대화할 수 있는 능력을 제공하며, 제공된 데이터 내에서만 검색, 요약, 답변을 제공한다.
2.3. 작업 기반 에이전트 (Task-based Agent)
기능: 작업 기반 에이전트는 실제로 무언가를 수행할 수 있다.
상호작용: 백엔드 시스템에 쓰기가 가능하며, API와 상호작용하는 더 많은 기능을 수행한다.
Copilot Studio 연관성: 이 단계에서 Copilot Studio 내에서 도구(Tools) 또는 작업(Actions)이 관여하기 시작하는 것을 볼 수 있다.
2.4. 자율 에이전트 (Autonomous Agent)
BPA와의 차이점: 자율 에이전트는 비즈니스 프로세스 자동화(BPA)와 혼동되어서는 안 되며, "만약 이것이면, 저것이다(if, then this)" 유형의 상황이 아니다.
작업 설명서 비유: 자율 에이전트는 작업 설명서(Job Description)를 작성하는 것과 같으며, 에이전트의 직무를 설명한다.
작업 수행 방식 정의: 이어서 직무를 수행하는 방법을 설명하고, 직무 수행 및 실행 능력에 기반하여 결정을 내릴 수 있는 도구를 제공한다.
자율 에이전트의 3요소: 자율 에이전트 구축 시 고려할 요소는 다음과 같다.
도구(Tools): 직무 수행을 위해 사용할 수 있는 도구.
지식(Knowledge): 직무 수행에 필요한 지식.
트리거(Trigger): 언제 직무를 수행할지 결정하는 요소 (가장 중요).
2.5. 자율 에이전트와 BPA의 비교
BPA의 특징: 비즈니스 프로세스 자동화(BPA)는 "이것이면, 저것이다(if this, then that)" 방식이며, 트리거는 있지만 매우 규칙 기반이다.
자율 에이전트의 특징: 자율 에이전트는 제공된 지식과 도구를 스스로 결정하여 적용하고 직무를 수행할 수 있다.
3. Copilot Studio의 역할 및 생태계 이해
3.1. Copilot Studio의 정의와 버전
Copilot Studio의 역할: Microsoft가 제공하는 도구로, 독립형 에이전트를 구축하거나 Microsoft 365 Copilot과 같은 1자(first-party) Copilot 제품을 확장할 수 있게 한다.
두 가지 버전: Copilot Studio는 Copilot Studio와 Copilot Studio Light 두 가지 버전으로 제공된다.
Full Copilot Studio: 엔터프라이즈 개발을 위해 의도되었으며, 정책 등을 통해 사용 가능한 데이터와 결합 가능한 데이터를 제어하고, 누가 구축할 수 있는지 등을 제어할 수 있다.
Copilot Studio Light: 시민 개발자(citizen developer) 버전으로, M365 Copilot 내에서 주로 보이며 선언적(declarative) 에이전트를 생성하는 데 사용된다.
Light 버전의 제어: Light 버전은 M365 Copilot 또는 백엔드 오피스 그래프에 접근할 수 있는 데이터에 대해 접근 권한을 제어하고, 해당 데이터에 어떻게 적용할지 지침을 제공하며 접근할 데이터를 제한할 수 있다.
3.2. Microsoft 에이전트 생태계 내 Copilot Studio의 위치
Copilot Studio가 Microsoft 에이전트 생태계 내에서 어떤 역할을 하는지 이해하는 것이 중요하다.
3.2.1. Copilot Chat 및 M365 Copilot
Copilot Chat: 조직 내에서 일반적으로 무료로 사용할 수 있으며, 기업이 안전하게 사용할 수 있도록 잠금 설정하는 데 특화되어 있다.
데이터 보안: 일반 웹 기반 ChatGPT와 달리, Copilot Chat은 사용자가 질문한 정보를 모델 훈련에 공유하지 않으며 안전한 대화 공간을 제공한다.
M365 Copilot: Copilot Chat의 기능에 오피스 그래프(Office Graph)를 추가하고 개인 생산성 비서 시나리오를 수행할 수 있게 한다.
확장 가능성: M365 Copilot 또는 Copilot Chat은 Microsoft 에이전트를 사용하여 확장할 수 있다.
3.2.2. 에이전트 구축 및 확장 경로
에이전트 구축: 에이전트는 Copilot Studio를 사용하여 구축한다.
확장 방식:
독립형 에이전트: Full Copilot Studio를 사용하여 독립적으로 구축할 수 있다.
선언적 확장: Copilot Studio Light를 사용하여 선언적 수준의 Copilot 경험으로 에이전트를 확장할 수 있다.
1자 제품 확장: Full Copilot Studio는 Microsoft 1자 Copilot 제품(예: M365 Copilot)을 확장하는 데에도 사용될 수 있으며, 제한이 없다.
3.3. Copilot Studio의 핵심 역할 및 Azure AI Foundry와의 관계
엔터프라이즈 에이전트 구축: Full Copilot Studio를 사용하여 전체 엔터프라이즈 에이전트를 구축할 수도 있다.
Azure AI Foundry와의 관계: Azure AI Foundry 내에서도 에이전트 구축이 가능하여 혼동이 발생할 수 있다.
Copilot Studio의 핵심: Copilot Studio는 대화형 오케스트레이터(conversational orchestrator)이다.
오케스트레이터 역할: IP 네트워크의 라우터처럼, 다양한 구성 요소를 통합하고 에이전트에 추가하여 특정 주제(예: IT 관련)에 따라 Azure AI Foundry 구현으로 라우팅하거나, HR 관련은 Copilot Studio 내에서 구축된 것으로 라우팅할 수 있다.
통합된 경험: 이를 통해 IT 에이전트나 HR 에이전트가 아닌 직원 비서(employee assistant)와 같은 강력한 경험을 구축할 수 있다.
Azure AI Foundry의 역할: Azure AI Foundry는 모델 미세 조정(fine-tune)이나 산업 모델을 가져오는 데 사용되며, Copilot Studio와 잘 연동된다.
선택 질문에 대한 답변: 에이전트 구축 시 Copilot Studio와 Azure AI Foundry 중 무엇을 사용해야 하는지 묻는다면, 둘 다 사용해야 하며, 적절한 곳에 적절한 도구를 사용해야 한다.
타사 및 사용자 지정 에이전트: 오케스트레이터로서 Copilot Studio는 새로운 타사 시스템을 연결할 수 있다.
외부 프로토콜 지원: Google이 소유한 ATO(Agent-to-Agent Protocol)나 Anthropic이 만든 MCP(Model Context Protocol)와 같은 외부 프로토콜을 연결하여 Microsoft 생태계 외부의 시스템을 오케스트레이션할 수 있다.
4. Copilot Studio의 주요 구성 요소 (내부 구조)
Copilot Studio의 구성 요소는 주방의 재료와 같으며, 같은 재료를 다른 방식으로 사용하여 다양한 요리(경험)를 만들 수 있다.
4.1. 토픽 (Topics)
정의: 토픽은 고급 모드(advanced mode)이며, 제작자가 완벽하게 제어할 수 있는 영역이다.
제어 수준: 제작자는 무엇을 말할지 정확하게 지정하거나, 내부 지식 기반을 먼저 확인할지 외부 지식 기반을 확인할지 결정할 수 있다.
생성형 AI 제어: 토픽을 통해 생성형 AI를 원하는 곳에 연결하고, 원하지 않는 곳에서는 완전히 제어할 수 있다.
강력한 기능: 토픽은 Copilot Studio에서 구축할 수 있는 가장 강력한 기능 중 하나이다.
제한 사항: 토픽 기능은 Full Copilot Studio에서만 사용 가능하며, 고급 기능으로 간주된다.
스크립트 응답의 필요성: 스크립트 응답이 필요한 경우(예: 마케팅 부서가 원하는 정확한 문구 전달, 법적 요구사항 준수) 토픽이 유용하며, 제작자에게 필요한 모든 제어 권한을 제공한다.
4.2. 지식 (Knowledge)
패턴: 지식은 SaaS 기반 RAG(Retrieval Augmented Generation) 패턴이다.
RAG 정의: RAG는 사용자가 제공한 데이터에 대한 ChatGPT를 의미한다.
구현: 이는 SaaS(Software as a Service) 기반 구현이며, 다양한 RAG 패턴의 상품화된(commodity) 구현을 제공한다.
활용: SharePoint의 데이터, 업로드된 파일, 웹사이트 등에 대한 질문에 답변할 수 있으며, 처음부터 구축할 필요 없이 바로 강력한 기능을 제공한다.
4.3. 도구 (Tools)
강력한 기능: 도구는 API 또는 비즈니스 프로세스 자동화에 대한 대화형 래퍼(conversational wrappers)를 구축할 수 있게 하여 매우 강력해진다.
포함 요소: 사용자 지정 프롬프트(custom prompts)가 포함되며, 데이터를 소비하거나 MCP 서버와 같은 다른 구성 요소를 사용하는 등의 작업을 수행한다.
추후 상세 학습: 도구에 대해서는 각 영역에서 더 깊이 다룰 예정이므로 지금 당장 완벽히 이해하지 못해도 괜찮다.
4.4. 분석 (Analytics)
포함: Copilot Studio에는 분석 기능이 포함되어 있다.
투자: 분석 기능에는 많은 투자가 이루어졌으며, 에이전트가 가동된 후 유지 및 운영에 도움이 되는 새로운 기능들이 있다.
4.5. 채널 (Channels)
필요성: 사용자에게 소통할 수 있는 다양한 방법이 필요하다.
채널 예시: 전화, 웹 채팅, Teams, Facebook Messenger, WhatsApp, 문자 메시지 등이 모두 채널의 예시이다.
연결: Copilot Studio는 하나의 채널이 아닌 여러 채널에 플러그인할 수 있게 한다.
주의사항: 각 채널은 고유한 요구 사항과 기능이 있으므로, 사용하려는 채널의 기능과 특징을 이해해야 한다.
4.6. 변수 (Variables)
변수와 메모리의 구분: 변수는 생성형 AI 모델의 메모리와 혼동되어서는 안 된다.
정의: 변수는 대화 상태(conversation state) 내에서 데이터를 관리하는 것이다.
대화 상태: 대화가 진행되는 동안 저장되는 데이터이다.
활용 예시: 로그인한 사람의 연락처 정보나 사용자 프로필을 변수에 저장하여 대화 오케스트레이션에 활용할 수 있다.
의사 결정 지원: 변수는 직원의 고용 형태(시간제/연봉제)나 근무 지역(미국/인도)에 따라 에이전트의 동작이나 도구 사용 방식을 결정하는 데 사용될 수 있다.
4.7. Copilot Studio 구축 및 운영 순환 과정
모든 구성 요소(재료)를 이해했으므로, Copilot Studio에서 에이전트를 생성하고 운영하는 순환 과정을 살펴본다.
에이전트 생성: SaaS 플랫폼이므로 에이전트 생성을 요청하면 필요한 모든 것이 프로비저닝된다.
트리거 생성: 자율 에이전트의 경우, 에이전트가 활성화되어야 하는 시점(트리거)을 설정한다.
지식 추가: 원하는 지식을 추가하여 해당 지식과 규칙에 기반하여 질문에 답변할 수 있도록 한다.
토픽 생성: 완벽하게 제어하고 싶은 특정 항목에 대해 토픽을 생성하고 설정한다.
액션(도구) 생성: 기존 백엔드 시스템 및 API에 연결하여 작업 기반 시나리오를 수행할 수 있도록 한다. (액션은 도구의 이전 명칭이다.)
채널 게시: 사용자 인터페이스를 위해 여러 채널에 게시하여 사용자가 있는 곳에서 만난다.
운영 및 개선: 분석(Analytics)을 사용하여 모니터링하고 개선한다.
확장: Copilot Studio 범위 밖의 작업을 위해 Azure AI Foundry 또는 타사 확장 기능으로 확장한다.
순환: 이 과정을 통해 지속적으로 개선한다.
4.8. 오케스트레이터 및 에이전트 구조 심층 분석
Copilot Studio 내부에는 오케스트레이터가 존재하며, 이것이 Copilot Studio의 강력한 핵심이다.
오케스트레이터의 결정: 오케스트레이터는 언제 토픽을 사용할지, 지식 조각을 사용할지, 어떤 도구를 사용해야 할지, 왜 사용해야 할지, 언제 관여할지를 결정한다.
하위 에이전트(Sub-agents): Copilot Studio 에이전트 내부에 하위 에이전트 개념이 있어, 특정 도구/지식/구성 요소 그룹을 HR 시나리오용으로 묶거나 IT 시나리오용으로 묶을 수 있다. 전체 오케스트레이터는 직원 비서가 될 수 있다.
연결된 에이전트(Connected Agents): 다른 Copilot Studio 에이전트에 도달할 수 있으며, M365 에이전트 SDK를 사용하여 외부 엔티티로 소비할 수 있다. (M365 에이전트 SDK는 Bot Framework SDK의 리브랜딩이다.)
Azure Foundry 및 Fabric 에이전트: Azure Foundry 내에서 구축된 에이전트나 Fabric 에이전트도 호출할 수 있다.
최종 결정: 오케스트레이터는 제작자가 설명한 방식에 따라 이러한 모든 조각과 도구를 언제 어디서 사용할지 결정하여 사용자 질문에 대한 올바른 답변으로 안내한다.
4.9. 플래너 및 생성형 오케스트레이션 계층
생성형 오케스트레이터: 사용자가 무언가를 말하면, 오케스트레이터는 토픽, 도구, 지식 등 사용 가능한 모든 인벤토리를 살펴보고 계획(plan)을 생성한다.
계획 실행: 생성된 계획은 필요한 도구를 사용하여 실행되며, 도구 조합이 필요할 수도 있다 (예: 토픽 + 작업(도구) 또는 지식).
통합 응답 계층 (Unified Response Layer): 도구 사용 후 정보를 취합하여 단일 통합 응답을 사용자에게 반환한다. 여러 도구에서 오는 여러 응답이 아닌 하나의 답변을 받는다.
폴백 시스템 토픽 (Fallback System Topic): 플래너가 질문에 답할 방법을 찾지 못하면 폴백 시스템 토픽으로 이동하여 "죄송합니다, 이해하지 못했습니다" 응답을 제공하며, 궁극적으로 실제 상담원에게 에스컬레이션될 수 있다.
수동 에스컬레이션: 사용자가 요청하는 경우에도 라이브 상담원으로 트리거할 수 있다.
5. 지식 (Knowledge) 상세 분석
5.1. 지식의 소스 및 기본 작동 방식
지식의 정의: 지식은 SaaS 기반 RAG 패턴이며, 제작자가 접근 권한을 부여하거나 제공하는 데이터에 대해 질문하는 것이다.
지원되는 소스: 공개 웹사이트, SharePoint, Azure AI Search, Dataverse, Azure SQL, Dynamics 365, Salesforce, ServiceNow, 파일 등 다양한 소스를 지원하며 계속 증가하고 있다.
사용자 지정 지식: 고급 기능으로 사용자 지정 지식을 구축하여 연결할 수도 있다.
5.2. 지식 검색 및 응답 생성 7단계 프로세스
지식은 질문에 대한 답변을 검색하고 찾는 방식으로 작동한다.
1단계: 메시지 조정 (Message Moderation)
사용자가 요청한 질문이 폭탄 제조 시도와 같은 악의적인 내용인지 확인한다.
이 과정은 모델에 질문을 보내기 전에 메시지 조정 수준에서 구성 가능하며, 악의적인 내용은 모델로 전송되지 않는다.
2단계: 쿼리 최적화 (Query Optimization)
사용자가 말하는 질문을 쿼리하는 가장 좋은 방법으로 쿼리를 작성한다.
예시: "갈퀴(rake)는 길이가 얼마인가요?"라고 물으면, 백엔드 시스템에 "길이가 얼마인가요?"라고 보내는 대신, 대화 맥락을 고려하여 "내가 말하는 갈퀴의 길이는 얼마인가?"로 쿼리를 재구성한다.
3단계: 정보 검색 (Information Retrieval)
Copilot Studio가 데이터를 마법처럼 흡수하는 것이 아니라, 데이터가 있는 곳에서 제공되는 검색 서비스를 사용한다.
웹사이트의 경우 Bing을, SharePoint의 경우 백엔드 그래프를 사용한다.
데이터의 위치와 인덱싱 방식이 검색 품질에 큰 영향을 미친다.
4단계: 요약 (Summarization)
검색 제공자로부터 쿼리 결과를 가져온 후, 이 결과를 요약 단계로 전달한다.
실제 대규모 언어 모델(LLM)이 여기서 작동하며, 검색 결과와 대화 맥락을 기반으로 질문을 요약하도록 전달한다.
Microsoft가 기본 제공하는 책임 있는 AI(Responsible AI) 가드레일이 적용되어 요약된 답변을 제공한다.
5단계: 출처 검증 (Providence Validation)
요청한 내용이 접지된 데이터에서 왔는지 확인하기 위해 검증한다.
인용(citations)이 생성되고 사용 가능하도록 보장한다.
6단계: 요약 조정 (Summary Moderation)
모델에서 반환된 응답을 다시 확인하여 사용자에게 말해서는 안 되는 내용이 없는지 확인한다.
가드레일이 적용되었더라도 이중 확인하는 과정이다.
7단계: 응답 반환 및 로깅
최종적으로 사용자에게 응답을 반환하고, 이 모든 정보를 백엔드에 로깅한다.
6. 도구 (Tools) 상세 분석
도구는 API 또는 RAG 패턴이 아닌 더 고급 기능을 수행할 수 있는 기능이다.
6.1. 지원되는 도구 유형 개요
현재 Copilot Studio에서 지원되는 도구 유형은 다음과 같다.
프롬프트 (Prompt): 모델을 호출하고 지침 세트를 제공하여 원하는 작업을 수행할 수 있다. Llama, GPT-4 등 다양한 모델을 사용할 수 있다.
플로우 (Flows): Power Automate 내에서 구축된 비즈니스 프로세스 자동화이며, 입력과 출력을 설명하여 비즈니스 프로세스를 가져올 수 있다.
컴퓨터 사용 (Computer Use): API가 없는 애플리케이션의 경우, 클라우드의 가상 머신이 UI를 클릭하여 필요한 작업을 수행하도록 하는 개념이다. (현재 미리 보기 상태이며 별도 비디오 예정)
사용자 지정 커넥터 (Custom Connectors): 연결하려는 API이며, 1,500개 이상의 기본 제공 커넥터가 있거나 직접 구축할 수 있다. Power Platform 커넥터이다.
REST API: 기존 RESTful API와 통합하기 위한 방법이다.
모델 컨텍스트 프로토콜 (MCP): MCP 서버에 연결하여 Copilot Studio에 통합할 수 있다.
6.2. 도구 실습 1: 커넥터를 기반으로 한 간단한 도구 (날씨 API)
작업 기반 시나리오를 위해 커넥터를 기반으로 도구를 만드는 방법을 살펴본다.
도구 추가: 도구 페이지로 이동하여 새 도구를 추가한다.
날씨 커넥터 선택: 날씨 커넥터를 선택하여 API와 대화할 수 있는 도구를 만든다. (MSN의 현재 날씨 가져오기)
연결 및 인증: 이 특정 커넥터는 인증이 필요 없으므로 연결을 구축할 필요가 없다.
도구 설명: 도구 설명에 "특정 위치의 현재 날씨에 대한 답변을 얻는 것"이라고 명시하면 오케스트레이터가 언제 이 도구를 사용해야 할지 알 수 있다.
자격 증명 설정: 제작자 제공 자격 증명(Maker-provided credentials)으로 변경하여 사용자를 인증하고 연결을 생성하지 않도록 설정한다. (익명 API이므로 적합)
입력 매개변수 설정:
위치(Location): AI가 동적으로 채우도록 두어, 제공되지 않으면 자동으로 질문하여 정보를 얻는다.
단위(Units): 미국 사용자를 위해 임페리얼(Imperial)로 고정하여 매번 질문하지 않도록 설정한다.
응답 확인: API 응답에서 압력(pressure)과 같은 정보를 확장하여 AI가 어떤 정보가 반환되는지 이해하도록 한다.
도구 테스트:
"날씨는 어때?"라고 위치 없이 질문하면, 오케스트레이터가 위치가 제공되지 않았음을 인지한다.
단위는 이미 임페리얼로 설정되어 있다.
위치를 "Orlando"라고 제공하면, API에서 모든 정보를 가져와 요약된 답변을 제공한다.
대화 지속: "대기압은 얼마야?"라고 후속 질문을 하면, 에이전트는 올랜도의 대기압을 이해하고 답변한다.
응답 형식은 호출된 API의 반환 값 형식을 기반으로 요약되어 제공된다.
6.3. 도구 실습 2: 프롬프트 기반 도구 생성 (프롬프트 분석기)
커넥터가 아닌 프롬프트 기반의 도구를 만드는 방법을 살펴본다.
새 도구 추가: 새 도구를 추가하고 유형으로 프롬프트(Prompt)를 선택한다.
프롬프트 빌더 구현: 프롬프트 빌더가 나타나며, 프롬프트에 이름을 지정한다.
프롬프트 정의: "프롬프트 분석기(prompt analyzer)"라는 이름으로, 제공된 텍스트가 좋은 프롬프트인지 분석하여 알려주는 프롬프트를 작성한다.
입력 정의: 분석할 텍스트 입력을 "분석할 프롬프트(the prompt that I want to analyze)"로 지정한다.
테스트 데이터 제공: 프롬프트를 저장하기 전에 테스트할 수 있도록 샘플 데이터를 제공한다.
모델 선택: Llama, GPT-4, Anthropic 모델 또는 Azure AI Foundry에서 추가한 사용자 지정 모델을 선택할 수 있다.
테스트 및 저장: 테스트를 실행하여 응답을 확인하고, 만족스러우면 저장한다.
도구로 구성: 저장 후, 이 프롬프트를 도구로 구성해야 한다.
오케스트레이터 지침: 오케스트레이터가 언제 이 도구를 호출해야 하는지 알 수 있도록 "사용자가 제공한 프롬프트를 분석하는 데 사용되는 도구"와 같은 설명을 추가한다.
인증: 이 모델을 직접 호출할 것이므로 사용자 인증은 필요하지 않다.
입력 지침 변경: 입력(프롬프트 분석)에 대한 설명을 추가하여 제공할 내용이 무엇인지 명확히 한다.
도구 저장: 도구를 저장하면 사용 가능한 상태가 된다.
팁: 오케스트레이터 넛지(Nudge):
에이전트 지침을 편집하여 명확하게 구분할 수 있다. (예: 프롬프트 분석과 프롬프트 제안을 구분)
지침 끝에
/를 입력하면 메뉴가 나타나며,prompt analyzer도구를 사용하도록 명시적으로 지정할 수 있다.이는 Copilot Studio가 특정 방식으로 도구를 사용하도록 추가 지침을 제공하는 방법이다.
도구 테스트:
테스트 창에서 "이 텍스트를 요약해 줘"와 같은 일반적인 요청 대신, "이 프롬프트를 분석하여 개선할 점이나 제안을 해줘"라고 입력한다.
프롬프트 분석기 도구가 이를 감지하고, 생성된 프롬프트에 대해 개선 제안을 반환한다.
이는 사용자 지정 도구를 구축하는 강력한 방법이다.
7. 토픽 (Topics) 상세 분석
토픽을 사용하여 고급 모드로 들어가 특정 작업을 완벽하게 제어하거나 매우 구체적인 것을 구축하는 방법을 살펴본다.
7.1. Copilot을 사용한 사용자 지정 토픽 생성
토픽 생성: 설명(Description)을 기반으로 토픽을 추가한다. Copilot Studio는 사용자 지정 토픽 구축을 돕는 Copilot을 제공한다.
목표: 사용자의 정보를 수집하여 Copilot Studio 메일링 리스트에 가입시키는 토픽을 만든다.
자동 생성 결과: 실행하면 다음과 같은 토픽이 생성된다.
토픽 이름: "Join Copilot Studio mailing list"
설명: 언제 이 토픽을 사용해야 하는지 알려주는 설명.
정보 수집: 이메일 주소를 수집하기 위한 모든 정보 수집 단계가 생성된다.
요약: 수행한 작업에 대한 요약.
토픽 수정: 생성된 노드를 클릭하여 세부 사항을 수정할 수 있다.
Copilot을 이용한 수정: 특정 노드(예: "이메일 주소를 입력하세요")를 선택하고 "이것을 더 전문적으로 만들어 줘"라고 요청하면, Copilot이 해당 텍스트를 업데이트한다.
실행 및 저장: 수정 후 저장하고 테스트하면, "Copilot Studio 뉴스에 대한 알림을 받고 싶어요"와 같은 사용자 입력에 대해 에이전트가 "Copilot Studio 메일링 리스트에 가입해야 할 것 같다"고 판단하고 정보를 수집하기 시작한다.
후속 조치: 이 단계에서는 정보 수집까지만 완료되며, 실제로 메일링 리스트에 가입시키려면 Power Automate 플로우 호출 등의 추가 작업이 필요하다.
7.2. 사용자 지정 토픽 (Blank) 및 고급 트리거
사용자 지정 구현을 위해 빈 토픽을 만드는 방법을 살펴본다.
빈 토픽 생성: "Add topic from blank"을 선택한다.
고급 트리거: 토픽 왼쪽에서 트리거를 확인할 수 있으며, 사용자가 말하는 것 외에도 다양한 트리거가 있다.
에이전트 기본값: 에이전트가 기본적으로 선택할 때.
리디렉션 시: 다른 토픽에서 호출될 때만 실행되며 재사용이 가능하다.
미들웨어: 응답 생성 후 개인 식별 정보(PII)가 있는지 평가하는 프로세스처럼, 응답이 사용자에게 전송되기 전에 프로세스를 가로채고 실행할 수 있다.
사용자 비활성: 사용자가 일정 시간 비활성 상태일 때.
노드 추가 및 제어: 노드를 추가하여 완전한 제어를 얻는다.
메시지 보내기(Send a message), 질문하기(Ask a question), 조건(Conditions) (if/then), 변수 관리(Variable management) 등이 있다.
도구 호출: 기존에 생성한 도구(Power Automate 플로우, 새 프롬프트, 기존 커넥터 등)를 호출하거나 사용자 지정 도구를 추가할 수 있다.
고급 옵션: HTTP 요청 보내기, 사용자 지정 RAG 패턴 생성, 사용자 지정 원격 측정 이벤트 로깅 등이 가능하다.
결론: 토픽 내의 고급 저작 모드를 통해 제작자는 에이전트를 원하는 수준으로 제어할 수 있다.
8. 변수 (Variables) 상세 분석
변수는 나중에 참조하여 무언가를 수행하기 위해 일정 기간 동안 정보를 저장하는 기능이다.
8.1. 변수의 종류와 범위
대화 메모리와의 차이: 변수는 대화 메모리/맥락과 다르며, 사용자 프로필 정보 로드 등 결정을 내리는 데 사용된다.
변수 유형:
사용자 지정 변수: 제작자가 직접 생성한다.
시스템 변수: 시스템 자체에서 제공되며, 예시로
activity.user(사용자 언어) 또는activity.ext(사용자가 마지막으로 말한 것)가 있다.환경 변수: 환경에 따라 변경될 수 있는 변수이다.
수식: 변수 값을 계산하기 위해 Power Fx 수식을 사용할 수 있다.
범위 (Scope): 변수가 얼마나 오래 유지될지를 결정한다.
토픽 수준 (Topic Level): 현재 토픽 내에서만 정보를 유지하며, 토픽을 벗어나면 유지되지 않는다. (가장 흔하게 사용됨)
전역 변수 (Global Variable): 전체 대화 시간 동안 존재하며, 한 번 설정되면 계속 유지된다.
8.2. 세션 지속성 및 대화 상태
세션 간 변수 (Cross-session Variable): 대화 전체가 끝나고 다시 돌아왔을 때 데이터를 로드하고 싶을 때 사용한다. 세션이 시간 초과되더라도 변수를 유지한다.
중요성: 세션이 시간 초과될 수 있는 장기 지속 대화에서 중요하며, 새 세션이나 동일한 세션을 재설정할 때 변수를 유지하는 데 유용하다.
정보 상태 (Information State / Conversation State): 모든 변수 정보는 대화 상태 내에 저장된다.
상태 전송: 에이전트 간 핸드오프 시, 한 에이전트에서 다른 에이전트로 대화 상태를 전송해야 할 필요가 있다.
8.3. 변수 설정 및 관리 실습
메일링 리스트 토픽에서 이메일 주소 변수를 확인하며 변수 관리를 실습한다.
변수 확인: 이메일 주소 변수는 토픽 수준 변수로 설정되어 있으며, 다른 토픽으로부터 값을 받거나 다른 토픽으로 값을 반환하도록 설정할 수 있다.
글로벌 변수 설정: 범위를 글로벌(Global)로 변경하면 세션 간 유지(carry between sessions) 옵션이 나타난다.
민감 데이터 플래그: 이메일 주소와 같은 민감 데이터는 로그에서 정보를 숨기도록(redact) 설정할 수 있다.
변수 설정 노드: 노드를 추가하여 변수 값을 설정하는 방법을 살펴본다. (
Variable management->Set a variable value)값 설정:
변수 값을 설정할 때, 다른 변수의 값으로 설정하거나 시스템 변수의 값으로 설정할 수 있다.
예시:
activity.ext(사용자가 마지막으로 말한 것)를 변수에 저장할 수 있다.환경 변수를 사용하거나 Power Fx 수식을 사용하여 변수 값을 계산할 수 있으며, 이는 여러 토픽에서 연결(concatenations) 등을 수행할 때 매우 강력하다.
9. 에이전트 (Agents) 상세 분석
Copilot Studio가 에이전트를 구축하지만, 여기서는 다중 에이전트(multi-agents) 개념을 구축하는 방법을 논의한다.
9.1. 자식 에이전트 (Child Agent)
정의: 자식 에이전트는 오케스트레이션되며, 에이전트 내부에 도구와 지식을 포함하고, 해당 도구/지식 그룹이 사용되는 방식에 대한 지침을 제공한다. 독립형이 아니며 구축 중인 에이전트에 내장된다.
솔루션 인식: 에이전트 내부에 포함되므로 솔루션 인식(solution-aware)이 되며, 구성 요소 컬렉션으로 패키징하여 여러 에이전트에서 사용할 수 있다.
가치: 이 기능은 특정 방식으로 사용되어야 하는 도구 및 지식 그룹을 패키징할 수 있게 하므로 Copilot Studio에서 가장 강력하고 과소평가된 기능 중 하나이다.
자식 에이전트 구축 실습 (CARE 프레임워크):
새 자식 에이전트 생성: CARE 프롬프트 가이드라인을 사용하여 프롬프트 지침을 돕는 에이전트를 구축한다.
지침 및 지식 추가: 에이전트의 작동 방식에 대한 지침을 제공하고, 관련 웹사이트 및 CARE 프롬프트 PDF를 지식으로 추가한다.
오케스트레이션 넛지: 메인 에이전트의 지침으로 돌아가
/명령을 사용하여care prompt guidance agent를 선택하도록 넛지하여, 언제 이 자식 에이전트를 사용해야 할지 명확히 한다.테스트: "CARE 프롬프트 가이드라인은 프롬프트 작성에 어떻게 도움이 되나요?"라고 질문하면, 오케스트레이터는 자식 에이전트로 이동하여 내부 지식을 사용하여 답변을 생성한다.
결론: 자식 에이전트는 도구 및 지식 그룹을 구축하고 문맥적으로 실행하는 훌륭한 방법이다.
9.2. 연결된 에이전트 (Connected Agents)
정의: 연결된 에이전트도 오케스트레이션되지만, 완전히 독립적이며 내장되어 있지 않다.
업데이트 영향: 해당 에이전트가 업데이트되면, 버튼을 누르지 않아도 통합 지점을 통해 변경 사항이 반영된다.
구축 방법: 다른 Copilot Studio 에이전트, Fabric 데이터 에이전트, Azure Foundry, SDK(M365 Copilot Agent SDK), ATO(Agent-to-Agent Protocol)를 사용하여 구축할 수 있다. (대부분 미리 보기 상태)
주의사항:
이들은 마이크로서비스 아키텍처가 아닌 독립 실행형 애플리케이션으로 통합해야 한다.
대화 상태 전송 방법을 찾아야 한다. 이들은 동일한 메모리 맥락에 있지 않기 때문이다.
별도의 애플리케이션이므로 보안, 인증, 권한 부여 설정이 필요하다.
사용 사례: 직원 비서 내에 HR 에이전트와 IT 에이전트가 있고, 계약직 직원에게는 IT 에이전트만 접근을 허용해야 하는 경우 유용할 수 있으나, 복잡성이 그만한 가치가 있는지 고려해야 한다.
연결 해제 실습: Porsche 911 매뉴얼 에이전트를 연결하여 질문하면 해당 에이전트가 답변을 생성하는 것을 확인한 후, 메인 에이전트의 초점에 맞추기 위해 연결을 쉽게 해제할 수 있다.
10. 채널 (Channels) 상세 분석
채널은 에이전트에 구축하는 요소가 아니라 사용자가 에이전트와 상호 작용하는 방식이다.
10.1. 채널 유형 및 API
상호 작용 방식: 웹 채팅, Teams, Facebook Messenger, GroupMe, Slack 등 인간이 에이전트와 대화하는 방식이다. M365 Copilot 자체도 채널이다.
Copilot Studio API: 에이전트 구축 시 Direct Line 또는 Direct to Engine을 통해 통신할 수 있다.
Direct Line: 잘 알려져 있고 문서화된 API이다.
Direct to Engine: 더 새로운 방식으로, 더 빠르고 기능이 많으며, 서버 전송 이벤트(SSE)를 사용하여 방화벽을 통과하기가 더 쉽다.
10.2. 채널별 고려 사항
보안 및 인증: 서로 다른 채널은 서로 다른 보안 요구 사항과 인증 기능을 가지므로, 구성 시 이를 처리해야 한다.
Microsoft 인증 (기본값): Entra ID를 사용하여 Teams, SharePoint, M365 Copilot 등에서 SSO(Single Sign-On)를 제공한다.
수동 인증: 사용자 지정 채널 및 인증이 필요한 경우 수동 인증으로 전환해야 한다.
채널 기능 제한: 각 채널은 지원하는 요소가 다르다.
음성 채널(전화): 시각적 카드나 적응형 카드를 지원하지 않는다.
Alexa 스피커 예시: 단일 응답에 하나의 응답만 기대하므로 다중 버블 응답이 불가능하다.
텍스트: UDP를 통해 전송되므로 순서가 보장되지 않을 수 있어 다중 버블 시나리오에 적합하지 않다.
10.3. 채널 게시 및 테스트 실습 (Teams/M365 Copilot)
채널 선택 및 게시: Teams 및 M365 Copilot 채널을 선택하고, 에이전트를 게시(Publish)해야 채널에서 사용할 수 있다.
최신 버전 강제: 업데이트 시 최신 버전을 채널에 강제로 적용할 수 있다.
Teams에서 확인: 게시 후 Teams에서 에이전트를 추가하고 채팅을 시작할 수 있다.
초기화 시간: 처음 추가할 때는 초기화 및 대화 ID 생성에 시간이 소요되므로 기다려야 한다.
보안 설정 확인: Facebook Messenger와 같은 채널을 사용하려면 Entra ID가 아닌 지원되는 인증 공급자로 보안 설정을 변경해야 한다.
11. 분석 (Analytics) 및 관리
11.1. 분석 개요 및 유형
분석은 에이전트의 효과, 만족도, 활동 등을 확인할 수 있는 다양한 기능을 제공한다.
제작자 분석 (Maker Capabilities): 에이전트의 효과성, 사용 여부, 만족도, 활동 등을 확인할 수 있다.
관리자 분석 (Admin Analytics): 사용량, 라이선스 할당, 제안된 조치를 확인할 수 있다.
보안 및 감사: 보안 검토 및 Purview를 통한 감사 기능을 제공한다.
텔레메트리: 전체 에이전트 텔레메트리가 텔레메트리 저장소에 저장된다.
11.2. 분석 데이터 확인 실습
분석을 확인하려면 에이전트가 게시되어야 하고 활동이 발생해야 한다.
절감액 계산: 에이전트를 통해 얻을 수 있는 절감액을 계산할 수 있다.
에이전트 효과성: 에이전트의 효과성을 확인하고, 문제가 해결되었는지, 에스컬레이션되었는지, 포기되었는지 세부 정보를 볼 수 있다. (단, 이 레이어는 주로 클래식 모드를 위해 만들어졌으므로 과도하게 의존하지 않도록 주의해야 한다.)
하위/연결 에이전트 성능: 자식 에이전트(예: CARE 프롬프트 가이드)의 성공률 등을 확인할 수 있다.
응답 품질 및 소스: 응답 품질을 확인하고, 어떤 소스(지식)가 답변을 생성하는지, 그 비율은 어떤지 확인할 수 있다. 오류 정보도 확인할 수 있다.
도구 성능: 도구(Tools)가 어떻게 작동하는지 확인할 수 있다. (예: 현재 날씨 가져오기, 프롬프트 분석기)
사용자 만족도: 세션별 반응 및 사용자 만족도를 확인할 수 있으며, 이는 배포 시 엄지손가락 위/아래 반응과 연결된다 (채널이 지원하는 경우).
평가 (Evaluations): 테스트 세트를 생성하여 에이전트 성능을 평가할 수 있는 기능이 있으며, 이는 별도 비디오에서 다룰 예정이다.
11.3. 관리 센터 및 Purview 감사
Power Platform 관리 센터 열기: 기어 아이콘을 통해 관리 센터로 이동한다.
에이전트 목록 확인: 관리 센터 내 Copilot Studio 섹션에서 환경 내의 모든 에이전트 목록을 볼 수 있다.
테넌트 수준 뷰: 이는 환경뿐만 아니라 전체 테넌트의 에이전트 목록을 보여주며, 생성 시기별로 정렬할 수 있다. 에이전트 흐름(agentic flows)과 클래식 챗봇을 구분하여 볼 수 있다.
Purview 감사:
purview.microsoft.com으로 이동하여 솔루션 > 감사(Audit)로 이동한다.환경에 대한 감사를 검색할 수 있으며, Power Platform의 Copilot 봇 관리 작업 (생성, 삭제 등)을 포함하여 다양한 활동을 선택할 수 있다.
검색 실행: 날짜를 설정하고 검색을 실행하면, 결과가 큐(queued) 또는 진행 중(in progress) 상태로 표시된다.
결과 확인: 이 과정은 배치 처리되며 시간이 오래 걸릴 수 있다 (예시에서는 3시간 이상 소요).
감사 로그: 결과적으로 전체 감사 로그를 얻을 수 있으며, 봇 구성 요소 업데이트와 같은 모든 활동 기록을 확인할 수 있다.
12. 마무리
요약: 비디오가 길었지만 요청에 따라 주요 내용을 다루었다.
구독 요청: 더 많은 비디오를 위해 채널을 좋아하고 구독해 달라고 요청한다.
Copilot Studio 체험:
aka.ms/copilotstudio에서 Copilot Studio를 체험해 볼 수 있다.
댓글
댓글 쓰기