LLM과 MCP라는 용어가 이제는 개발자 채용 공고에서 심심찮게 발견되는 경우가 많아졌다. 그래서 이 용어들은 다 뭘까? 싶은 사람들을 위해서 간단히 정리 해보려 한다.
이 용어들에 대해서 알기 전에 AI에 대해서 살짝 짚고 넘어가보자.
AI는 Artificial Intelligence 단어 그대로 인공 + 지능이다. 컴퓨터 시스템이 인간의 지능을 모방하여 학습, 추론, 문제 해결 등의 작업을 수행하는 기술을 말한다.
AI는 머신러닝 기술을 통해 학습을 하고, 데이터를 분석하며, 분석을 통해 학습하고 이 내용을 기반으로 판단 및 예측을 할 수 있는 알고리즘과 기술을 개발하는 분야를 말합니다.
LLM은 방대한 양의 데이터를 학습하여 자연어(인간의 언어)와 복잡한 데이터를 분석/해석할 수 있는 AI 프로그램을 말합니다. 우리 주위에서 볼 수 있는 가장 쉬운 예시로는 질의응답이 가능한 생성형 AI로 ChatGPT(OpenAI), Gemini(Google), Claude(Anthropic) 등이 있습니다.
최근에는 단순한 질의 응답을 넘어서 프로그래밍까지 가능하도록 진화되어 개발자와는 뗄래야 뗄 수 없는 AI 툴도 많이 개발되고 있습니다. 대표적인 예시로는 Cursor가 있겠습니다.
초기의 LLM의 가장 큰 문제로 대두된 것은 바로 '데이터의 고착화' 가 있겠습니다. 그리고 외부와의 통신이 불가능하다는 점이죠.
이를 해결하기 위해 나온 규약이 MCP입니다.
AI 모델이 외부 도구, 데이터, 시스템 등 외부와 쉽게 소통할 수 있도록 하는 표준 통신 규약(프로토콜)입니다. MCP를 이용하여 얻을 수 있는 이점으로는 할루시네이션 감소, AI 유용성 및 자동화 향상, AI를 위한 간편한 연결이 있습니다.
이러한 MCP에는 LLM과 외부 시스템이 쉽게 상호작용할 수 있도록 하는 구성요소가 몇 가지 있습니다.
LLM은 AI 기반 IDE 또는 대화형AI와 같은 AI 애플리케이션 또는 환경인 MCP 호스트 내에 포함되어 있습니다. 일반적으로 사용자의 상호작용 지점이며, 호스트는 LLM을 사용하여 외부 데이터나 도구가 필요할 수 있는 요청을 처리합니다.
MCP Host 내에 있는 MCP Client는 LLM과 MCP 서버가 서로 통신하도록 도와줍니다. MCP에 대한 LLM의 요청을 변환하고 LLM에 대한 MCP의 대답을 변환합니다. 또한 사용 가능한 MCP 서버를 찾아 사용합니다.
LLM에 Context, 데이터 또는 기능을 제공하는 외부 서비스를 말합니다. DB 및 웹 서비스와 같은 외부 시스템에 연결하여 LLM의 응답을 LLM이 이해할 수 있는 형식으로 변환함으로써 개발자가 다양한 기능을 제공할 수 있도록 LLM을 지원합니다.
전송에는 JSON-RPC 2.0이 사용됩니다. 주로 두 가지 방법이 사용되는데 로컬 리소스에 적합하며 빠른 동기식 메세지 전송을 제공하는 표준 입출력(stdio) 와 원격 리소스에 선호되고 효율적인 실시간 데이터 스트리밍을 지원하는 서버 전송 이벤트(Server Sent Event) 가 있습니다.
출처 | Google Cloud