Semantic Kernel Agent Framework — 에이전트 개요
Semantic Kernel Agent Framework — 에이전트 개요
Semantic Kernel의 Agent Framework 는 AI 에이전트를 만들고, 에이전트 패턴(agentic patterns) 을 애플리케이션에 끼워 넣는 기반이에요. 핵심 영역인 코어 Semantic Kernel에 이미 있는 패턴과 기능을 그대로 따르기 때문에, 익숙한 방식으로 에이전트를 얹어 사용할 수 있어요.
AI 에이전트란 무엇인가
AI 에이전트는 소프트웨어 구성 요소 하나로, 입력을 받아 정보를 처리하고 특정 목표를 달성하기 위한 행동을 취하면서 자율적으로 또는 반자율적으로 일을 수행해요. 메시지를 주고받으며 응답을 만들어 내는데, 이때 모델·도구·인간 입력·그 밖의 커스텀 구성 요소를 조합해서 응답을 생성해요.
에이전트는 사실상 협업하도록 설계되어 있어요. 에이전트끼리 상호작용하며 복잡한 워크플로를 만들어 내죠. Agent Framework 는 단순한 에이전트부터 정교한 에이전트까지 모두 만들 수 있게 해주면서, 모듈성과 유지 보수성을 높여 줍니다.
AI 에이전트가 해결하는 문제
에이전트의 가장 큰 매력은 모듈화 + 협업이에요. 복잡한 작업에서 인간의 개입을 줄이기 위해, 각자 역할을 가진 AI 컴포넌트들이 서로 협력하도록 만들 수 있거든요. 주요 이점은 이렇게 정리돼요.
- 모듈형 구성 요소: 개발자가 특정 작업(데이터 수집, API 호출, 자연어 처리 등)에 맞는 여러 유형의 에이전트를 정의할 수 있어요. 요구 사항이 바뀌거나 새 기술이 나와도 애플리케이션을 쉽게 조정할 수 있죠.
- 협업: 여러 에이전트가 하나의 작업에 함께 붙을 수 있어요. 예를 들어 한 에이전트가 데이터를 모으고, 다른 에이전트가 그것을 분석하고, 또 다른 에이전트가 그 결과로 의사 결정을 내리는 식으로 분산 지능 시스템을 만들 수 있어요.
- 인간-에이전트 협업: human-in-the-loop 방식으로 에이전트가 인간과 나란히 일하며 의사 결정을 보조할 수 있어요. 에이전트가 데이터 분석 결과를 준비하면, 인간이 그것을 검토하고 다듬어 생산성을 올리는 식이죠.
- 프로세스 오케스트레이션: 시스템·도구·API를 가로질러 작업을 조율해서, 애플리케이션 배포나 클라우드 오케스트레이션, 나아가 글쓰기·디자인 같은 창작 과정까지 end-to-end로 자동화할 수 있어요.
언제 에이전트를 쓸까
전통적인 AI 모델은 특정 작업(분류, 예측, 인식)을 수행하는 도구로 쓰이는 경우가 많지만, 에이전트는 자율성·유연성·상호작용성을 더 끌어올립니다. 이런 특징이 필요한 경우에 에이전트 프레임워크가 더 좋은 선택이 돼요.
- 자율성과 의사 결정: 독립적으로 판단하고 변화하는 조건에 적응해야 하는 애플리케이션(로봇 시스템, 자율 주행, 스마트 환경 등)이라면 에이전트 프레임워크가 유리해요.
- 멀티 에이전트 협업: 공급망 관리, 분산 컴퓨팅, 군집 로봇처럼 여러 독립 컴포넌트가 함께 움직여야 하는 복잡한 시스템이라면, 에이전트가 조정·통신 메커니즘을 내장하고 있어요.
- 상호작용적이고 목표 지향적: 목표를 자율적으로 완수하거나 사용자와 상호작용해 특정 목표를 이루는 형태라면 에이전트 기반 프레임워크를 추천해요. 가상 어시스턴트, 게임 AI, 태스크 플래너가 대표적이에요.
설치 방법
Agent Framework SDK 설치는 사용하는 언어의 배포 채널에 따라 달라져요.
.NET(C#) — NuGet 패키지를 사용하되, 핵심 Microsoft.SemanticKernel SDK가 반드시 필요하다는 점을 기억하세요.
| 패키지 | 설명 |
|---|---|
Microsoft.SemanticKernel |
Agent Framework의 핵심 라이브러리. 애플리케이션이 반드시 명시적으로 참조해야 해요. |
Microsoft.SemanticKernel.Agents.Abstractions |
Agent Framework의 핵심 에이전트 추상화를 정의. 보통 명시할 필요는 없고 Core/OpenAI 패키지에 포함돼요. |
Microsoft.SemanticKernel.Agents.Core |
ChatCompletionAgent 포함. |
Microsoft.SemanticKernel.Agents.OpenAI |
OpenAI Assistant API를 OpenAIAssistantAgent로 사용할 수 있게 해줘요. |
Microsoft.SemanticKernel.Agents.Orchestration |
Agent Framework의 오케스트레이션 프레임워크를 제공. |
Python — semantic-kernel 패키지 하나로 시작합니다. 이 모듈에는 ChatCompletionAgent, OpenAIAssistantAgent, AzureAIAgent, OpenAIResponsesAgent와 에이전트 오케스트레이션 클래스가 모두 들어 있어요.
Java — semantickernel-agents-core( ChatCompletionAgent 포함), semantickernel-aiservices-openai(OpenAI 서비스 라이브러리), semantickernel-api(핵심 에이전트 추상화)를 사용해요.
다음 단계
어떻게 구성되는지 더 깊이 보려면 Agent Architecture 문서로 넘어가면 돼요.