🚀 A. 저번 시간 내용

  • 저번 시간에는 첫시간이기에 프로젝트를 세팅을 진행하였죠
    ✅ 개발환경 구축도 해보고
    ✅ SharePoint 사이트 만들고
    ✅ 데이터베이스도 설계하고 List도 만들어 보았는데요.

</br> </br>

🎯 B. 이번 시간 목표

이번 시간에는

  1. 본격적으로 Declarative 에이전트 생성해보고
  2. 저희 메인 기능중에 하나인 차량 추가 액션(create_car) 만들어봐요

</br> </br>

🛠 C. Copilot Studio에 개발환경 적용하기

본격적으로 시작하기에 앞서, 저번 시간에 만든 개발환경부터 적용해볼까요?

  1. Copilot Studio 접속
    • 우상단 Environment 버튼을 클릭해요.
    • 지난 시간에 만들었던 Environment를 선택해 적용해 주세요. select_env
  2. 적용 완료! 간단하죠?

</br> </br>

🤖 D. Declarative 에이전트 만들기

📌 Declarative 복습

  • 지난시간에 배운 내용 복습을 한번해볼까요.
  • Copilot Studio에서는 두 가지 유형의 에이전트를 만들 수 있어요.
    • Custom Engine Agent
    • Declarative Agent (Microsoft 365 내에서 사용 가능)
  • Declarative는 오케스트레이션을 Copilot과 공유하는 모델이에요.

Declarative Agent 생성

  • ‘What is Declarative Agent’ 문서를 참고해 Declarative 에이전트를 만들어 주세요!
  • 🚨 주의 Copilot for Microsoft M365에서 반드시 생성해야 해요!
    • Copilot for Microsoft M365를 선택하지 않으면 Custom Engine Agent가 생성돼요.
  • Description과 Instructions는 임시로 간단하게 작성해 주세요.
  • 언어는 English를 선택하는 게 좋아요. 영어 모델이 성능이 더 뛰어나거든요.
  • 참고로, 저는 Declarative 생성 페이지에서 아래와 같이 설정했어요. dat_setting

  • 이제 Declarative 에이전트가 완성되었으면 Power Automate Flow Action을 사용해 회사 차량을 car_list에 추가하는 기능을 만들어 보자고요!

</br> </br>

🏗️ E. Action과 Power Automate Flow란?

아아. 들어가기전에 잠깐 액션이 뭔지하고 PowerAutomate Flow가 뭔지 설명을 좀 드릴게요.

Action 복습하기

  • Action은 사용자의 명령 없이도 자동으로 실행되는 AI 작업이에요.
  • 사용자가 “무엇을 해야 하는지”만 정의하면, Copilot이 최적의 방법을 찾아 실행해요.

📌 예제
사용자가 “다음 주 일정 정리할게요”라고 말하면,
👉 Copilot이 자동으로 캘린더에서 일정을 정리하고 팀원에게 공유하는 액션을 실행해요.

Power Automate Flow란?

  • Power Automate Flow는 Microsoft Power Automate의 자동화 워크플로우 기능이에요.
  • 반복적인 업무를 자동화하여 생산성을 높일 수 있어요.

</br> </br>

⚠️ F. 우회해서 Declarative에 Power Automate Flow Action 만들기!

❌ 문제가 있어요

  • 현재 살짝 문제가 있는 부분이 있는데요. 하하.
  • Declarative 에이전트에서는 Power Automate Flow를 생성하는 기능이 비공개 상태예요.

✅ 해결 방법

  • 하지만 저희 정우님게서 이를 우회해서 미리 써보는 방법을 고안하셨는데요.
  • Custom Engine Agent에서 Flow 코드를 생성한 후, 이를 복사해 Declarative로 옮기는 방법입니다
  • 이 방법은 저희가 모든 액션을 만들때 마다 계속 쓸거기 떄문에! 꼭 숙지를 해주셔야해요.
  • 아래에서 차근차근히 설명을 드리겠습니다. Custom Engine Agent 부터 만들어봐요.

Custom Engine Agent 만들기

  1. Copilot Studio의 3번쨰 탭인 Agent에서 좌측 상단의 “New Agent” 버튼을 클릭해요.
    new)agent
  2. 클릭하면 아래와 같이 채팅으로 에이전트를 만들 수 있는 기능으로 이동돼요.
    • 어차피 Flow Action을 만들 용도라서, 설정은 신경 쓰지 않아도 돼요.
  3. 바로 “Create” 버튼을 눌러 생성하면 돼요.
    new)agent

</br> </br>

⚡ G. Custom Engine Agent에서 Power Automate Flow Action 만들기

  • 자 저희의 목표는 여기(Custom Engine Agent)에서 액션을 만들고 이를 Declarative 에이전트로 옮기는거죠.
  • 이를 위해서는 일단 여기서 액션을 만들어 봅시다!
  1. Custom Engine Agent 메인화면에서 “+ Add Action” 버튼을 클릭해요.
    add_action
  2. 아래와 같은 화면이 나오면 New Action → New Power Automate Flow를 선택해 주세요.
    .
  3. Power Automate Flow 페이지로 이동하면, 로그인 후 진행해주세요.

</br> </br>

🔧 H. Power Automate에서 create_car 액션을 만들기

  • Power Automate에 무사히 안착했으니 본격적으로 자동으로 차량을 추가하는 FLOW를 설정해볼까요.
  • 아래와 같은 화면임을 가정하고 여기부터 설명드리겠습니다! .
  • 참고) 현재 Copilot관련 아이콘을 불러오는데 오류가 있더라고요. 아이콘이 보이지 않아도 걱정마세요!
  • Run a flow from Copilot부터 설정을 시작해보죠.

📌 Run a flow from Copilot

  • Copilot의 명령을 받아 Power Automate Flow를 자동으로 실행하는 기능이에요.
  • Parameter를 설정해 Copilot이 받아올 정보를 명시적으로 지정할 수 있어요.

📌 등록할 차량 정보

Add an Output 버튼을 눌러 아래 변수를 추가하고, Description을 작성해 주세요.

번호 변수명 타입
1 car_num text
2 car_size text
3 car_name text
4 seating_num number
5 is_operating yes/no

.

📌 Respond to Copilot

  • Power Automate Flow 실행 후, Copilot에게 작업 결과를 반환하는 기능이에요.
    .
  • Add an Output을 눌러 Text 타입의 성공 메시지를 추가하면 돼요.
    .

🔧 Create item 설정하기

이제 Run a flow from Copilot에서 전달받은 데이터를 SharePoint List에 추가하는 단계예요.
Create item을 추가하고, 차량 정보를 자동으로 입력할 수 있도록 설정해 볼게요.

  1. Run a flow from CopilotRespond to Copilot 사이에 ”+” 버튼을 클릭해요.
  2. “Add an action”을 클릭하고 create item을 검색해 추가해 주세요.
    .

  3. SharePoint List 연결하기
    • Site Address: 드롭다운에서 우리가 만든 리스트가 있는 SharePoint 페이지를 선택해 주세요.
    • List Name: car_list를 선택하면 돼요.
  4. Advanced Parameters 설정하기
    • Advanced Parameters를 클릭하면, 자동으로 리스트에서 불러온 열 요소들이 나타나요.
    • 아래 요소들을 반드시 선택해 주세요.
      .
    필드명 설명
    car_num 차량 번호 (ex: “11가 1234”)
    car_size 차량 크기 (ex: “중형”)
    car_name 차량 모델명 (ex: “소나타”)
    seating_num 좌석 개수 (ex: 4)
    is_operating 운영 여부 (ex: “Yes/No”)
  5. Dynamic Content로 입력값 연결하기
    • SharePoint List의 입력란을 클릭한 후 /을 입력하면, Insert Dynamic Content 창이 나타나요.
    • 각 SharePoint 필드에 대응하는 Copilot 변수를 선택해 연결해 주세요.
      .
  6. 설정이 완료되면 아래와 같은 상태가 돼요! 그럼 Flow는 완성!
    .

🚀 Flow 저장하고 배포하기

지금까지 Flow를 열심히 만들었다면 이제는 저장하고 배포해야해요. 완성된 Flow를 Copilot이 실행할 수 있도록 배포해야 Copilot Agent가 이 flow를 사용할 수 있어요
.

✅ Flow 이름 바꾸기

  • 좌상단에 있는 Flow 이름을 클릭하고, create_car로 변경해 주세요.
    • 기본 이름 그대로 두면 나중에 헷갈릴 수 있어요!

✅ Save Draft

  • 우상단 “Save Draft” 버튼을 눌러 변경사항을 저장해 주세요.
    • 수시로 저장하는 게 중요해요. 안 하면 피눈물 흘릴 수도 있어요. 😭

✅ Publish

  • “Publish” 버튼을 클릭해 Flow를 배포하면 완료예요!
    • Flow가 배포되어야 Copilot에서 사용할 수 있어요.

🔄 Declarative 에이전트로 액션 옮기기

Flow를 저장하고 배포했으면, 이제 Custom Engine Agent에 추가한 액션을 저희의 본체인 Declarative 에이전트로 옮겨볼까요 해요.
다음 단계를 따라가면 쉽게 할 수 있어요!

  1. Custom Engine 에이전트 메인화면(Overview)으로 이동 후 “+ Add Action” 클릭

  2. Library 옆에 있는 “…” 버튼을 눌러 Flow를 선택하면, 방금 만든 Flow를 확인할 수 있어요.
    .

  3. 선택한 후, Connection과 여러 설정을 진행하고 완료하면 create_car 액션이 추가돼요.

  4. 추가된 create_car 액션을 클릭해 Details로 이동한뒤 “More” → “Open Code Editor” 선택
    .

  5. 아래 화면에서 코드 전체를 복사해 주세요.
    .

  6. Declarative Agent로 이동한 후, “Add Action”을 클릭하고 더미 액션을 생성해 주세요.
    • 어떤 액션을 생성하셔도 괜찮습니다! 어짜피 덮어씌울 용도입니다.
    • 저는 개인적으로는 MSN Weather의 Get forecast for today를 사용합니다! 어떤정보도 묻지 않아서 next만 누르면 넘어갈 수 있거든요. .
  7. 똑같이 액션을 클릭해 More-> Open Code Editor를 열어 기존 코드 삭제 후, 복사한 코드를 붙여넣고 저장하면 완료!
    .

  8. Overview 페이지에서 create_car로 이름을 변경하면 최종적으로 적용이 완료돼요.
    .
  • 짠! 그러면 아래처럼 Declarative 에이전트에 create_car Action이 등록되어요.
  • 물론 저야 이미 모든 action을 만들어놨지만, 여러분의 경우 create_car만 아래처럼 등록되면 성공입니다:) .

🧪 테스트 및 원리 이해

이제 만든 액션을 Copilot에서 정상적으로 실행할 수 있는지 테스트해 볼 차례예요.

  1. Declarative Agent 페이지의 우측 “Test” 섹션에서 테스트를 진행해 보세요.

  2. Copilot에게 차량 추가를 요청하면, 자동으로 create_car 액션이 실행될 거예요.
    .
    • 꼭 제가 질문한대로 에이전트에게 요청하지 않아도, 다양한 형식으로 질문할 수 있어요.
    • 만일, 요청을 에이전트가 알아듣지 못한다면, 그때부터는 Instruction을 고도화 시켜 프롬프트엔지니어링으로 해결이 가능합니다!
    • 이것을 다음시간에 보여드릴게요.
  3. SharePoint List에서 car_list를 확인하면 차량이 추가된 걸 볼 수 있어요.
    • 할루시네이션이 있을 수 있으니 리스트에 차가 실제로 추가되었는지 꼭 확인해주세요!

</br> </br>

🔍 I. 액션 작동 원리 이해하기

Copilot Studio에서는 많은 과정이 추상화되어 있어, 처음에는 어떻게 동작하는지 궁금할 수 있어요.
하지만 전체 과정은 아래와 같이 정리할 수 있어요.

  1. 사용자가 자연어로 차량 추가 요청
  2. 오케스트레이터가 요청을 분석하고 알맞은 액션 매핑
  3. 필요한 파라미터를 유저의 요청에서 추출
    • 만약 부족한 정보가 있다면, 사용자에게 추가 질문
  4. 추출한 파라미터를 Power Automate Flow에 전달 및 실행하여 SharePoint List에 저장

이런 과정을 거쳐 차량이 자동으로 등록되는 거예요!


</br> </br>

🎯 J. 결론

오늘 배운 내용을 정리하면 다음과 같아요!

  • Power Automate Flow를 활용해 차량을 자동으로 추가하는 create_car 액션을 만들었어요.
  • Flow를 Custom Engine Agent에서 생성한 후, Declarative Agent로 옮기는 과정을 진행했어요.
  • Declarative Agent에서 정상적으로 작동하는지 테스트해 봤어요.

📌 중요한 점!
다음 시간부터는 Flow를 Custom Engine Agent에서 생성한 후 Declarative Agent로 옮기는 과정은 생략하고,
바로 Power Automate의 Flow를 중심으로 설명할 예정이에요.
그래서 해당 부분 꼭 잘 익혀주시길 부탁드립니다.

지금까지 따라오느라 정말 고생 많으셨습니다!
다음 시간에는 Declarative Agent의 Instruction을 정교하게 설정하는 방법을 다뤄볼 거예요. 🚀