스마티지와 글 읽기 – Multi-agent apps with C# and Semantic Kernel (Job Assistant App)

Multi-agent apps with C# and Semantic Kernel (Job Assistant App) – YouTube

AI 구직 어시스턴트 앱 구축 A to Z (일타강사 저스틴 ver.)

AI에 관심 있는 여러분, 안녕하세요! 일타강사 저스틴입니다. 오늘 강의에서는 Hamed Fathi라는 개발자 분이 Semantic Kernel 라이브러리를 사용해서 만든 아주 흥미로운 AI 앱, 바로 “다중 에이전트 구직 어시스턴트 앱”을 낱낱이 파헤쳐 보겠습니다. 쉽게 말해, AI 에이전트들이 팀을 이뤄 여러분의 구직 활동을 돕는 스마트 비서 시스템이라고 생각하시면 됩니다. 자, 그럼 시작해볼까요?

1단계: 준비 운동 – 필요한 NuGet 패키지 점검

Hamed Fathi님은 이 앱을 만들기 위해 몇 가지 중요한 준비물을 챙겼습니다. 바로 NuGet 패키지인데요. Semantic Kernel의 Agents 라이브러리는 필수 of 필수! 여기에 Azure OpenAI에 연결하기 위한 커넥터, 그리고 혹시 모를 충돌을 방지하기 위한 호환성 점검까지 마쳤다고 합니다. 마치 요리 시작 전에 재료와 도구를 꼼꼼히 챙기는 것과 같죠?

2단계: 재료 준비 – CV와 구직 정보 세팅

이제 본격적인 요리에 앞서 재료를 준비해야겠죠? Hamed Fathi님은 먼저 여러분의 CV, 즉 이력서를 텍스트 형태로 AI가 읽을 수 있게 만들었습니다. 그리고 LinkedIn API 같은 것을 활용해서 실제 구직 정보를 가져오는 방법을 설정했죠. 물론, 강의에서는 간단하게 예시 데이터를 사용했지만, 실제 앱에서는 다양한 API를 연동해서 더욱 풍부한 정보를 가져올 수 있습니다. 마치 맛있는 요리를 위해 신선한 재료를 공수하는 것처럼요!

3단계: 양념 만들기 – 플러그인 생성

AI에게 CV와 구직 정보를 전달하려면 특별한 “양념”, 즉 플러그인이 필요합니다. Hamed Fathi님은 Semantic Kernel에서 플러그인을 만들어서 이력서와 구직 정보를 AI에게 전달했습니다. 마치 셰프가 비법 소스를 만들어서 재료의 풍미를 끌어올리는 것처럼요! Job Assistant 플러그인을 만들어서 이력서를 반환하고, 또 다른 플러그인을 통해 구직 목록을 AI에게 전달하는 것이 핵심입니다.

4단계: 메인 셰프 등장 – 4가지 AI 에이전트

드디어 오늘의 주인공, 4명의 AI 셰프가 등장할 차례입니다!

  • 이력서 파서 에이전트: 이 셰프는 여러분의 이력서를 꼼꼼하게 분석해서 이름, 이메일, 전화번호, 경력 같은 핵심 정보를 쏙쏙 뽑아냅니다. Semantic Kernel의 Chat Completion Agent라는 도구를 사용해서 만들었고, 필요한 함수 도구를 지정하는 것도 잊지 않았죠. 마치 숙련된 감정평가사처럼 정확하게 정보를 파악하는 것이 중요합니다.
  • 직업 매처 에이전트: 이 셰프는 최신 구직 정보를 샅샅이 뒤져서 여러분에게 딱 맞는 “인생 직업”을 찾아줍니다. 이 셰프 역시 Chat Completion Agent를 사용하고, get job 함수를 활용해서 구직 정보를 가져옵니다. 마치 베테랑 매칭 전문가처럼 최고의 궁합을 자랑하는 직업을 찾아주는 것이죠.
  • 커리어 어드바이저 에이전트: 이 셰프는 여러분의 프로필과 구직 정보를 바탕으로 맞춤형 커리어 전략을 제시합니다. 마치 노련한 컨설턴트처럼 미래를 설계하는 데 도움을 주는 것이죠.
  • 인터뷰 코치 에이전트: 마지막으로 이 셰프는 기술 면접을 완벽하게 준비할 수 있도록 예상 질문과 꿀팁을 제공합니다. 마치 개인 코치처럼 자신감을 불어넣어 주는 것이죠.

5단계: 주방 감독 등장 – 에이전트 그룹 오케스트레이터

4명의 셰프가 각자 요리를 한다고 맛있는 음식이 뚝딱 나올까요? 아닙니다! 이들을 지휘하고 통솔하는 주방 감독, 즉 “에이전트 그룹 오케스트레이터”가 필요합니다. 이 오케스트레이터는 에이전트들의 작업 순서를 정하고, 전체적인 흐름을 관리합니다.

  • 선택 전략: 어떤 셰프부터 투입할지, 즉 에이전트 호출 순서를 정합니다. Hamed Fathi님은 이력서 파서 -> 직업 매처 -> 커리어 어드바이저 -> 인터뷰 코치 순으로 진행되도록 설정했습니다. 마치 코스 요리의 순서를 정하는 것처럼요! 중요한 것은 이전 에이전트의 결과를 다음 에이전트에 전달하기 위해 “히스토리”를 전달하는 것입니다.
  • 종료 전략: 누가 마지막 셰프가 될지, 즉 전체 프로세스를 끝낼 에이전트를 지정합니다. Hamed Fathi님은 인터뷰 코치가 완료되면 프로세스가 끝나도록 설정했습니다. 인터뷰 코치가 잘 마무리했는지 확인하기 위해 히스토리를 전달하는 것도 잊지 않았죠.
  • 에이전트 그룹 채팅 설정 클래스: 이 클래스는 에이전트 그룹 채팅을 정의하는 데 사용됩니다. 마치 셰프들이 소통하는 주방의 규칙을 정하는 것과 같습니다.

6단계: 레스토랑 개업 – 구직 도우미 시스템 클래스 생성

이제 모든 것을 하나로 묶을 “구직 도우미 시스템 클래스”를 만들 차례입니다. Semantic Kernel의 핵심 클래스인 Kernel과 에이전트 그룹 채팅 클래스를 함께 사용해서 에이전트들을 그룹화하고, 오케스트레이션합니다. 마치 레스토랑을 개업하기 위해 모든 설비와 인력을 갖추는 것과 같습니다.

7단계: 고객 맞이 – 결과 표시

드디어 완성된 요리를 손님에게 내놓을 시간입니다! 사용자 메시지를 에이전트 채팅 그룹에 보내고, 결과를 화면에 표시합니다. 종료 전략이 성공적으로 완료되면 전체 코스 요리가 성공적으로 마무리되었음을 알립니다.

마무리

자, 오늘 강의 어떠셨나요? Hamed Fathi님의 다중 에이전트 구직 어시스턴트 앱 구축 과정을 통해 AI 에이전트 시스템의 강력함을 엿볼 수 있었습니다. 여러분도 Semantic Kernel과 Azure OpenAI를 활용해서 더욱 스마트하고 유용한 AI 앱을 만들어보세요!


참고: 이 블로그 글은 Hamed Fathi님의 유튜브 영상 내용을 바탕으로 작성되었으며, AI에 대한 이해를 돕기 위해 쉬운 비유와 설명을 추가했습니다. 원본 영상과 함께 보시면 더욱 효과적인 학습이 될 것입니다.

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*