Semantic Kernel이란 무엇인가요?

Semantic Kernel이란 무엇인가요?

Semantic Kernel은 C#, Python, Java 코드베이스에 AI 에이전트를 만들고 최신 AI 모델을 붙일 수 있게 해주는 가볍고 오픈소스인 개발 키트예요. 쉽게 말해, 여러분의 앱과 AI 모델 사이를 이어주는 미들웨어라고 보시면 돼요. 이 글은 Semantic Kernel이 어떤 위치에 있는 도구인지, 왜 많은 기업이 쓰는지 감을 잡아 주는 입문 페이지예요.

출처: 공식문서

기업에서 쓸 만한 준비가 되어 있어요

Microsoft를 비롯한 Fortune 500 기업들이 이미 Semantic Kernel을 쓰고 있어요. 유연하고(flexible), 모듈식이며(modular), 관찰 가능하다는(observable) 점 때문이에요. 텔레메트리(telemetry) 지원, 훅(hooks)과 필터(filters) 같은 보안을 강화하는 기능도 갖추고 있어서, 규모 있는 책임 있는 AI 솔루션을 배포해도 안심하실 수 있어요.

C#, Python, Java 모두 버전 1.0 이상을 지원해요. 깨지지 않는 변경(non-breaking changes)을 약속하기 때문에 안정적이죠. 기존 채팅 기반 API도 음성, 영상 같은 추가 모달리티(modalities)를 지원하도록 쉽게 확장할 수 있어요.

또한 Semantic Kernel은 미래 대비가 되도록 설계됐어요. 새 모델이 나오면 전체 코드베이스를 다시 쓰지 않고 모델만 갈아끼우면 되죠.

비즈니스 프로세스를 자동화해요

Semantic Kernel은 프롬프트와 기존 API를 결합해서 동작을 수행해요. 여러분의 기존 코드를 AI 모델에게 설명해 두면, 요청이 올 때 그 함수가 호출되도록 하죠. 요청이 들어오면 모델이 함수를 호출하고, Semantic Kernel은 그 모델의 요청을 실제 함수 호출로 바꿔 주고 결과를 다시 모델에게 돌려주는 미들웨어 역할을 해요.

모듈식이고 확장 가능해요

기존 코드를 플러그인으로 추가하면 아웃오브박스(out-of-the-box) 커넥터들의 집합을 통해 AI 서비스를 유연하게 통합해서, 투자한 코드를 최대한 활용할 수 있어요. Semantic Kernel은 Microsoft 365 Copilot처럼 OpenAPI 규격을 사용하기 때문에, 만든 확장 기능을 회사 안의 다른 개발자나 로우코드 개발자와도 공유할 수 있어요.

시작해 볼까요?

Semantic Kernel이 무엇인지 이제 감이 오셨다면, 빠른 시작 가이드로 넘어가 볼게요. 함수를 자동으로 호출해서 동작을 수행하는 에이전트를 다른 SDK보다 빠르게 만들어 보실 수 있어요.

더 알아보기 (Learn more)