우리는 대화형 AI가 놀라운 속도로 진화하는 세상에 살고 있습니다. 불과 몇 년 전만 해도 단순한 질문에 적절한 답변을 하는 AI를 보며 감탄했다면, 이제는 우리의 세금 신고서를 작성하고, 데이터를 분석하며, 심지어 코드까지 작성해 주길 기대하고 있죠. 이런 더 구체화된 실행은 어떻게 가능한 걸까요? 언어 모델 자체가 마치 거대 공룡처럼 모든 걸 알고 있어야 할까요?(공룡이 똑똑하다는 게 아니라 비유적 표현임) 그건 분명히 한계가 있을 겁니다.

 

MCP: 언어 모델의 손에 든 스위스 아미 나이프

MCP(Model Context Protocol)는 거창해 보이지만, 본질은 간단합니다. 언어 모델(LLM)이 외부 도구와 서비스에 접근하여 이를 효과적으로 활용할 수 있게 해주는 프로토콜이에요. 마치 당신이 스마트폰에서 다양한 앱을 필요에 따라 불러 쓰는 것처럼, AI도 MCP를 통해 필요한 도구를 호출하게 됩니다. 그 판단 및 작동 과정은 사용자는 알 수 없고, 사용자는 그저 AI가 마법사처럼 모든 것을 지휘한다고 생각하게 되겠죠. 저는 MCP 그 자체 구조에 대한 설명보다는 개념 혹은 기능적인 면에서 한번 이야기해보려 합니다.  

 

MCP의 핵심 원칙: 언어 모델이 지휘자

MCP의 가장 중요한 특징은 바로 언어 모델이 ‘중앙 지휘자’ 역할을 한다는 점입니다. 사용자의 복잡한 요청을 이해하고, 어떤 도구가 필요한지 결정하며, 도구들의 결과를 조합하여 일관된 응답을 만드는 것까지 모두 언어 모델의 몫이에요. 이는 마치 오케스트라의 지휘자가 각 악기 연주자들을 조율하는 것과 같습니다. 바이올린은 언제 연주해야 하고, 트럼펫은 언제 조용히 해야 하는지 정확히 알려주는 것이 지휘자의 역할이라면 말이죠. MCP에서 언어 모델은 바로 이런 지휘자 역할을 수행합니다. 

 

랭체인 vs MCP: 서로 다른 길, 같은 목적지

랭체인(LangChain)과 MCP를 비교해 보면 흥미로운 차이점이 존재합니다. 둘 다 AI를 활용하기 위한 도구지만, 접근 방식이 다르죠. 랭체인은 개발자를 위한 도구입니다. 다양한 체인, 메모리 시스템, 프롬프트 템플릿, 그리고 도구 통합 방법을 제공하는 개발자용 종합 프레임워크죠. 개발자는 이 블록들을 조합하여 복잡한 AI 애플리케이션을 구축합니다. 마치 레고 블록으로 원하는 모형을 만드는 것처럼. 반면 MCP는 전문 지휘자인 AI모델을 위한 프로토콜로, 언어 모델에 의해 그 오케스트레이션이 이행됩니다. 

다시 정리해 보자면 랭체인은 개발자 중심이고, 그런 이유로 명시적 제어흐름의 콘크롤이 가능합니다. 하지만 MCP는 언어모델이 흐름 제어의 주체가 된다는 게 다르죠. AI모델은 해당 프로토콜을 통해 여러 기능과 인터페이스 하며 필요한 정보를 수집하거나 작업을 이행하게 됩니다. 완전한 통제와 커스터마이징이 필요하다면 랭체인을, 우아한 상호작용과 언어 모델의 자율성을 원한다면 MCP를 선택해야 한다는 이야기입니다.

 

데자뷔: Function Calling의 진화

ChatGPT의 Function Calling이나 Action Endpoints를 기억하시는 분들이 계실 겁니다. OpenAI가 소개한 Function Calling은 언어 모델이 JSON 형식으로 외부 함수를 호출할 수 있게 해주는 기능이에요. 필요한 파라미터를 명시하고, 언어 모델이 적절한 시점에 이 함수를 호출할 수 있게 하죠. 마치 언어 모델에게 API 호출 능력을 부여한 것과 같습니다. MCP는 이런 Function Calling의 개념을 더 체계화하고 확장했다고 볼 수 있어요. Antrophic은 단일 플랫폼에 국한되지 않고, 다양한 언어 모델과 서비스에서 활용할 수 있는 범용적인 프로토콜을 제시한 거죠. 그런 이유로 양쪽 모두 다음과 같은 공통점을 가집니다.

  • 언어 모델이 스스로 도구 사용 시점을 결정한다
  • 구조화된 형식으로 도구 호출을 정의한다
  • 결과를 언어 모델이 이해하고 통합할 수 있게 한다

차이점이라면, MCP가 나중에 나왔으므로 더 광범위한 상호작용 패턴과 도구 조합을 지원하도록 설계되었다는 점일 겁니다. Function Calling이 한 번에 하나의 도구를 호출하는 데 최적화되었다면, MCP는 여러 도구 간의 복잡한 조정까지 고려하죠.

 

방향성: 우리의 미래는?

MCP와 유사한 프로토콜들은 AI의 사용영역을 확장하는 중요한 요소가 될 겁니다. 언어 모델이 점점 더 많은 도구에 접근할수록, 더 많은 일들을 해낼 수 있게 될 테니 말이죠. 하지만 이것이 인류의 미래에 어떤 영향을 미치게 될지는 알 수 없습니다. 인간들은 점점 표준 프로토콜로 AI모델에 여러 기능과 지식 혹은 능력을 제공하는 플러그인들을 만들어낼 것임에는 틀림없습니다. 이미 Smithery, MCP.so 등의 사이트에는 하루가 멀다 하고 여러 기능의 MCP 서버들이 엔트리 되고 있거든요. 이런 인터페이스로 강화된 AI모델은, 위에서 여러 번 이야기했던 대로, 점점 더 스스로 판단하고 스스로 행동하게 될 겁니다. 

 

인류는 계속 인공지능이 AGI(Artificial General Intelligence)에 다다르는 게 머지않았다고 이야기하고 있지만, 사실 주변을 둘러보면 이미 chatGPT나 Claude 서비스 수준에 못 미치는 사람들이 엄청나게 많지 않나요? 아님 말고요…

관찰가능성

관찰가능성(Observability)이라는 용어는 루돌프 E. 칼만(Rudolf E. Kálmán)이 1960년대에 제어 이론 분야에서 처음 사용했습니다. 관찰가능성은 시스템 내부 상태의 외부 출력(output)을 통한 추론 가능성에 대한 개념이라고 볼 수 있어요. 

 

관찰가능성과 모니터링

오늘날 IT의 관찰가능성은 칼만의 기본 정의를 확장해서 사용하고 있죠. 시스템 모니터링과 혼재되어 사용되는 경우가 있지만, 사실 그 둘은 근본적인 차이가 있습니다. 모니터링이 건강 검진의 기본적인 항목 확인과 같다면, 관찰가능성은 MRI나 CT 촬영처럼 더 상세한 의존 정보를 준비하고 이들의 상관분석을 통해 문제의 근본 원인을 찾고 또 예측하는 것을 이야기합니다. 단순한 지표 정의 및 관찰을 넘어 시스템 전체의 동작 방식과 숨겨진 연관성을 이해하는 것이 핵심이겠죠. 

 

도구 전에 개념의 이해가 먼저

다양한 observability 도구들이 존재하지만, 그 화려함에 매몰되어서는 안 됩니다. 진정으로 중요한 것은 시스템의 핵심 기능이 어떻게 작동하는지에 대한 명확한 가시성을 확보하는 것입니다. 이를 위해서는 운영팀과 개발팀이 긴밀하게 협력하여 데이터의 흐름을 설계하고, 각 컴포넌트에서 필요한 관찰 데이터를 정의해야 합니다. 무분별한 도구 도입은 오히려 복잡성을 가중시키기만 할 수도 있으니, 시스템의 가장 중요한 프로세스를 중심으로 관찰가능성 확보 방안에 대해 먼저 고민할 필요가 있다는 거에요.

어쨌든 시스템을 설계하고 이행할 때, 관찰가능성에 대한 고민을 하며 적절한 SLI Service Level Indicator를 준비하고, 의미 있는 SLO Service Level Objective를 정의/운영하실 수 있게 되기를 바랍니다. 

뭐… 도구를 쓰시던가요

 

지난 2~3년 동안 테크 판은 생성형 AI의 독주였습니다. 2025년 가트너의 전략기술 트렌드만 봐도 모두 LLM(거대 언어 모델) 혹은 그것과 관련이 있는 파생 타이틀뿐이니 말이죠. 2022년 말 GPT 시리즈의 발표를 시작으로 온갖 LLM들이 쏟아져 나왔고. 그들은 마치 올림픽에 출전한 듯 인공지능의 퀄리티나 파라미터 수 경쟁에 집중했습니다. 덕분에 AI 퀄리티는 눈 돌아가게 좋아질 수밖에 없었죠. 지금도 연구자들은 AGI(Artificial General Intelligence)를 목표로 GPU가 녹아내릴 때까지 최선을 다하고 있지만, 개인적으로 이 정도면 일반 대중들의 니드는 충분히 충족시킬 퀄리티라고 생각하거든요. 인류의 대부분은 IQ 100도 넘지 못하며, 단순한 반복업무를 쳇바퀴 돌듯 수행하고 있을 뿐이니까. 

 

그렇다면 이제부터의 트렌드는 어떤 양상이 될까요?

 

사실 분위기는 이미 슬슬 바뀌고 있는 상황입니다. 이제 모델 퀄리티는 어느 정도 궤도에 올랐으니, 선수들은 다른 곳으로 눈을 돌리기 시작했다는 이야기에요. 바로 LLM 모델의 경량화, 효율화가 그것입니다. 인터넷 연결 없이도, 내 개인정보를 넘기지 않고도, 내 손 안에서 바로 돌아가는 온디바이스(On-device) AI,이것이 앞으로의 돈을 벌어다 주는 핵심 키워드가 되는 건 자연스러운 수순이죠. 

 

이런 흐름에 불을 지핀 사건이 있었으니, 바로 마이크로소프트(MS)의 경량형 AI 모델 ‘비트넷 b1.58 (BitNet b1.58)’ 발표가 그것입니다. 이름부터 ‘비트’ 단위로 극한의 다이어트를 한 느낌을 풍기는데, 이 모델은 매개변수를 단 1.58비트로 표현하여 모델의 크기와 메모리 사용량을 획기적으로 줄여 에너지 효율을 극한으로 끌어올렸어요. 기존 모델들이 풀코스 스테이크 썰 때, 얘는 현미 채식하는 수준이랄까? 그런 특성으로 이 모델은 대형 GPU 없이 일반적인 CPU에서도 작동이 가능합니다. 물론, 퀄리티는 최상급 거대 모델에 비해 살짝 아쉬울 수 있지만, 앞에서 이야기한 것처럼 개인의 데이터를 내비게이션 하며 간단한 비서역할을 수행하는 서비스를 구성하는 데는 차고 넘치죠. 

 

이 이야기가 의미하는 건 뭘까요? 바로 AI의 진정한 대중화가 시작되고 있다는 것. 값비싼 GPU 인프라 없이도, 심지어 인터넷 연결이 불안정한 환경에서도, 개인정보의 유출 걱정 없이 스마트폰을 통해 기존처럼 쉽게 AI서비스를 사용할 수 있게 된다는 거에요. 내 스마트폰이, 내 노트북이, 심지어 내 스마트워치가 진짜 ‘개인 비서’ 역할을 하는 시대가 열리는거죠. ChatGPT 사이트에서 몇 가지 질문을 던지며 신기해하고 마는 것이 아닌, 내 일상에 스며들어 나를 도와주는 초염가 비서를 누구나 한둘은 갖게 될 겁니다. 

 

그렇다면 벌써 테크기업 내의 코드 30% 이상이 인공지능으로 개발되고 있고, IT인력의 대량 정리해고가 시작되고 있는 현 상황에서 개발자들은 무얼 준비해야 할까요? 

 

특급 개발자들은 서비스 코어 쪽에서 경쟁하겠지만, 평범한 개발자들은 이미 잘 만들어진 경량 모델(파운데이션 모델)을 사용해서 특정 작업에 맞게 파인튜닝하고, 사용자 경험(UX)을 극대화하는 애플리케이션 개발을 수행할 수 있는 역량을 키울 필요가 있을거에요. 물론 그전에 온디바이스 환경에서의 모델 최적화, 제한된 리소스에서의 효율적인 AI 구동 기술에 관심을 가지고 AI 관련 서비스나 프레임워크 운용에 대한 학습이 선행될 필요가 있겠죠. 기존의 오픈 대형 서비스 프레임웍과 정보보호적 관점에서 효율적으로 상호작용할 수 있는 서비스 활용방법론에 대한 고민도 노력해 볼 가치가 있는 영역이라 생각합니다. 모바일, 웹, IoT 기기 등 다양한 디바이스에서 AI 모델을 구동하는 기술 스택에도 관심을 가져보는 건 어떨까요?

 

누가 뭐래도 가장 중요한 건 지속적으로 변하는 테크 상황에 지속적으로 관심을 가지고 필요한 것을 선별, 습득하는 것이라고 생각하는데… 물론 어렵죠. 그런데 언젠 뭐가 쉬웠나요?

이번 WWDC의 방향성에 대해 간단하게 살펴봅니다.


OS X가 요세미티에서 앨 캐피텐으로, iOS가 ver 8에서 9로, watchOS가 1에서 2로 버젼업되면서 전체적으로 큰 변화보다는 디테일에 치중한 마이너 업그레이드들로 완성도를 높여가는 모습을 보여줍니다. 그런 가운데에서도 패드나 맥북의 아이댄티티의 진화를 위한 Split Screen기능이나 뮤직 서비스의 확장 같은 굵직한 변화도 포함하고 있으며, 개발자적 관점에서 큰 의미를 지닐 통합개발을 위한 Swift의 ver 2의 소개 및 오픈소스화도 언급되었습니다.


이번 WWDC에서 주목할만한 것은 deep linking과 app indexing을 통해 앱의 독립성 및 닫힌 정보관리를 극복하기 위한 움직입니다. 이는 이미 google에서도 작년부터 활발히 연구 및 적용되고 있습니다. 앱 내에서만 독립적으로 관리되던 컨텐츠들을 일정 규칙으로 인덱싱하여 통합검색에 노출시킬 수 있도록 하는 것이 app indexing이며, 웹에서의 하이퍼링크로 앱 내의 컨텐츠로 연결해주는 것이 deep linking 입니다. 이는 앱이 더 이상 독립적인 블랙박스가 아닌 웹과 유기적으로 seamless하게 상호작용 할 수 있게 된다는 이야기로, 모바일 프레임웍에서는 큰 컨셉의 변화가 일어나는 현상이 될 것이라 생각합니다. 앱을 만드는 개발자들은 이제 '어떻게 앱에 좋은 기능을 잘 구현할까'에 더불어, '어떻게 웹 및 앱들과의 상호작용을 설계할까'에 대한 고민을 해야 할껍니다.
또 하나는 Proactive라는 단어가 잘 설명해주고 있는데요. 이제 모바일 디바이스는 시키는 일을 잘 수행하는 역할에서, 사용자가 무엇을 하고 싶어하는지를 예측하고 제시하는 단계로 진화하게 된다는 것입니다. google에서는 구글나우를 통해 비슷한 개념의 적용이 이루어지고 있죠. 사용자가 무릎을 칠만한 적절한 제시를 하기 위해서는 사용자의 여러 과거 액티비티 데이터들을 효율적으로 분석하여야 합니다. 이 데이터들을 학습하여 사용자의 패턴을 분류해내고, 다시 현재의 환경데이터를 기반으로 상황에 부합하는 제시를 하게 됩니다. 예를 들면, 퇴근 즈음 근처 정류장에 집에가는 버스 도착시간을 보여준다던지 하는 것이죠. 이 부분은 머신러닝이나 딥러닝 등의 이름으로 다양한 연구가 이루어지고 있으며, 데이터 분석 인프라나 기법의 발전을 기반으로 많은 성과를 내고 있는 분야이기도 합니다. 애플에서는 위의 개념들을 기존 OSX나 iOS의 아이댄티티를 유지한 채로 자연스럽게 진화시키고 있는 모습을 보여줍니다.


Keynote를 봐도 알 수 있듯이 OSX나 iOS는 점점 닮아가고 있습니다. iCloud를 통한 단순한 데이터 연계로 시작되었던 seamless 컨셉은, 두 OS가 하나로 닮아가서 결국은 하나의 경험으로 완성될 수 있도록 진행되고 있습니다. 
iPad Air 2부터 적용되는 Spilt Screen기능(멀티태스킹)은 동일한 UX로 OS X에도 적용이 되고 있는 모습을 확인할 수 있습니다. 이미 멀티윈도우가 가능한 OS X에서 Spilt Screen이 가지는 의미는 무엇일까요? 이는 효율적인 UX에 대한 끝없는 시도(멀티태스킹을 수행하는데에는 기존의 윈도우 방식 보다는 Spilt Screen이 훨씬 직관적이고 효과적이며 MS에서 먼저 소개되었습니다) 그리고, 모바일과 랩탑이라는 서로 다른 디바이스에서도 동일한 사용자 경험을 제공하려는 의지입니다. 게다가 이런 노력을 사용자 경험에만 치중하는 것이 아니라 Swift이라는 단일 개발 프레임웍을 같이 제시하여, 개발자들이 최소한의 노력으로 OS X와 iOS를 연계할 수 있는 환경을 만들어내고 있습니다.(이번에는 기존에는 별도였던 OS X와 iOS 개발자 프로그램을 통합한 프로그램도 저렴한 가격에 제공하기 시작했죠)


Keynote에서는 위의 큰 컨셉 하에 여러 세부 기능들을 차곡차곡 소개하고 있습니다. 관심 있으신 분들께서는 시간 날 때 Apple.com에서 하나하나 읽어보시면 좋을 것 같네요.(개발자적 관점에서는 UI 테스트프레임웍이 xCode에 추가된 것이 반가왔습니다.) 어떻게 보면 '조각조각 대단한 것은 하나도 없네' 싶을 수도 있지만, 개인적으로는 매번 볼 때마다 많은 생각을 하게 됩니다. 다음에는 어떤 내용들이 소개될지 벌써부터 궁금해지네요.

요즘 주변에 딥러닝이 화두다. 딥러닝은 컴퓨터가 사물이나 데이터를 분류(를 통한 인식까지도) 하는데 사용되는 방법론 중의 하나이며, 특히 인공신경망 알고리즘을 심화시킨 심화신경망 알고리즘을 활용한 학습과정을 이야기 한다.

 

사람은 음악을 듣거나 사물을 볼 때 순간적으로 그 대상을 식별하고 인식하게 되며, 그것이 바로 모든 작업의 시작이 된다. 음악을 듣고 그 것이 누구의 음악인지 바로 알아낸 후 그 정보를 활용해 쇼핑몰을 검색해 해당 음악가의 CD를 사거나, 차도에서 중앙차선을 넘어가는 차를 보고 그 인지된 정보로 교통법규를 위반한다는 판단을 한 후 신고하기도 한다. 하지만, 컴퓨터는 그 도입의 인지단계가 사람만큼 쉽지 않은 것이 문제다. 컴퓨터는 소리 혹은 영상과 같은 모든 정보들을 동일하게 0과  1이 조합된 데이터로 받아들일 수 밖에 없기 때문이다. ‘기계가 이 장면을 사람이 보는 것처럼 인지할 수 있다면’ 정말 거짓말처럼 컴퓨터로 한 단계 진화된 서비스를 수행할 수 있게 된다. 


인공신경망은 사람이 뇌를 사용해 사물을 학습하는 과정을 그대로 활용한 이론이다. 이 이론은 1942년에 소개가 되었지만 여러 가지 한계로 제대로 된 성과를 보여주지 못해 크게 주목을 받지 못했다. 학습을 통한다는 것 자체가 수많은 데이터를 분석 처리해서 공통적인 패턴을 찾아낸다는 이야기이기 때문에, 그 때의 컴퓨터 연산능력/데이터 처리속도의 한계 등으로 실제 적용할만한 결과를 만들어내는 것이 쉽지 않았다. 

하지만, 하드웨어는 눈부시게 발전했으며, 빅데이터로 소개되고 있는 분석 프레임웍도 지속적으로 진화하여 예전에는 생각지도 못했던 대용량의 데이터 분석이 가능하게 되었다. 게다가, 인공신경망 이론을 보완하는 알고리즘의 출현까지 서로 시너지를 내어 기계 인지학습분야가 눈에 보이는 여러 성과들을 보여주고 있는 상태이다. 


뉘앙스엔진을 활용한 음성인식이나 페이스북의 얼굴인식에서부터 딥러닝을 활용한 구글의 사진 속 음식의 칼로리를 계산하는 인공지능의 개발까지 모두 [사람의 도움이 유리된 기계 만의 사물 인지]에서부터 시작된 서비스들이다. 일단 [인지]가 가능해지면 그 뒤에 여러 논리적인 알고리즘을 덧붙여 - 이건 IT하는 사람들이 누구나 자신 있어하는 고전적인 일이다 – 여러 수준 높은 서비스들을 만들어낼 수 있다. 결국 판단하는 것 보다 컴퓨터가 스스로 정보를 수집하는 것이 더 어려운 문제인 것이다.

 

물론 아직도 갈 길은 멀지만 머지 않아 헤일로의 코타나나 엑스마키나의 에이바를 내 주변에서 만나게 될 지도 모를 일이다.

+ Recent posts