[음악] 오늘은 그 신재술님의 그 요즘 핫한 MCP 이해와 활용이라는 주제로 강의를 할 예정입니다.
강의 시간은 한 약간 2두시간 내외가 될 것 같고요.
오늘도 많이 이렇게 참석해 주셔서 감사하고 좋은 강의 강사님을 모시도록 하겠습니다.
네.
안녕하세요.
오늘 MCP 주제로 예, 발표를 좀 준비를 했는데요.
그 보통 이제 인터넷에 이제 다른 그 이제 MCP 관련된 강의들을 보면은데 여기 들 것 같은데요.
여기 끌까요? 예.
이쪽은 다 꺼주시면 좋을 것 같아.
이쪽 스피커는 끄는게 나을 것 같아.
네.
여긴 네.
녹화되고 있는 거죠? 예.
그 MCP 관련 강의들을 보면은 이제 보통 크게 두 축인 거 같아요.
이제 한 축은 이제 MCP를 가지고 어떻게 하면 좀 이제 어 실생활에 좀 편리하게 사용을 할 수 있을까 하는 쪽이고 다른 쪽은 이제 그 MCP 그렇게 편리하게 사용하기 위한 서버를 개발하는 어 그런 두 가지로 많이 예 제솔님이 그 마이크를 꺼주셔야 돼.
네.
됐습니다.
그것 때문에 주 안 껐는데.
됐어요.
됐어요.
됐어.
예.
이제 예.
실 거예요.
아, 이제 됐대요.
예.
오늘 준비한 내용은 이제 MCP 그 자체에 대해서 조금 어 같이 좀 알아보는 내용으로 좀 준비를 했습니다.
예.
먼저 이제이 짧방에서 하나 처음 시작을 해 보려고 하는데요.
셀비 has an MCP server.
예.
이런 이제 농담인데 이제 한 달 전 두 달 전쯤이죠.
한창에 MCP가 이렇게 어 핫해졌을 때가 그래서 MCP라게 나온 거는 작년 11월이었는데 올해 2월 말일부터 갑자기 이렇게 핫해지면서 어 이런 미이 나올 정도로 그이 팬을 나한테 팔아 봐라 막 그런 이제 오디션 같은 거죠.
그런 이제 경영 오디션 같은 데서 하니까 이제 이게 MCP 서버 달려 있어요.
이런 농담이 나올 정도로 이제 미미되었고 이제 MCP라는게 거품이냐 아니면 이게 진정한 뭔가 진짜 엄청난 혁신이냐 여기에 대해서 많이 또 그 사랑 설례가 있었던 거 같습니다.
그래서 여기 뭐 당시에 이제 반응 같은 걸 보면은 방금 누군가가 이제 MCP를 써 가지고 자동차를 운전해서 예 그 실료품점에가 가지고 이게 뭐 무슨 소세지 빵을이 이렇게 원격으로 샀대요.
뭐 말도 안 되는 거 다 MCP를 쓰고 있다.
약간 이런 이제 비꼬는 그런 반응도 있었고 MCP라는게 그냥 어 LM이랑 그 이제 데이터 소스 사이에 그냥 API 아니야.
그거 이어 가지고 왜 그렇게 난리를 치는 거야? 이런 이제 반응도 있었고요.
어떤 사람 MCP라는 거는 이게 왜 그렇게 떴는가? 이거를 좀 연구를 해 봐야 된다.
이게 연구 대상이다.
이런 사람도 있었습니다.
예.
이건 그리고 뭐 지금 내 피드는 그 트위터 피드는 완전히 그 MCP라는 한 단어로 막 꽉 찼다 뭐 이런 어 반응도 있었고요.
그 당 그 이제 구글 제가 참 구글 트렌드를 좋아하는데 이제 트렌드를 보면은 이게 작년 11월 막 11월 이때는 이제 아무 반응이 없다가 이제 오래 들어서 점점 반응을 얻은 거죠.
이제 그러다가 이제 2월 말, 3월 초 이때쯤이 되면은 이제 정점을 찍었고요.
사실 지금은 약간 좀 기세가 꺾인 느낌도 있고 다른 한편으로 이제 이거를 진짜 쓸 만한 곳들에서는 다 조용하게 이제 도입을 하고 있는 그런 분위기도 합니다.
그래서 이제 사실은 이제 제가이 그래프를 이제 공유를 줄이면서 아 여러분들은 이제 지금 이걸 혹시 접하셨으면 이미 늦었다.
약간 이런 말씀을 드리려고 했는데요.
근데 또 오늘 찾아보니까 이게 그 사이에 또 다시 좀 상승 곡선을 그리고 있더라고요.
제 생각에는 이제 최근에 그 마이크로소프트랑 이제 기터이 또 MCP를 공식 지원을 하기로 하면서 이제 다시 또 이런 확산의 방향으로 또 돌아서고 있는 거 같습니다.
MCP가 뭐냐 하면은 이제 간단히 말해서요 툴요 툴 콜링을 지원해 주는 그 외부의 툴을 이제 부를 때 좀 편리하게 해 주는 약간 어 프로토콜이라고 할 수 있는데요.
LM을 가지고 저희가 뭐 채찍에 검색을 한번 해 봅시다.
검색을 한번 해 봅시 해 보면은 뭐 오늘 서울 날씨로 물어볼까요? 오늘 서울 날씨는 어때? 웹 찾아보는 중이라고 뜨죠? 그니까 LRM은 오늘 서울 날씨에 대한 정보가 안 들어 있죠.
그런데 지금 이제 최지T에 검색을 하니까 막 아이뉴스 뭐 아큐 웨더 막 이런데 이제 검색을 해서 이제 나름 좀 정확한 정보를 긁어 와서 보여 주고 있습니다.
자 이게 지금 웹 검색이라는 외부의 도구를 호출해서이 정보를 이제 지금 가져온 건데요.
예, 이게 이제 툴 콜링이고이 이제 뭐 여기에 뭐 메모리가 될 수도 있고 또 이제 뭐 기존에 R할 때 그 검색 이런 것들을 이제 붙이는데 뭐 벡터 DB 같은 걸 붙일 때도 API를 가지고 붙이죠.
근데 이제 그런 것들을 이제 그 내부에 통합을 시키지 않고 외부에서 만들어진 도구를 붙일 수 있게 해주는게 MCP라고 보시면 될 거 같습니다.
어, 간단하게 데모 먼저 좀 보여 드리면서 그 하면 좋을 것 같습니다.
자, MCP와 관련된 스펙에는 뭐가 있을까? 관련된 [음악] 중요하고 싶어.
아직 MCP 안 나왔습니다.
아직 빌드업 중입니다.
자, 제가 옵시디언의이 개념들을 지식 그래프로 정리해 줘라고 요청을 했는데요.
이제 그러니까 이제 옵시디언 그 MCP를 지금 호출을 했습니다.
입니다.
납이 빨리 안 나오네요.
M.
지금 뭔가 이게 연결이 안 되는 거 같아 가지고 다른 예제로 설명드리겠습니다.
로딩 그 포스트레스 지금 제가 그 DB에 이제 MCP를 연결을 해 놨는데요.
이제 제가 예제용으로 만들어 놓은 이제 데이터들을 넣어 놨습니다.
그래서 지금 이제 MCP가 지금 여기 목록에서 포스트 그레스 MCP가 지금 목록에 보이고 있고요.
여기에 이제 포스트 그레스 MCP로 어떤 테이블이 있는지 찾아봐죠라고 하니까 현재 연결된 이제 제 컴퓨터에 있는 데이터베이스에서 어 이런 테이블들이 있다라는 정보를 지금 찾아 주고 있습니다.
그래서 어 아까 이제 최지T에 이제 오늘 서울 날씨를 알려 줘라고 했을 때 이제 웹 검색이라는 도구를 호출해서 이제 정보를 보여 줬던 것처럼 제 로컬 데이터베이스에 지금 접속을 해서 이런 정보들을 긁어오고 있는 거고요.
Ja.
이 예,이 정보를 바탕으로 마케팅 분석을 하면 어떤 분석이 가능할까라고 물어봤습니다.
그러니까 이제 이런 어떤 분석을 할지 알려면은 뭐 어떤 테이블들이 있고 어떤 컬럼이 있고 이런 것들을 좀 자세히 봐야겠죠.
그래서 이제 지금 얘가 이제 셀렉트 테이블 네임, 컬럼 네임, 데이터 타입 이런 식으로 이제 스키마를 조회하는 퀄리를 생성을 해서 날렸습니다.
그래서 어 이런 분석이 가능하다고 지금 답변을 주고 있네요.
자, 그러면은 여기 어 스피커 여기 이제 있는 어 추천해 주는 그 분석들을 바탕으로 해서 이 생애 가치 분석을 한번 요청을 했습니다.
입니다.
그랬더니 이제 어 팬덤 액티비티라는 테이블에서 어떤 활동들이 있는지 조회를 하고 자기가 이제 이런 쿼리를 지금 생성을 해서 쿼리를 날리고 있고요.
이제 이렇게 가져온 결과를 바탕으로 해서 이제 시각화 자료를 만들고 됩니다.
예.
그랬더니 꽤 팬시하게 이렇게 어 그 테이블에서 뽑아온 정보들을 바탕으로 이렇게 분석 보고서를 만들어 주고 있는데요.
여기서 지금 이렇게 예쁘게 만들어 준 건 이제 어이 클로드에 원래 통합되어 있는 도구고 그리고 여기 가져온 정보는 제 로컬 PC에 있는 테이블에서 가져온 정보를 좀 바탕으로 한 것이죠.
그래서 지금 MCP를 통해서이 로컬 DV와이 클로드의 기능을 연동시켜서 이제 어 분석을 해 봤습니다.
이제 이런 식으로 이제 외부 도구들을 이제 연결해서 일종에 이제 확장을 할 수 있는 것이 이제 MCP라고 할 수 있는데요.
제가 이제 어제 테스트를 했을 때 잘 됐는데 어제는 이제 MCP와 관련된 기술 스펙이 뭐가 있을까 이렇게 질문을 해서 답변을 받은 걸 바탕으로 해서 어 방금 요청한 거랑 비슷하게 지식 그래프 형태로 정리하고 싶다라는 이제 요청을 보냈고요.
이걸 바탕으로 이제 기다리니까 이렇게 그래프의 형태로 정리된 것을 볼 수 있었습니다.
예.
그래서 지금 MCP가 이제 엔스로픽에서 내놓은 이제 프로토콜이었지만 커서가 이제 MCP를 지원을 하기 시작을 하고 이제 오픈 AI도 MCP를 이제 지원하기로 이제 결정을 했습니다.
그래서 뭐 알트만이 이제 MCP 우리 막 지원할 거다라는 얘기 하고 있고요.
아직 근데 채찍에는 예 통합이 안 됐죠.
채pt는 그 GPTS로 이제 자기가 독자적인 그런 이제 인티그레이션 환경을 좀 구성하려고 하고 있고요.
그 오픈 AI의 그 에이전트를 만드는 에이전트 SDK의 MCP를 이제 통합을 할 수 있도록 했습니다.
그리고 이제 API에 그 SDK의 뭐 이런 API의 그 MCP를 툴로 바로 이제 넣을 수 있도록 하는 그런 이제 규격들도 지금 만들어 놨고요.
구글도 이제 MCP를 가지고 이제 어 같이 가기로 해서 구글에서 그 A2A랑 이제 ADK라는 이제 SDK를 발표를 했죠.
에이전트를 만들기 위한 이제 또 도구 모임인데요.
여기서 이제 구글이 발표한 이제 A2A라는 개념은 에이전트 들간의 소통이고 이제 MCP는 이제 에이전트가 어떤 도구를 사용할 때 어 붙이는 이제 그 툴이라고 할 수 있습니다.
그래서 이제 구글이 만든요 A2A를 통해서요 에이전트들끼리 상호 작용을 하면은이 각각의 에이전트들은 이제 MCP를 가지고 뭐 툴를 붙일 수도 있는 거고 아니면 이제 직접 그 어 API로 코드를 짜 가지고 통합을 시킬 수도 있는 거죠.
그리고 뭐 아마존 그리고 최근에 이제 깃업이랑 마이크로소프트가 이제 그 공식적으로이 MCP를 지원하기로 하면서 이렇게 되면 이제 사실 그 뭐 지금도 이제 기터이나 뭐 이제 플레이라이트 이런 거 이제 그 지원하는 그 MCP들이 나와 있는데 이런 것들은 이제 보통 제3자가 만들어 놓은 이제 공개된 API를 가지고 이제 호환되게 이제 어댑터를 구현한 거라고 할 수가 있는데요.
그런데 이제 공식적인 이런 그 이제 프로바이더 MCP를 지원한다라고 하면은 이제 방금처럼 막 그렇게 연동이 잘 안 되고 그런 일들이 조금 어 덜해지는 거죠.
그리고 MCP 뭐 해커톤 같은 것도 뭐 뭐 잘 열리고 있고 MCP 뭐 대부 서밋 같은 행사도 지금 열리고 있습니다.
그래서요 MCP 대부 서밋에서 뭐 어떤 발표들이 있나 한번 들여다 봤는데요.
지금 이제 MCP와 관련해서 어떤 좀 고민들이 많이 좀 이루어지고 있는지 좀 어 볼 수 있는 거 같아서 재밌는 거 같았습니다.
이제 제일 그 위쪽에 첫 번째로 어 있었던 발표 제목이 what MCP미드웨어 could look like이라는 제목이었는데요.
그러니까 MCP를 붙이는 거는 뭐 알겠어.
그런데 이제 이거를 좀 로깅하고 관찰하고 이제 그 어떤 상황에서 어떻게 도구가 호출이 되고 그런 것들을 이제 어 분석하는 것이 좀 어 중요해진 상황이다라는 이제 뭐 이런 트렌드를 알 수 있었고요.
또 뭐 스케일링 MCP 이런 것도 되게 중요한 어 고민인 거 같습니다.
지금 이제 MCP들이 어 많이 이제 어 설치를 해 보면은 MCP라는게 이제 로컬 모드가 있고 리모트 모드가 있는데요.
주로 이제 로컬 모드가 많이 있습니다.
이제 근데 이제 이런 MCP들이 이제 어 방금도 이제 보셨다시피 좀 버벅되는 경우가 많이 있습니다.
그 서버 자체가 이제 설계를 할 때 이제 그런 부분들을 잘 고려하지 않고 설계를 하면은 그렇게 되는데요.
이제 그런 부분에 대한 고민들 또 이제 멀티에트 이제 A 뭐 A2 A를 만들어 써 가지고 이제 만들던지 아니면은 지금 뭐 크루 크루 AI 뭐 그런 이제 멀티에 프레임에서 MCP를 뭐 붙여 가지고 재밌는 걸 해 보자.
뭐 이런 이제 논의들이 지금 많이 이루어지고 있습니다.
예.
그래서 이제 어 많이들 이제 궁금해 하시는게 이게 MCP라는게 그냥 단순히 API를 감싸 주는 그냥 단순한 그 레퍼 아니냐.
근데 어떤 사람들은 MCP라는 거 가지고 뭐 되게 모든게 다 되는 것처럼 말하시는 분들도 있어요.
이건 엄청난 혁명이고 뭐 그런 것처럼 얘기를 하는데요.
어 제 생각에는 뭐 MCP가 그렇게 대단한 건 아닐 수도 있지만 이제 그렇게 의미가 작진 않다라고 생각이 듭니다.
그니까 어 최근에 기사를 여러 가지 접하면서 드는 생각이 몇 가지가 있는데요.
작년에 그 이제 LM 뭐 GPT 뭐 이런게 엄청 이제 사람들한테 이제 보급이 많이 되고 어 그럼이 다음 스텝은 뭐가 될 것이냐 사람들이 주로 이제 채지T나 이제 클러드 같은 서비스에 접속을 해서 이제 서비스를 이용하는 상황에서이 다음 스텝은 뭐가 될 것이냐에 대해서 다들 고민을 했는데 어 통합 인티그레이션이 되게 답이 될 것이라고 다들 이제 예상을 했어요.
그래서 이제 어 애플 같은 회사들이 어 하드웨어도 가지고 있고 소프트웨어도 가지고 있고 하니까 그리고 자기네 OS까지 가지고 있으니까 그런 인티그레이션을 빨리 하지 않을까라고 생각을 했는데 정작 이제 애플은 최근에 그 프로젝트가 잘 안 됐다고 막 다 뒤집어 엎었다는 기사가 나왔죠.
그 그리고 반면에 클로드는 그 정 반대되는 회사잖아요.
그리고 어떻게 보면 인티게이션이 되게 늦었어요.
그러니까 채지T가 뭐 검색 같은 거 되게 빨리 어 통합을 시키고 뭐 메모리 기능, 개인화 기능 이런 것들을 다 도입하는 동안에 이제 클로드는 코딩을 잘한다.
글 쓰기를 잘한다.
뭐 이런 이제 어 평이 좋아 가지고 그거에 딱 그 만족을 느끼는 사람들은 썼지만 제 그런 이제 서비스로서의 어떤 측면은 좀 통합이 많이 부족한 측면이 있었습니다.
근데 이제 MCP라는 걸 어쨌든 내놓으면서 약간 좀 게임 체인저가 적어도 이제 클로드한테는 된 거 같아요.
근데 이게 확실히 재밌다고 느끼는 점은 이제 애플이 자기 플랫폼을 가지고 있으니까 애플이 그걸 중심으로 통합할 거다라고 생각을 했는데 오히려 애플이 아니라 그런 플랫폼을 지금 가지 못하고 좀 통합에도 좀 늦었던 어 클로드가 엔스로픽이 이제 MCP라는 좀 어 프로토콜을 잘 좀 성공을 시키면서 또 오픈 AI가 어 원래는 이제 오픈 AI 그 API 같은 것들이 거의 이제 거의 표준처럼 자리를 잡아가면서 그 AI SD 에이전트 SDK 같은 것도 뭐 표준으로 자리 잡지 않을까 하는 생각도 있었는데 그렇지 않고 오픈 AI는 그게 독자 규적으로 여전히 그냥 남아 있을 뿐이고 이제 클로드의 그 MCP가 훨씬 어 이제 엄청난 기세로 지금 이제 표준으로 지금 등국을 하고 있습니다.
어쨌든 이런 변화에서 중요한 것은 컨텍스트 공급을 둘러싼 이제 디자인 패턴의 변화다라고 저는 이제 생각을 합니다.
그래서 R에서 워크플로우, 워크플로우에서 에이전트로 가는이 흐름에 있어서 MCP라는 것이 어이 흐름과 잘 부합을 하고 그리고 MCP가 사실 이런 흐름을 만들어 낸 것은 아니지만 이제 어 일조하고는 일조하고 있는 것은 이제 분명하다라는 좀 생각이 듭니다.
어떤 점에서 그런가 좀 또 보겠습니다.
뭐 AI에 조금 이제 좀 옛날 이야기부터 다시 조금 거슬러 가서 좀 얘기를 해 보면요.
이제 A 그니까 기계가 생각할 수 있는가 뭐 이런 질문이 나왔던게 뭐 벌써 한 70몇 년 전이죠.
그리고 이제 몇 년 뒤에 이제 어 8년 뒤죠.
8년 뒤에 어 앞으로 컴퓨터가 어 see wr reproduce itself 뭐 이런 그리고 의식도 가질 거야 뭐 이런 이제 기대들이 이제 나왔습니다.
그리고 나서 한참 시간이 흘러 이제 지금 어 LM이 적어도 사람과 비슷한 수준으로 말을 흉내낼 수 있게 되었고 그 안에 진짜든게 무엇인지 저희가 알 수 없지만요.
거기에 이제 툴까지 붙이니까 진짜 이제 워톡시라 하는 이제 어 상황이 온 거죠.
그래서 이렇게 될 수 있었던 거는 어 가장 뭐 직접적으로는 이제 트랜스포머 아키텍처와 그리고 그걸 바탕으로 한 이제 디코더 모델을 통한 대규모 그 사전 학습을 통해서 그 언어에 대한 그런 그 능력을 많이 끌어올릴 수 있고 거기에 이제 대화 형태에 이제 그 파인티닝을 통해서 사람같이 말을 할 수 있는 그런 이제 모델이 생기게 됐고 이게 이제 사람의 언어 언어를 이해하고 생생성할 수 있는 강력한 이제 유사 뇌가 탄생을 하게 된 거죠.
그래서 이게 이제 가지는 이제 의미를 어 아 예 의미를 조금 생각을 해 보면은 한 불가 한 몇 년 전까지만이에도 이제 인공지능 모델을 만들면은 그 각각에 특화된 그런 이제 아키텍처가 있고 그 데이터를 열심히 모아 가지고 그걸 학습을 시키고 그런게 되게 중요했는데 이제 한 2년 전부터는 그런 것보다는 이제 LM이 중심이 되어서 트랜스포머가 중심이 되어서 이제 그 뭐 음성 인식 같은 경우에도 막 LM에다가 이제 그런 스페셜 토큰 같은 걸 붙이고 그런 식으로 이제 LM이 되게 범명적인 그런 어 지능에 가까운 어 그런 이제 능력을 보이기 시작을 했습니다.
그런데 이제 LM이라는 걸 이제 생각을 해 보면은 결국에 이제 자기가 사전에 그 학습한 그 데이 학습한 데이터를 바탕으로 해서 그 다음에 올 단어를 예측하는 모델이죠.
이거는 뭐 너무 잘 이제 아실 텐데요.
그래서 이제 LLM이라는 것은 이제 책만 보고 세상을 배운 이제 아이에 가깝다라고 볼 수 있습니다.
아니면 이제 뭐 책만 보고 세상을 배운 대학원생일 수도 있죠.
그 대학원 수준의 어떤 어 수학도 하고 뭐 논문도 잘 읽고 하니까요.
하지만 이제 어 이론과 지식은 풍부하지만 현실 세계에 대한 경험은 그걸 다 텍스트로 배운 거죠.
그래서 이제 어 배운 내용을 바탕으로 해서 가장 그럴듯한 말을 만들어 내는데 사실과 다른 말을 하기도 하고요.
그리고 이제 어 책 너머의 세상 학습 데이터 이후의 시점의 세상은 이제 알지를 못한다.
그니까 통조림 속에 내와 같은 어게 지금의 이제 인공지능인 거죠.
그래서 이제 몇 년 전만에도 조성왕조 실록에 기록된 뭐 세종대항의 맥부프로 던짐 사건에 대해 알려줘.
이런 식으로 물어보면은 막 진짜 뭐 그런게 있었던 것처럼 얘기를 했습니다.
그러니까 다른 어떤 맥락이 없이 그냥 순전히이 문자열 인풋으로 주어진이 토큰 시퀀스만 봤을 때 그다음에 이어질 단어로 가장 확률이 높은 것들을 어 그럴 듯하게 들리는 거를 자기가 이제 만드니까 이렇게 나왔다라는 거죠.
그래서 뭐 그 당시에 막 신문에도 막 나오고 뭐 아직 인공지능 안 된다 뭐 이런 얘기들이 많이 나왔는데요.
지금 이제 GPT한테 던지면 이제 뭐라고 할까요? GP한테 세종대항의 프로 지금 사건 제 지금 물어보면 바로 이제 웹 서치를 이제 호출을 하고요.
어 실제 역사적 사실이 아니다.
어 그러면서 이거는 뭐 환각 현상에 대한 뭐 그런 사례로서 엄청 그 당시에 화제가 되었다.
AI를 감시하는 뭐 AI 기술이 뭐 개발되었다.
뭐 이런 이제 어 상당히 정확도 높은 답변을 하고 있습니다.
이렇게 할 수 있었던 것은 결국에 적절한 컨텍스트 어 그게 이제 웹 검색이 될 수도 있고요.
방금 제가 보여 드렸던 것처럼 데이터베이스가 될 수도 있고 어 회사는 뭐 PDF나 텍스트 뭐 한글 파일 등으로 존재하는 그런 파일들일 수도 있고 이제 벡터 데이터베이스에 이제 유사도 검색을 할 수 직접적으로 할 수 있도록 어 넣어 놓은 형태가 될 수도 있겠죠.
어떤 형태가 됐었든지 이제 거기서 어떤 정보를 끄집어내서 그걸 컨텍스트로 공급을함으로써 이제 비로소이 통조림 속에 갇혀 있었던이 유사 내였던이 LM이 이제 자기가 어떤 환경 속에 놓일 수 있게 되고 자기가 어떤 페르소나를 부여받게 되고 이제 그 상황에 맞는 말을 하면서 이제 어 인간과도 협업을 할 수 있게 된 거죠.
그래서이 컨텍스트 공급이라는게 되게 중요하다.
지난번에 그 벡터디 이제 강의를 하면서도 이제 말씀을 굉장히 강조를 드렸던 부분입니다.
그래서 이게 컨텍스트로 들어갈 때는 실제로 뭐 here is some컨e텍 to더 the 뭐 뭐더 한 다음에 여기 이제 컨텍스트가 들어가고 뭐 이런 컨텍스트를 바탕으로 해서 어 너는 뭐라고 답할 거 같아라는 식으로 들어가죠.
그러니까 결국에는 이제 인풋은 다 이제 텍스트로 받게 됩니다.
물론 이제 아까 말씀드렸던 것처럼 그 뭐 스페셜 토큰 같은 걸 통해서 이제 그 우리가 그 아는 글이 아닌 것들도 이제 다 어 문자열로 취환을 해서 인풋으로 넣을 수 있긴 합니다만 이제 기본적으로 이제 LM이라는 거는 이제 어 텍스트를 인풋으로 받아서 텍스트를 이제 아웃풋으로 뱉는 모델이라는 거죠.
그래서 이제 어 R라는 것은 이제 그 널리지 베이스에서 지식 베이스에서 어 관련 있는 지식을 찾아서 그걸 컨텍스트로 던짐으로써 뭔가 적합한 답변을 얻는다라는 그런 어 가장 이제 간단한 생각이었는데 이게 이제 점점점 발전하는 과정이 지금 이제 에이전트로 오게 되는 이제 흐름이다.
그리고 그 과정에서 이제 툴 사용이라는 것이 굉장히 중요해지게 되었다라는 것이 이제 지금 어 말씀드리고 싶은 부분입니다.
그래서 어 이런 어 사용자가 LM한테 지문을 던지는데 중간에 그 검색을 통해 얻은 정보를 넣는다라는 이제 Rag의 그게 이제 Rag의 아이디어였다면은 이제 워크플로라는게 또 등장을 합니다.
이제 워크플로라는 것은 여러 단계를 거치는 거죠.
그래서 처음에 뭐를 테면은 사용자가 뭐 질문을 던졌어요.
그럼 이걸 한번 뭐 LM 호추를 통해서 사용자가 진짜 어 모호 애매 모호한 그런 이제 질문을 던졌지만 어 이거를 뭐 의도를 파악해서 좀 더 구체화시켜 봐라는 식의 이제 프롬프트와 같이 던져서요 첫 번째 아웃풋은 좀 더 구체화된 그런 이제 형태의 아웃풋이 되고 뭐 이걸 바탕으로 해서 아 이게 뭐를 테면은 어 우리가 답변할 수 있는 우리가 가진 정보를 답변할 수 있는 문제야 혹은 이제 이게 뭐 의료 관련 체포 보셨다면은 이게 의료 관련된 뭐 문제야.
이런 식으로 이제 한번 게이트를 거치고 뭐 이런 식으로 여러 단계를 거치도록 어 하는 방식도 나왔고요.
또 이제 LRM을 이제 호출을 하면은 여기서 이제 분기를 시켜 가지고 어 다양한 뭐 어떤 이제 체포 UI는 하나지만 여기서 이제 어 그 여행 인정을 따 짜 주는 그런 도움위를 호출 할 수도 있는 거고요.
아니면은 뭐 법률 지식을 제공을 할 수도 있는 거고 뭐 그런 이제 사용자의 의도를 파악해서 적합한 그런 LM이나 적합한 이제 서비스를 연결해 주는 그런 이제 패턴도 등장을 했습니다.
그리고 이제 어 이런 식으로 LRM을 가지고 R가 됐든 뭐가 됐든 해서 답변을 만들면은 그 답변에 대해서 LM이 다시 이제 사용자 질문과 함께 그 답변을 평가를함으로써 답변의 적절성이 어 괜찮다 하면은 출력으로 내보내고 안 괜찮다 하면은 어 PD백과 함께 이게 좀 안 이런 부분에서 별로인 거 같으니까 다시 좀 고쳐 봐라고 질문을 하면서 어 이렇게 피드백이 돌아가는 이런 형태의 디자인도 등장을 하게 되었습니다.
그래서 뭐 이런 것들이 이제 다 피드백이라든지 어떻게 보면 이제 검색이란 거 자체도 일종의 사용이라고 할 수가 있는데요.
이제 이런 과정들이 들어가게 되면서 좀 더 어 환경 속에 LM을 이제 위치시킬 수 있게 된 것이죠.
그럼 이제 에이전트는 어 또 뭐가 다르냐라고 하면은 방금까지 봤던이 Rag는 그야말로이 검색을 타는게 딱 정해져 있죠.
이 이 흐름이 그리고 이제 워크플로우 워크플로우는 좀 더 복잡해졌지만 결국에 인해서 아웃으로 가는 방향으로 흐릅니다.
그리고 이제요 피드백 루프가 있는 경우에도요 안에서 되게 돌 거 같지만 어 보통 이제 돌아가는 횟수도 정해 놓고요.
그 인인에서 아웃스로 가는 흐름 자체는 정해져 있다라는 거죠.
근데 이제 우리가 보통 에이전트라고 하면은 그 어느 정도로 수행을 할 건지 그리고 우리가 검색을 수행할 건지 말 건지 이런 것들을 어 미리 단계를 세워 가지고 어 검색을 어 수행할 만한 질문인지 판단을 해 줘라고 한 다음에 거기서 분기 그다음에 검색을 수행할 만한 질문이면은 검색기에 들어갔다 온다 실시 뭐 이런 식으로 하는게 아니라 이제 어 프롬프트에 너는 이제 어 굉장히 help플한 어시스턴트인데 이제 사용자 의도를 를 파악해서 적합한 계획을 세워 줘라고 한하는 방식으로 해서 이제 어 계획을 세우고 그 계획을 바탕으로 해서 그 계획 속에를 테면은 어 검색이 필요한 질문이면 검색을 찍고 온다.
뭐 이런 식으로 LM이 스스로 이제 그 계획을 세우고 거기에 기반해서 툴을 어 선택을 하고 이런 자율성을 더 많이 갖춘 이제 어 에이전트라는 이제 개념과 거기에 부합하는 그 디자인 패턴들이 이제 등장을 하게 되었습니다.
이제 뭐 앞선 뭐 RH나 이제 이런 이제 워크플로우에서도 툴 사용이라는 것이 어 중요했습니다만 여기서의 이제 툴콜링이라는 거는 정해져 있죠.
그러니까 어떤 시점에 어떤 식으로 툴을 어떻게 찍고 올 건지가 다 정해져 있는 거잖아요.
R은 어 첫 질문의 시점에 벡터 DB의 그 질문을 인베링에서 넣고 온다라는 것이 다 정해져 있습니다.
근데 에이전트가 이제 어 자율적으로 계획을 세우고 거기에 따라서 어떤 도구를 호출할지 이제 결정하는 상황을 생각을 해 보면은 이제 그렇게 할 수가 없고 도구를 미리 리스트로 지어 주는 수준으로 굉장히 간접적으로 이제 어 도구를 어 그 제공을 해야 되는데요.
그 이제 이런 패턴이 나타나게 되면서 이제 툴 콜링이라는 거를 어떤 방식으로 할 것인가에 대한 고민이 어 나타나게 되었습니다.
그래서 뭐 다시금 이제 에이전트라는 거를 뭐 정리를 하자면은 굉장히 다양한 방식으로 쓰이고 있어요.
그래서 어 가장 기본적으로는 자기가 이제 지각을 하는게 있고 그걸 바탕으로 해서 뭔가 판단을 하고 행동을 한다.
그게 에이전트의 사실 원래의 의미죠.
에이전트라는 개념은 어 되게 오래된 개념입니다.
지금 새로 막 R이지와 워플로 이후에 새로 등장한 개념이 아니라 그 맥락에서는 그런 식으로 이제 논의가 되고 있긴 하지만 에이전트는 인공지능의 역사와 함께하는 굉장히 오래된 개념이고요.
그리고 인공지능이라는게 이제 머신 러닝보다 오래된 더 넓은 개념이잖아요.
그만큼 에이전트도 넓은 개념입니다.
그런데 이제 뭐 다양한 분들이 어떤 식으로 얘기를 했나 보면은 그러니까 교과서적인 정의는 환경으로부터 지각을 해서 행동으로 응답하고 그 행동을 선택하는게 뭔가 주어진 목표를 달성하기 위해서 합리적으로 행동하도록 설계된 것이다.
뭐 이런 식으로 정의를 하기도 하고요.
이제 최근에 나온 좀 그 AI 분야의 AI 에이전트를 위해서 최근 좀 최근에 나온 실용적인 그런 그 백서나 이런 것들을 보면은 어 L AI 에이전트라는 건 LRM이 있고 툴 호충이 출 호출이 있고 어떤 상태를 관리하는 그런 것들이 복합적으로 이제 갖추진 시스템이다.
뭐 이렇게 이제 정의를 하고 있고요.
사용자의 목표를 기반으로 해서 목표가 주어지면 그걸 바탕으로 해서 플래닝이 있고 그 플래닝을 달 그 플랜을 달성하기 위한 어 다양한 뭐 툴 호출과 그 단계 같은 것들을 자기가 이제 어 계획을 짜서 아는 오케스트레이션 레이어가 있다.
뭐 이렇게 정의를 하고 있습니다.
그 되면 이제 툴이라는 거는 얘가 어떤 행위 능력을 가치기 위해서 아주 이제 필수적인 도구가 되고 그리고 이거이 상태를 관리하기 위한 메모리 이게 단지이 작업이 진행되는 과정에서의 그 단기 메모리일 수도 있고 아니면 사용자가 들어올 때마다 계속 뭔가 개인화된 그 서비스를 가능하게 할 수 있는 이제 장기 기억일 수도 있는 거죠.
그리고 이제 뭐 이런 식의 어 지금 AI 에이전트와 관련된 정의들이 또 어 뭐 다양한 방식으로 등장을 하고 있습니다.
최근에 어떤 그 서베이 논문에서는 AI 에이전트와 에이전틱 AI 이렇게 구분해서 조어를 제시하고 있기도 한데요.
이 이 에이전틱 AI라는 말은 제가 알기로 이제 앤디류 응이 처음 이제 어 좀이 약간 붐을 일으킨 약간 띄운 그런 이제 단어라고 알고 있습니다.
근데 그 저는 그 용어법에는 솔직히 전혀 동의가 안 돼요.
왜냐면은 어 AI 그니까 AI 에이전트라는 말이 너무 넓다.
사실 그 교과서적인 정의로 보면 굉장히 넓은게 맞고 그에 비해서 최근에 사람들이 AI 에이전트라고 부르는 거는 너무 어떤 스페셜한 그 이제 영역이다.
좀 구분해서 볼 필요가 있다.
이건 맞는데 그 에이 에이젠틱 A라 A라고 그걸 부르는 거는 약간 너무 그 언어적 혼란이 좀 큰 거 같아요.
왜냐면 그 용어 자체가 구별이 안 되잖아요.
그리고 이제 그 A 전틱이라고 했을 때 그 안에 어떤 더 큰 자율성이 포함이 된다던가 어 아니면은 그 여러 멀티에트들의 상호작용을 포함한다던가라고 해 했냐 하면은 그렇지 않은 거 같습니다.
왜냐면은 이제 에이전틱 AI라고 하면은 그 에이전틱 AI에서는 이게 형용사고 AI 에이전트에서는 명사의 차이가 있을 뿐인데 사실 에이전트라는게 자율적이라는 그런 이제 의미가 조금 있는데 에이전트가 수식 피수식어가 되는게 더 자율적인 느낌이 날까요? 아니면은 그게 어 수식어가 되고 AI가 AI라는 건 지능이란 뜻인데 지능이 어 피수식어가 되는게 더 자율적인 느낌이 될까요? 저는 오히려 에이전트가 식어가 되는게 또 자율적인 느낌이 드는 거 같아서 용어를 조금 잘못 선택하고 이게 또 퍼져 나가고 있는게 아닌가 하는 좀 개인적인 생각이 있습니다.
이제 좀 잡소리 잡소리였고요.
아무튼 AI 그 에이전트가 이제 그 기존에 어 LM 그리고 뭐 거기에 몇 가지 컨텍스트를 덧붙이는 그런 방식들하고 차별화 되는 것은 이제 어떤 환경 속에서 어떤 컨텍스트를 자기가 찾아갈지도 자기가 좀 능동적으로 액션을 할 수 있다라는 것이고 그 액션을 하기 위해서 어 플래닝도 할 수 있다라는 것이고 그 그런 계획들을 상태를 관리하기 위한 메모리를 가지고 있다라는 것이죠.
그런 것들을 할 때 결국에 이제 어 함수들 외부 함수들을 다 독구로서 동어를 하게 됩니다.
그래서 어 펑션 콜링 오픈 AI에서는 이제 펑션 콜링이라는 말을 쓰고 이제 랭체인에서는 뭐 툴콜링 또 저 MCP에서도 이제 툴콜링이라고 부르고 있는데요.
펑션이나 툴이나 결국 같은 말이죠.
왜냐면은 여기서 우리가 어 펑션이라고 하는 거는 LLM이 도구로 사용할 수 있는 펑션을 말하는 거고 또 툴이라는 것은 이제 펑션이니까요.
그 소프트웨어에.
그래서 이제 똑같은 말인 거 같고 이제 사용자가 뭐 날씨를 알려줘라고 하면은 모델이 그 프롬프트를 입력을 분석을 해서 이제 어떤 함수를 이제 호출하면 좋을지 그리고 그 함수에 어떤 파라미터를 넣으면 좋을지를 결정을 한 다음에 그 함수 호출을 한 하고 그 결과를 수신을 해서 이제 RH에서 썼던 것처럼 그 이제 정보와 사용자 그 유저 인풋과 이제 프롬프트를 바탕으로 해서 답변을 제시를 하게 됩니다.
그래서 LM이라는 건 결국에 텍스트를 인풋으로 받아서 텍스트를 이제 아웃풋으로내는 건데 그 텍스트라는 것에 되게 구조적인 그 이제 구조체를 부여를 해서 그걸 바탕으로 펑션 콜링이 잘 그 이어지게 만들고 한 것이죠.
그래서 유저가 어떤 어플리케이션에 프롬프트와 함께 이제 의도를 던지면은 그게 이제 어 어떤 모델에 들어가면서 그 프롬프트와 어떤 이런 함수들을 가지고 있다라는 것을 이제 같이 모델에 제공을 하게 되고 컨텍스트로서 그 모델은 이제 펑션 어떤 펑션을 부를지 어떤 함수를 이제 호출 할지 그리고 거기에 어떤 인자를들 넣을 것인지 이제 이제 결정을 하게 됩니다.
뭐 그러면은 이제 그 펑션이 이제 수행된 결과가 리스폰즈가 이제 모델로 들어가게 되고 리스폰스로 나오는 구조다.
예.
그리고 지금 이제 어 한창 화제가 되고 있는 바이브 코딩 이제 코딩 어시스턴트도 같은 방식으로 작동을 합니다.
그래서 인간이 이제 쿼리를 던지면은 처음에 아이디겠죠.
그 코딩 그 개발 환경이 이제 처음에 인터페이스로 있고 아니면 뭐 CLI가 될 수도 있고 지금 어 웹 기반 서비스 같으면은 이제 웹 화면이 되겠죠.
거기 인터페이스의 어떤 이제 지리를 던지고 그 요구 사항을 던지고 이제 LM은 그걸 바탕으로 해서 어떤 작업들을 수행을 하잖아요.
뭐 파일을 만들고 거기에 작성을 하고 삭제를 하고 이동을 하고 뭐 그다음에 어떤 명령어를 실행을 시키고 이런 것들을 하는데 이제 그 과정을 하는 것도 결국에 이제 함수 호출이라고 볼 수 있습니다.
이 이 여기에는 이제 LSP라는 이제 그 중간에 좀 프로토콜이 있는데요.
꼭 LSP를 쓴다는 것은 아니지만 이제 어이 개발 환경과 아 그니까이 개발을 하는이 언어들을 다루는 실제 만지는 쪽하고 LRM이 던질 수 있는 어떤 어 구조체 형태의 그런 그 아웃풋 사이를 이제 중계해 줄 수 있는게요 어 LSP 같은 이제 녀석들이 있습니다.
그래서 이제 어 MCP가요 이제 코딩에 있어서의 LSP 같은 역할들을 이제 MCP가 해 주는 거죠.
요거 같은 경우에는 이제 어 펑션 콜링을 이제 평가하는 이제 그 벤치마크인데요.
결국에 이제 LM이 펑션을 이제 잘 골라서 쓸 수 있다라는 것은 기본적으로는 이제 그 도구로부터 너는 이제 이런 그 도구들을 사용할 수 있어라는 이제 명세를 이제 자연으로 된 디스크립션 같은 것들을 받고 그걸 바탕으로 해서 지금 유저 퀄리 지금 이제 어 대화 문맥들을 고려를 하면은 어떤 함수를 호출하는게 좋을 거 같아라는 것을 이제 모델이 이제 그 텍스트를 기반으로 해서 결정을 하는 것인데 그 결정을 하기 위해서는 결국 구조화된 그런 형태 코드 자연어로 학습된게 원래 LM인데 그거랑 다른 형태에 이런 것들을 좀 학습을 해 줘야 되죠.
그것 자체는 이제 사실 어 파인튜닝의 과정이라고 보시면 됩니다.
그래서 처음에 자연어로 학습을 했지만 이제 이런 펑션 콜링을 잘하게 하기 위해서는이 펑션 콜링을 하는 많은 수많은 예제 같은 것들을 이제 줘 가지고 이제 학습을 시키는 것이죠.
그리고 나서 그 어느 정도 그 컴퓨터와 그 코딩할 수 있는 능력이 갖추어지고 나면은 이제 이런 걸 실행했을 때 잘 된다 안 된다 같은 것들을 바탕으로 해서 강화 학습을 또 할 수 있습니다.
예, 여기까지 뭐 되게 일반적인 얘기였고요.
그다음에 저 MCP 얘기로 조금 더 넘어가도록 하겠습니다.
그래서 이제 MCP와 AI 에이전트의 관계.
그 AI 에이전트가어요 파란색 빨간색이고요.
MCP가 지금 노란색으로 갑자기 이제 팍 Then 모습을 볼 수 있는데 기본적으로는 어 2024년 말 그 2024년 작년 하반기에이 MCP와 그 AI 에이전트의 갑자기 그 엄청난 그 웨이브가 몰아닥치고 있다라는 것을 이제 보실 수 있겠습니다.
네.
그래서 이제 MCP라는 것은 모델과 외부 도구 간의 이제 표준화된 그 소통 규약인데요.
그래서 이렇게 생겼습니다.
그 호스트가 있고요.
클라이언트가 있고 서버가 있습니다.
서버가 있는데 어 여기 호스트라고 하는 거는 그 우리가 이제 MCP 도구를 아까 클로드에서 붙여다 썼죠.
클로드에서 클로드에서요 도구들을 이제 붙여다 썼고요.
그리고요 서버 프로세스라는 거는요 클로드가 독구로 호출하는 그요 하나하나가 다 그 MCP 서버입니다.
그럼 이제 여기 연결되어 있는 방식이요 하나하나의 MCP 서버에 대응하는 이제 MCP 클라이언트가 있는 방식입니다.
그래서 이제 그 MCP 클라이언트랑 호스트는 뭐가 다르냐 이게 처음에 조금 헷갈릴 수도 있는데요.
그 DB를 조금 만져 보셨다면은 이제 DB 그 클라이언트가 있는 걸 아실 겁니다.
또 이제 뭐 API 이제 오픈 AI API 같은 거 만져 보셨으면은 그 API 모델을 호출할 때 그 코드에서 이제 그 클라이언트를 인스턴스를 생성을 하죠.
그리고 그 클라이언트를 통해서 이제 그 요청도 보내고 응답도 받고 그런 작업들을 합니다.
이제 마찬가지로 이제요 호스트 안에서 다양한 클라이언트들을 만들어 놓고선요 클라이언트를 가지고 이제 서버랑 그 통신을 하는 거고요.
예.
뭐 그런 방식이겠습니다.
근데 이제이 과정에서 연결되는 그 규격을 표준화시켜 놨다라는 것이죠.
그래서 많이들 그 사용하는 예시가요 USB 어댑터의 예시고요.
그래서요 노트북이 그 MCP 호스트고요 노트북에 꽂혀 있는요 포트가 그래서 그 요새는 그 USB 규격도 C 타입으로 지금 통일이 좀 되고 있죠.
근데 안 그랬을 때는 그 이제 지금도 옛날 잭들이 남아 있어서 되게 불편하게 하잖아요.
통일을 시켜 놔야지 어 다른 제품들을 만드는 회사들은 어 우리가 안드로이드 용으로 많이 찍어야 될까? 아이폰 용어로 많이 찍어야 될까 그런 고민을 하지 않고 이제 C 타입으로 그 액세서리를 많이 찍어낼 수 있다.
그런게 이제 MCP의 개념이 되겠습니다.
그래서 뭐 툴콜링이라는 거 자체는 이제 에이전트를 하는데 있어서 너무 이제 중요한 개념이고 그래서 주요 그 에이전트를 만드는 그런 이제 도구들은 비슷한 인터페이스들을 다 만들어 놨습니다.
예.
그래서 랭체인에서도 이제 랭체인 툴콜링 뭐 이렇게 있고요.
근데이 툴 인티그레이션을 위해서 이제 각자 그 만들어 놓은 구체적인 그 방식들 그 이제 뭐 때면 파이썬 그 이제 클라이언트가 됐다면 이제 파이썬에서 그 독자적인 규격이 있을 거고 그 안에 들어가 있는 온갖 객체들과 또 그 저 수준으로 실제 통신할 때 그 규격들 이런 것들은 다 다른 건데 이제 MCP라는게 들어오면은 그게 그 규격이 똑같아지니까 이제 아이폰 용쟁 뭐 이제 삼성용 잭 이런게 아니라 다 똑같은 USB C로 이제 통일이 되는 거죠.
그러면은 이제 휴대형 휴대폰 액세서리 만드는 그 조그만 그 회사들이 다 액세서리를 만들 수 있다 이겁니다.
자, 그래서 뭐 이게 어떻게 보면은 어이 어떤 도구가 붙는다라는 부분을 추상어한 거라고 볼 수도 있고요.
그래서 호스트를 만드는 쪽에서는 그런 통합 같은 걸 신경 쓰지 않고 그런 도구들이 뭐가 들어오든지 잘 붙을 수 있는 호스트를 만들어야겠다라고 생각을 하면서 호스트를 만들면 되는 것이고 그러니까 그 클로드나 아니면 커서 같은 서비스를 만드는 쪽에서요.
그리고 이제 거기다 붙일 수 있는 다양한 도구를 만드는 입장에서는 어 이거를 어떻게 하면은 이제 그 잘 붙여 가지고 돌아가게 할 수 있을까라는 고민보다는 그냥 이제 자기 도구들을 잘 마련해 놓고선 명세서만 잘 붙여 놓으면은 이제 알아서 그 도구로 그 공급이 될 수 있게 어 할 수 있다는 것이죠.
뭐 근데 MCP가 뭐 다 맞는 건 아니고요.
사실 아까 그 워크플로우 같은 경우에도 이제 MCP를 사용하라는 거보다는 이제 정형화되어 있으니까 그 돌아가는게 거기서 이제 직접 API를 꽂아 쓰는게 나을 수도 있고 별로 이제 사용하는 도구가 많지 않으면은 이제 그냥 그 API를 짜는게 낫습니다.
그리고 이제 내가 뭐 하나의 프레임워만 쓴다라고 하면은 그 프레임웍 안에서 그 제공하는 그 이제 툴콜링을 위한 그 기능들을 또 사용하는게 예, 나을 수도 있고요.
뭐 어쨌든 이제 MCP라는 것이 이제 그 서드 파티가 많이 들어올 수 있게 해주고 그리고 다양한 어쨌든 뭐 서로 완전히 서로 다른 길을 갈 건 아니니까 공통된 그 규격을 만들었으면 좋겠다라고 하는 그런 건 있으니까 거기에 어떤 생태계를 조성하는데 굉장히 중요한 계기가 되고 있다.
이 정도인 거 같습니다.
예.
그래서 개발자 입장에서는 MCP라는게 한번 MCP 서버를 만들어 놓으면은 어떤 호스트가 됐든지 내가 커서 용어로 따로 만들고 이제 클러드 용어로 따로 만들고 그렇게 하지 않아도 된다라는 것이고요.
그리고 이제 사용자 입장에서는 이제 MCP라는 걸 일종에 앱스토어처럼 사용을 할 수 있다라는 것이죠.
그니까 GPT도 GPTS라고 있지만 그거는 이제 어 API를 자기가 이제 그 공급자 입장에서 붙여 가지고 서비스를 해 줘야 되는 건데 그걸 이제 사용자들 입장에서 쉽게 그 설치를 할 수가 없다면은 어 조금 좀 쓰기가 어렵겠죠.
그래서 딱 그냥 정해져 있는 것들만 쓰는 거니까 이제 어 사용자들이 많이 접근하기 어려워하는 거 같기도 하고요.
근데 이제 사용 이제 그 스미더리 같은 그 사이트가 있습니다.
이런 사이트에 들어가면은요 MCP를 설치하기 쉽게 [음악] 그뭐 예를 들면 클로드 데스쿠터이다 하면은요 부분을 이제 복사를 해 가셔서 이제 터미널에서 실행을 하면은 설치가 되고요.
뭐 커세에서 한다라고 하면은 뭐 이런 식으로요 부분을 카피를 해 가셔 가지고 터미널에서 실행을 하면은 이제 확장에서 설치를 할 수 있습니다.
근데 저는 약간 스미더리를 가지고 하면은 약간 좀 안 될 때도 많아 가지고 스미더리보다는 이제 공식 그 보통 이제 기터브에 들어가서 기타브에 들어가면 보통요 컨피그요 제이슨이 있어요.
이렇게 제이슨이라는게 이렇게 중괄호가 이렇게 둘러쳐져 있는 요런 형태로 되 있는 그 데이터인데요.
요거를 보통 이제 긁어 가서 주로 설치를 합니다.
아무튼 이게 그렇게 어렵지 않고 요것만 이제 넣으면 되는 거니까.
그럼 이제 그 확장 그을 설치하듯이 때 VS 코드에서 뭐 확장을 설치할 때 그냥 그 익스텐션을 눌러 가지고 설치를 하죠.
그런 느낌으로 이제 설치를 할 수 있으니까 이제 굉장히 뭐 편리한 측면이 있다.
예.
그래서 MCP의 스펙에 대해서 조금 더 들어가 보도록 하겠습니다.
자, 아까 그 호스트가 있고 클라이언트가 있고 서버가 있다라고 말씀을 드렸는데요.
그래서요 어플리케이션 호스트 프로세스라고 이제 떠 있는 요게 하나의 그 서비스고 하나의 그 어플리케이션이라고 보면 됩니다.
그래서 클로드라는 어플리케이션이 이렇게 있으면은요 클라이언트들은 이제 여러 가지 툴이 붙을 수 있고요 클라이언트들을 어떤 MCP가 들어오든지 여기 붙을 수 있도록 그 추상화된 그 이제 MCP 클라이언트를 만들어 놓고요 인스턴스들을 찍어내면 얘네들이 이제 다양한 MCP 서버들이랑 1일대일로 붙는 방식으로 되어 있고요.
그리고이 MCP 서버라는 거는 인터넷에 올라가 있는 리모트 방식이 있고 그리고 사용자 컴퓨터에서 돌아가는 로컬 방식이 있습니다.
그래서 리모트 방식 같은 경우에는 HTTP로 통신을 하는 거고요.
그리고 그 로컬 머신에 떠 있는 경우에는 어 S 스탠더드 뭐 인풋 아웃풋으로 이제 통신을 하게 됩니다.
그리고 이제 그 통신을 할 때 주고받는 데이터는 제이슨 IPC라는 이제 제이슨 규격으로 주주고받도록 되어 있고요.
그래서 MCP의 설계 사상 같은게 이제 나와 있습니다.
그 MCP 그 문서에 가면은 그래서 예, 서버는 쉽게 만들 수 있어야 된다.
그래서 그 패스트 MCP를 사용해서 굉장히 어 쉽게 만들 수 있도록 되어 있고요.
그리고 이제 서버들은 독립적으로 동작을 하면서 이제 클로드 클로드 데스크톱 같은 이제 그 호스트에서 쉽게 껐다 꼈다 하면서 조합이 될 수 있어야 된다.
그리고 이제 서버는 자기가 받은 요청만 처리를 하는 거지.
그 호스트의 대화 같은 걸 뭐 이렇게 입력으로 받지 않는다.
최소한의 정보를 참조를 한다.
뭐 이런 식의 이제 사고 방식을 가지고 만들어졌습니다.
그래서 호스트 클라이언트 서버 이렇게 있고 호스트가 이제 클로드 데스크톱 커서 뭐 이런 이런 거고요.
얘가 이제 다양한 클라이언 클라이언트 인스턴스들을 생성하고 관리를 합니다.
그래서 어 클라이언트를 하나 잡아 가지고 걔랑 이제 커서 예 그 MCP 서버랑 붙여 가지고 거기 이제 통신을 하고 일이 다 끝나면은 이제 클라이언트를 이제 어 끝내는 거죠.
그럼 이제 연결되어 있는 그 서버도 죽는 거고요.
클라이언트는 이렇게 호스트가 그 클라이언트 인스턴스를 만들어 놓고선 이제 이걸 가지고 이제 서버에 뭔가 요청을 보내거나 할 때 이걸 중기해 주는 일종에 그 통역사 같은 역할을 합니다.
그래서 어 아까 뭐 클로드로 포스트 그레스에 이제 요청을 보냈던 예시를 생각을 해 보시면은 이제 원래 그 포스트 그레스 아쪽부터 얘기를 하면은 이제 지금 DB에 어떠한 그 테이블들이 있는지 알아봐라고 얘기를 했잖아요.
그럼 이제 [음악] 그요 LLM이 그걸 바탕으로 해서 사고를 하고 이제 이런 기능들을 호출하면 좋겠다라고 생각을 해서 어 테이블을 조회하는 이제 뭐 솔렉트 쿼리를 날리고 그러면은 그거를 이제 그 클라이언트가 미리 약속해 놓은 대로 그 제이슨 IPC 규격에 맞게 그 맞춰서 그 전송을 합니다.
그럼 이제 그걸 바탕으로 해서 이제 서버에서 이제 그 포스트 그레스로 그 명령이 들어가는 거죠.
이제 그런 방식으로 클라이언트는 작동을 하고 서버 같은 경우에는 이제 실제 뭐 그런 웹 검색 조회 뭐 슬링 연동, 기상청, API 연동 뭐 이런 어 일들을 자기가 하나 맡아서 할 수 있는 이제 그 기능을 합니다.
그래서 여기 보다 보면 이제요 제이슨 RPC라는게 나오는데요.
IPC라는게 뭐냐고 하면은 이제 리모트 프로시저 콜이라는 이제 뜻입니다.
그래서 뭐 되게 옛날부터 있었던 그 사고 방식인데요.
이제 그이 하나의 그 프로젝트 안에서이 안에 있는 그 모듈을 호출하는 거 뭐 자바 프로그램면 이제 자바 모듈을 이제 호출해서 그 안에 있는 그 메소드를 꺼내서 쓴다든지 파이썬 프로 파이썬 프로젝트면은 그 안에서 이제 파이썬 모듈을 이제 임포트를 해서 사용을 하는 건 되게 어 자연스럽잖아요.
그런데 이제 다른 언어 그리고 어 다른 그 곳에 다른 서버에 떠 있는 그런 이제 함수를 마치 이제 내 컴퓨터에 있는 것처럼 그 내 컴퓨터에 떠 있는 그 이제 어플리케이션에서 어떻게 불러다 쓸 수 있을까 이제 그래서 그 규격을 어떻게 맞출지 고민하면서 나온게 이제 IPC고요.
어, IPC라는 거에 있어서 이제 몇 가지 또 파생돼서 나온 것이 뭐 구글에서 만든 이제 GRPC 같은 것이 있죠.
그래서 GRPC 같으면은 이제 요새 그 MSA로 이제 다양한 서비스를 띄어 놓고선 이제 그 서로 그 하나의 그 서비스처럼 그 함수를 호출하고 할 때 이제 GRPC를 많이 쓰는데요.
이제 GRPC는 조금 어 속도가 빠르긴 한데 좀 장벽이 많이 높습니다.
그래서 이제 어 그런 거 말고 그냥 제이슨으로 어 소통을 하자라는 정도의 규칙을 정해 놓은게 제이슨 IPC고요.
그 클로드 같은 경우에도 이제 제이슨 IPC 규격을 사용을 하고 있습니다.
그다음에 실제로 그러면은 이거를 호스트를 만약에 개발하려고 하면 어떤 식으로 개발을 해야 되느냐라고 하면은 그 뭐 클로 뭐 이제 여기 MCP 규격에 나온 대로 어 바닥에서 구현을 할 수도 있고요.
만약에 내가 뭐 랭그래프를 사용을 한다라고 하면은 이제 랭그래프의 그요 MCP 파이썬 클라이언트를 중계시켜 주는 그 어댑터가 있습니다.
그래서 그 어댑터를 가지고 이제 개발을 하면은 조금 빨리 이제 할 수가 있는 것이죠.
그래서 요청 흐름을 간단하게 좀 보여 드리자면은 사용자가 최신 AI 뉴스약해서 슬래그로 보내죠.
뭐 이런 이제 그 자연으로 이제 요청을 보냈어요.
그러면은 그 호스트는 웹 검색하고 슬랙 메시지로 보내야겠다.
이렇게 기획을 해요.
그다음에 호스트가 클라이언트한테 명령을 합니다.
서버원에게 웹 검색이 요청해죠.
그럼 이제 클라이언트가 이제 서버원한테 이제 그 웹을 해 달라고 그 제이슨 형태에 메시지를 보냅니다.
그래서 제이슨 RPC 어 2.
0 아이디는 원 뭐 메소드는 뭐 뭐 뭐 뭐이 그다음에 파라미터는 네임은 웹서치 웹서치라는 그 함수를 호출할 거고 그다음에 거기에 들어가는 그 인수로 어규먼츠로 이제 퀄리라는 거를 넣을 거고 이제 최신 AI 뉴스라고는 이제 넣을 거야.
뭐 이런 식으로 어 함수를 호출하는 것과 비슷하게 집어넣습니다.
그럼 이제이 인자들이 함수면과 인자를 받은 MCP 서버에서는 그걸 바탕으로 해서 그 프로시저를 동작을 시키고 그 결과값을 이제 다시 전송을 하게 됩니다.
그래서 뭐 리트는 뭐 콘텐츠는 뭐뭐 어쩌고 저쩌고 하면서 이제 보내게 되고요.
그러면 이제 그 받은 내용을 클라이언트가 이제 다시 호스트한테 전달을 해야죠.
그럼 이제 호스트가 그 받은 결과를 바탕으로 해서 슬랙 메시지를 작성을 하고 아 그러면이 이번에는 이제 어 서버 2인데 이제 오타를 냈네요.
서버 2한테이 메시지를 슬랙으로 보내 줘.
뭐 이렇게 어 보내 달라고 이제 두 번째 클라이언트한테 시키게 됩니다.
이제 두 번째 클라이언트는 어 슬랙 그 서버한 슬랙 MCP한테 메시지를 보내는 거죠.
예.
그래서 잘 보냈어라고 이제 응답을 주면은 이제 이거를 이제 호스트한테 이제 보고를 하고 호스트는 이제 사용자한테 슬랙로 메시지 보냈습니다.
성공적으로 보냈습니다.
이렇게 메시지를 보내는 이제 흐름이 되겠습니다.
이제 로컬이 있고 이제 리모트가 있다라고 했는데요.
자, 로컬 같은 경우에는 이제 어 스탠더드 인풋 아웃풋을 가지고 이제 통신을 하고 이제 리모트 같은 경우에는 HTTP로 통신을 합니다.
그래서 제가 되게 궁금했던 것 중에 하나가 그 MCP가 언제 떠 있는 건가 이게 너무 궁금하더라고요.
MCP를 이렇게 어 클로드에 지금 등록을 해 놓잖아요.
그러면은 처음에 껐다 켜면은 이제 막 이게 그 처음에 잘 안 되는 거 갖다가 막 켜지고 막 합니다.
커서도 보시면은 커서에 그 오른쪽 위쪽에 톱니 바퀴 누르시고 커서 세팅에 내려가서 MCP 들어가시면은 여기 애드뉴 글로벌 MCP 서버라고 있습니다.
여기에다가 이제 그이 아까 공식 기터브 같은데 있다고 했습니다.
그 제이슨을 이제 찾아 가지고 넣어요.
그리고 이제 닫으면은 새로운 걸 추가를 하면은 요에 이제 처음에 노란색으로 뜨다가 파란색으로 뜨면은 이제이 도구를 사용을 할 수가 있습니다.
뭐 지금 컨텍스트 세븐 요거 하나만 이제 해 놨는데 이럴 테면은 이제 컨텍스트으로 랭체인 내용법 검색해서 뭐 이런 이제 요청을 보내면은 얘가 이제이 요청을 분석을 하고 아 컨텍스트 그 사용해야겠다라고 이제 생각을 하고 이제 클라이언트를 하나 열어 가지고요 컨텍스트 7 MCP 서버에 붙여서이 요청을 보내는 거죠.
그래서 랭체인이란 라이브러리 이름이 어 들어 있는 뭔 그 이제 라이브러리 아이디가 있는지 요청을 하고 그러니까 리트가블 라이브러리래요.
그래서 라이브러리 아이디는 컨텍스트 컴패티브 뭐 이러면서 이제 나왔고 아 있습니다 하면서 그 높은 실뢰도 검색을 가지고 있어 가장 적합니다 하면서 이제 검색을 또 하하고 있습니다.
자 그래서 이제 답변을 제공을 하고 있는데요.
이제 그러면은 여기서 궁금해지는 포인트는 그건 거죠.
대체 무슨 일이 일어나는 거지?이 MCP를 제이슨에다가 넣어 놓고 껐는데 그 사이에 그 무슨 일이 일어나는 걸까? 요거 리프레시 하면 무슨 일이 일어나는 거고 여기 가끔 빨간색이 되고 죽고 하는 건 왜 그런 걸까? 이제 그게 궁금해지는데요.
그래서 어 그 이런 이제 MCP 그 컨피그 파일에 커맨드라고 해서 여기가 이제 MPX 되어 있고 아르그스 이렇게 되어 있는 어 다 이제 로컬에서 돌아가는 이제 어 로컬 MCP라고 보시면 되는데요.
시피 서버 그건 이제 사실상 그냥 스크립트입니다.
로컬에 있는 그러니까 만약에 실행기가 파이썬이다.
그리고 이제 그 파이썬이 실행시킬 그 이제 위치가 뭐 땡땡땡점 뭐 서버.
파이다라고 파이다라고 하면은 그냥 그 파일을 실행을 시키는 겁니다.
그래서 어 클라이언트가 그 서브 프로세스로 막 이제 터미널에서 그 프로세스를 여는 것처럼 그 프로세스를 띄우고요.
거기다가 이제이 그 여기 보시면은 호출할 때 들어간 인자들 있죠? 호출할 때 들어간 요런 인자들을 이제 호스트가 자기가 띄어놓은 그 프로세스 안에 집어넣는 겁니다.
그래서 어 끝나면은 이제 그 프로세스를 닫는 거고요.
그러니까 그 메시지가 처리되는 동안 떠 있는 거죠.
그 프로세스는.
그래서 이제 이름이 MCP 서버니까 마치 그 뭐 이제 그런 웹서버처럼 계속 떠 있으면서 응답을 막 어 주기 위해서 리스닝을 하고 있고 뭐 그럴 것처럼 생각이 되기도 하는데 그게 아니고요.
그 HTP 모드는 그런 식으로 작동하는게 맞습니다.
그 로컬에 띄어 놓더라도 그렇게 HTP로 띄어 놓고 리모트로 이제 그 통신을 하게 설정을 할 수도 있는데 근데 이제 보통 이제 우리가 그 다운받아 가지고 이제 컨피그 파일에 집어넣는 것들은 보통 로컬인데 그런 것들은 그냥 로컬에 있는 이제 그 스크립트다라고 보시면 됩니다.
그래서 MCP 클라이언트가 서브 프로세스를 하나 잡고 거기에 이제 어 그 스탠더드인 아웃 이게 원래 이제 뭐 키보드 입력 아니면은 저 모니터 출력 이런 거를 이제 주고 받을 때 쓰는 그 통로인데요.
거기로 이제 메시지를 제이슨 메시지를 보냈다 받았다 하는 식으로 이제 통신을 하게 됩니다.
그리고 이제 어 보낼 때는 그런 식으로 보냈는데 받을 때는 또 그 서버 사이드 아 서버센트 이벤트 SSE 방식을 또 사용을 합니다.
근데 이게 최근에 그 3월 26일에 또 업데이트가 돼서요.
스트림머블 HTP라는 방식을 사용하고 있다고 얘기를 하고 있습니다.
이게 뭐가 다르냐 하면은 뭐 거의 비슷한데요.
거의 비슷하지만 약간의 그 연결의 안전성이라든지 죽었을 때 뭐 다시 재연결한다든지 뭐 그런 것들을 조금 더 그 보강한 프로토콜인 거 같습니다.
그래서 뭐 일반적인 그 서버 사이드 아 서버센트 이벤트 같은 경우에는 처음에 클라이언트가 이제 그 포트를 열어 놓으면은 거기로 이제 계속 그 HTP 메시지를 일방적으로 서버에서 쏘는 방식이죠.
근데 그러면은 서로 뭐 지금 잘하고 있어, 잘 받고 있어, 왔다 갔다를 할 수가 없으니까.
그래서어요 스트림어블 HTP는 어 처음부터 좀 중간중간에 그런 그 체크를 할 수 있는 양방향으로 서버에서 먼저 요청을 클라이언트 쪽으로 보낼 수도 있는 이제 그런 규격을 좀 어 만들어 놓은 거라고 보실 수 있겠습니다.
그래서 처음에 어떤 일이 일어나느냐? 아 그 컨피그 파일을 이제 만들고 닫았을 때 어떤 일이 일어나느냐라고 하면은 그 이니셜라이제이션 과정이 있는데요.
그래서 어 호스트가 클라이언트를 어이 초기화하고 클라이언트 인스턴스를 만듭니다.
그리고 클라이언트가 서버랑 연결이 돼요.
그리고 서버랑 세션을 시작을 하고 자기가 어 지원하는 기능에 대해서 알려 주세요.
자기 소개해 주세요라고 이제 서버한테 어 요청을 보냅니다.
그러면 서버는 아 저는 그 여러 가지 그 라이브러리들의 그 공식 문서를 가지고 있는 컨텍스트세이라는 그 MCP입니다.
그 저는 뭐 이런 이런 함수들을 가지고 있어요라고 자기 소개사를 보내요.
그러면은 이제 그걸 바탕으로 해서 아 그럼 우리 앞으로 어 공식 문서 찾을 일이 있으면은 그 당신한테 물어볼게요.
이런 식으로 이제 약속을 하고요.
그럼 이제 클라이언트가 호스트한테 가서 아, 공식문서 많이 가지고 있는 컨텍스 7이라는 친구가 있대요라고 이제 알려 줍니다.
그러면은 이제 그 세션이 그 활성화되면은 이제 그 LM이 아 저 그 호스트죠.
호스트가 이제 이런 것들을 오케스트레이션을 하면서 아 저 그 컨텍스트세이랑 알고 있는 그 클라이언트 친구한테요 메시지 좀 보내 달라고 해야겠다.
그 뭐 스프링 문서 좀 찾아오라고 해야겠다라고 하면 이제 그 클라이언트가 이제 컨텍스트세한테 가서 그 스프링 문서 찾으세요라고 이제 메시지를 보내고 이런 식으로 이제 이루어지는 거죠.
그리고 중간중간에 아까 말씀드렸던 것처럼 역방향 요청 보통은 이제 서버라는게 있으면은 이제 클라이언트에서 서버에 요청을 보내고 응답을 받잖아요.
근데 이제 어 MCP 아니면 이제 I 그 IPC에서는 또 좀 더 일반적으로 그 서버에서도 이쪽으로 그 요청을 보낼 수 있습니다.
그래서 어이 파일 수정 그러니까 테면은 그 이제 호스트가 클라이언트를 통해서 어 파일을 요청하는 그런요 그 명령을 보냈다고 해 봐요.
이 툴한테.
근데 이제 역으로 질문을 할 수 있다라는 거예요.
보통은 이제 툴은 그냥 툴이니까 자기 의사 없이 그냥 시키는 대로 까라면 까는 그런 건데 이제 역으로 아 이거 진짜 맞아요.
그런 검증 로직이 있어요.
만약에 그런 그 MCP 서버에 그러면은 이게 진짜 맞아요라고 역으로 한번 물어볼 수 있다라는 거예요.
예.
그다음에 어 저 근데 너무 심한 시간이 너무 많이 걸려서 못 하겠어요라고 막 말을 중간에 하고 싶을 수도 있잖아요.
시켰는데 그러면은 그런 상태 변화에 대해서도 통지를 할 수 있다라는 거예요.
왜냐면 양 방향이니까.
그리고 이제 종료될 때는 이제 호스트가 클라이언트의 세션을 종료를 시키는 거고 클라이언트가 그 연결된 서버한테도 아 이제 저희 그 빠이빠이 합시다라고 이제 얘기를 합니다.
그럼 이제 어 로컬에서 떠 있는 MCP 서버라면은 그 프로세스가 이제 그때 죽는 거고요.
HTTP 모드로 떠 있는 거라면은 이제 계속 이제 리스닝을 하면서 예 다른 또 요청이 들어오는 걸 이제 기다리고 있겠죠.
예.
이런 식으로 이제 되어 있습니다.
그래서 어 뭐 이걸 바탕으로 해서 또 개발을 하실 때는 이제 이런 그 자료들 또 참고를 하시면 좋을 거 같은데요.
제가 PDF 파일을 이제 어 올려 드릴테니까 이제 참고를 해 주시면 될 거 같습니다.
그래서 어 오픈 오피셜 그 파이썬 SDK가 있고요.
이제 이쪽은 이제 호스트 개발할 때나 조금 필요하겠죠.
이제 호스트를 개발할 일은 많지 않겠지만.
근데 이제 제가 오전에 그 커서를 가지고 막 호스트를 조금 짜 보려고 막 좀 해 봤었는데 호스트를 한번 짜 보는 걸 추천을 드립니다.
호스트를 짜면은 이제 MCP가 어떻게 돌아가는구나 좀 어 이해가 또 잘 되는 측면이 있고요.
그리고 이제 서버 개발하는 거는 좀 더 쉽죠.
서버 개발할 때는요 패스트 MCP라는 걸 이제 사용을 하시면은 좀 쉽습니다.
그래서 뭐 문서들에 그 사용하는 방식들도 잘 나와 있기 때문에 어디 유튜브가 너무 많아요.
요새 강의가 너무 많아요.
강의 보지 마시고 공식 문서 요거 보고 따라하시는게 낫습니다.
그래서 패스트 MCP 임포트 패스트 MCP 하고 이제 이거는 데모라는 이름의 MCP 써야 딱 해 주고 그다음에 mcp.
2를 붙여 가지고 어이 도구를 아 이제 그 호스트한테 제공할 수 있는 도구로서 여기 이제 선언을 해 두는 겁니다.
그다음에이 안에 이렇게 땡땡땡 땡땡 해 가지고 문자열이 들어가죠.
이거는 이제 그 프로그램이 동작하는 데는 아무 영향이 안 미치지만 이게 독 스트링이라 그래 가지고 이제 이거를 그 LSP 그니까 그 이런 아이디라든지 아니면은 어 패스요 MCP와 관련된 지금요 구현체들 같은 경우에는요 독 스트링을 다 먹습니다.
요것들을 다 알아봅니다.
그래서 요걸 바탕으로 해서 이제 이니셜라이제이션 과정이 이루어지고 그래서 호스트에 이런 도구가 있다.
어 애드투 넘버 해 주는 어 이제 더 덧셈 해 주는 그런 도구래요라고 이제 알려 주는 겁니다.
이제 그런 식으로 등록이 돼 있으면은 나중에 이제 LM이 판단을 해서 아 덧셈 아 지금 덧셈할 거니까 얘 한번 써 볼까라고 해서 호출을 할 수도 있게 되는 거죠.
이제 만약에 정말 이거를 꼭 쓰기 하고 싶어요.
그러니까 덧셈하는 그 도구하고 등록해 놨는데 이제 어 호스트가 선택을 안 할 수도 있겠죠.
자율적인 에이전트니까.
뭐 그런 거를 이제 프롬프트로 제어를 하면서 이제 동작 같은 것들을 이제 어 유도해야 되는 거 같습니다.
그리고 이제 랭체인 MCP 어댑터는 아까 이제 소개를 드렸는데 이제 지금 뭐랑 이제 랑그래프를 에이전트 만들 때 또 많이 쓰고 있기 때문에랑 그래프에도 이제 호환이 되는 어댑터입니다.
그래서 이제요 랭체인 MCP 어댑터를 사용을 하면은 예 그 아까 그 예 클라이언트 같은 걸 만들 때 좀 편리하게 그래도 구현을 할 수가 있습니다.
그요 어댑터를 바탕으로 해서 그래서 뭐 랭프롬 랭체인 mcp어댑터.
툴즈에서 툴즈에서 임포트로드 MCP 툴즈 같은 걸 이제 사용을 해서 이제 구현을 할 수가 있고요.
그러니까 호스트는 만들기가 조금 어려운게 아까 말씀드렸던 이제 클라이언트 생명 주기 클라이언트 생명 주기가 서버 생명 주기랑 연결이 돼 있다고 했는데 그런 것들을 다 호스트가 관리를 해 줘야 되는 책임이 있습니다.
예.
그래서 조금 까다롭지만 이제 좀 재밌는 거 같습니다.
그다음에 허깅 페이스에서 만들어 놓은 어,요 튜토리얼도 요새 되게 괜찮은 자료인데요.
뭐 4주 동안 하라고 막 추천을 하고 있습니다.
근데 제가 봤을 때는 약간 조금 좀 안정확하게 느껴지는 느낌도 있었어요.
아까 이럴 테면은 요런 거요.
요 모델이 있고 다양한 툴들이 있 있는데 모델들이 또 여러게 있고 툴들이 여러 개가 있으면은 이게 다돼다 관계가 돼서 너무 복잡해진다.
그래서 MCP로 한 번에 쭉 모아 놓으면 편하다라고 하는데 근데요 모델이라는 걸 이제 그 저 어플리케이션들로 생각하면은 뭐 말이 되는 거 같습니다.
근데 이제 그 이제 모델이라는 걸 진짜 LM으로 생각을 하면은 그 이거는 좀 말이 안 되는 거 같고요.
근데 이제 MCP에서 모델이라 MCP라는게 모델 컨텍스트 프로토콜의 약자잖아요.
이때의 모델은 그러니까 어떤 A 이제 오픈 AI 모델을 거야, 재미나이 모델을 거야이 얘기가 아니라 그 어떤 LRM 혹은 에이전트이 호스트를 이제 약간 모델이라는 이름으로 부르는 개념이다.
약간 그렇게 생각을 하는게 맞는 거 같습니다.
어떤 모델을 그니까 LLM 모델을 어떤 걸 쓸 거냐 하는 거는 그 API를 공급하는 쪽에서 이제 추상화 계층을 하나 껴 가지고 그쪽에서 해결할 문제죠.
그다음에요 튜토리얼도 재밌는데요.
또 A2A랑 같이 한 번에 또 같이 그 MCP를 붙여 가지고 돌아볼 수 있는 튜토리얼이라서 요것도 이제 관심이 있으시면 한 두시간 정도 쭉 따라가면서 해 보시는 걸 또 추천드립니다.
여기까지 MCP에 대해서 MCP가 밝히고 있는 본인의 정체에 대해서 대강 이제 설명을들은 거 같고 같이 이제 봤고요.
이제 적용 실습 몇 가지 제가 더 뭐 준비했던게 있는데 같이 보도록 하겠습니다.
이제 MCP 호스트는 지금 제일 많이 쓰는 건 결국에 이제 클로드랑 커서예요.
그래서 어 둘을 쓰시는게 좋고요.
어, 커서 같은 경우에는 커서에 MCP를 붙여서 지금 확장 기능으로 사용을 할 수가 있습니다.
제가 아까 그 컨텍스트 사용하는 걸 보여 드렸는데 이제 어 개발을 하다가 막혔을 때 어 여러 가지 이유가 있을 수 있겠지만 한 가지 이유는 뭐 버전 충돌로 인한 문제 그리고 뭐 그 API가 조금 그 이제 버전이 과거 버전이어 가지고 지금 그 모델은 LM은 주로 최신 버전 완전 최신 버전은 똥 모르고 그다음에 아주 옛날 버전은 도 잘 모르는 그런 상태로 이제 학습이 되어 있는데 옛날에 어떤 특정한 버전의 그런 이제 API를 맞춰 가지고 개발하려고 할 때요 컨텍스트을 이용해서 어 랭 이럴 테면은 링체인 0.
1%이 1% 버전이 특징 뭐 이런 식으로 이제 지문을 하고 뭐 이런 것들을 바탕으로 해서 다시 이제 그 작업을 할 때 컨텍스트로 던져서 하면은 어 디버그 하는데도 상당히 좀 도움이 됩니다.
그리고 어 지금 제가 요거 세팅하는 거 알려 드린다고 다 지어 놨는데 일단 뭐 시퀀셜 think킹 이런 것도 이제 도움이 좀 될 수 있습니다.
음 음.
그러면 요런 걸 추가를 할 때이 줄을 잘 맞춰 가지고 어 이거 요거 괄호만 맞으면 되긴 하는데요.
예.
이렇게 넣어 놓고 저장하고 끄시면은 처음에 이게 주황색인지 노란색인지 뜹니다.
금색인지.
그 기다리면은 파란색으로 떴죠.
이 과정이 뭐라고 했죠, 아까? 예, 이게 이니셜라이제이션 과정이고요.
이 과정에서 일어나는 일이 뭐냐 하면은 여기에 있는 MCP 서버 그가 자기가 가지고 있는 그 등록되어 있는 그 툴들 목록을 지금이 MCP 호스트 MCP 호스트는 지금 커서죠.
커서한테 커 정확히는이 커서의 그 에이전트죠.
커서 에이전트한테 지금 알려 준 거고 이제 이걸 바탕으로 해서 이제 이니셜 라이제이션 과정이 끝난 겁니다.
그러면 이제이 그 에이전트는 어 이런 도구들을 내가 사용할 수 있어라는 거를 이제 확인할 수가 있는데요.
한번 확인해 보겠습니다.
[음악] qu셜 thinking mcp 여기 기본적으로 툴이 뜨긴 하는데요.
근데 이거 이름만 봐서 뭔지 모르잖아요.
그럼 이제 물어보는 겁니다.
직접 그 에이전트한테.
그래서 어 뭐 이렇게 타고 하네요.
아, 이걸 원한 건 아닌데.
뭔가 지금 프로젝트 파일들을 다 뒤지고 있네요.
아,요 뭐 그냥 지금 나온 김에 시퀀셜 think킹 소개를 드리자면은 이거 꺼리고 시퀀셜 링킹에 [음악] 사용해서음 현재 프로젝트에 현재과 어 리팩터링 방향에 네.
음.
제한해 줘.
예.
시퀀셜 think킹 MCP를 지금 호출하고 있고요.
이것도 뭐 사실 그렇게 대단한 거라기보다 약간 장난감 같은 MCP인데요.
어 LM이 판단을 했을 때이 질문에 몇 번 정도의 스텝을 타서 생각을 하면 좋을지 이제 어 판단을 해서 지금 여기 인수 8이라고 이제 넣은 거고요.
그다음에 또 현재 MCP 테스트 프로젝트 구조를 분석해 보겠습니다.
프로젝트를 에이아웃스 보면 자기가 이제 파악한 그 정보 같은 것들을 이제 자기가 입력을 넣는 거죠.
그럼 이제 어 MCP툴이 강제적으로 여덟 번 호출하면서 사고를 좀 정리하도록 지금 이제 하는 거죠.
그래서 어 토탈 히스토리 뭐 랭스 뭐 이런 식으로 나오고 넥스트 need드루 나오고 뭐이 사고 과정이 다 끝나면은 이게 폴즈로 나오고 사고가 끝났다.
그다음에 그러면 이제 그동안 사고를 한 걸 바탕으로 해서 어 이렇게 결론을 좀 도출하겠죠.
사실 이거이 시커딩킹은 그냥 어 잔구 느낌입니다.
왜냐면은 프롬프트로도 충분히 해결할 수 있는 부분이기 때문에 그리고 이제 스미더리에 들어가면 이제 인기 있는 도구들을 많이 볼 수가 있는데 제가 아까 말씀드렸던 컨텍스트 또 엑사 서치 같은 경우에는 이제 검색 엔진이고요.
근데 개인적으로 검색 엔진은 그니까이 검색 엔진 붙이는 서비스 만들 때는 이제 요거를 이제 MCP로 붙이면은 조금 어 이제 좋을 수 있겠지만 지금 클로드는 클로드는 이제 지금까지 이제 검색 엔진이 없어 가지고 그 저기 있지만 이제 클로드도 검색 엔진을 통합을 시켰죠.
그리고 이제 커서도 검색 엔진이 있고 그래 가지고 이제 검색 엔진 계열은 이제 많이 쓸모가 있는 거 같진 않고요.
요 메모리 계열도 좀 인기가 있습니다.
그래서 그동안 작업했던 내용들을 이제 그 메모리에 이제 뭐 명시적으로 메모를 남겨 놓고 아까 제가 보여 드렸던 아까 잘 안 되긴 했는데 옵시디언 같은 경우에도 그런 기열이 되겠죠.
지금 어 같이 작업했던 것들을 이제 옵시디언의 그 이제 뭐 저장을 해 줘.
뭐 최대한 자세하게 해 줘.
뭐 이런 식으로 하면 이제 잘 작성을 해 주고요.
뭐 딥 리서치 뭐 태빌리 MCP 같은 경우에는 웹 검색인데 좀 더 LM한테 좀 친화적인 웹 검색이라고 합니다.
그다음에 깃 관련 도구들도 굉장히 그 많이 인기가 있고요.
그리고 이제 이런 종류의 레포지토리랄까 그 이런 거를 모아놓은 곳이 굉장히 많습니다.
가령 뭐 어우섬 어우섬이라고 치면 왠지 뭐 거의 웬만한 건 다 있더라고요.
어우썸 MCP 서버스라고 치면은 이게 또 웃긴게이 누군가 만들어 오는 요런 기터이 두 개가 있어요.
다른 사람이 만들어 놓은게 또 어ome MCP 서버즈라는 또 사이트가 있습니다.
이런데 들어가서 어 쓸 만한게 있나? 근데 아직 제가 봤을 땐 좀 잔잔발이 이런게 너무 좀 많은 느낌이 들고요.
그 저기 테스크 마스터는 좋다고 평가가 좀 많이 있더라고요.
테스크마스터 MCP.
테스크마스 MCP 같은 경우에는 어 작업 이게 데모 데모가 어디 있는데? 뭐 상세하게 작업 계획을 세워 가지고 그걸 이제 브레이크다운을 해서 실행을 해 주는 그 이제 그런 MCP입니다.
그래 가지고 이제 테스크 마스크터 MCP도 좀 좋다고 좀 소문이 많이 나 있는데요.
근데 이거는 좀 문제점이 있어요.
왜냐하면은 이걸 하려면은 그 키드를 엄청 넣어 줘야 돼 가지고 이제 좀 돈이 들어 가지고 아직 이건 안 해 봤고요.
그다음에 여기 어 MCP 서버를 추가를 하는 방법은 이제 아까 스미더리에 들어가서 하시는 방법도 있고 내가 뭔가 깔고자 하는 MCP가 있으면은 여기 그냥 그 구글의 공식 기터브를 찾는 거를 저는 추천을 드립니다.
그래서 아까 뭐 컨텍스트 세븐이다 하면은 보통 이제 공식 기터브에 자기네가 이제 설정하기 좋은 이제 그 컨피그.
제이슨 파일을 이제 올려 놓고요.
그러면요 부분에 이게 처음에 하나만 있을 때면 그냥 통째로 붙여 넣으면 되고 여러 개가 있을 때는요 부분을 딱 이렇게 복사를 해서 그 위치에 이제 붙여 넣으시면 됩니다.
그리고 이제 만약에 했는데 잘 안 될 때가 있어요.
그러면은 몇 가지 해결 방법이 있는데 한 가지는요 커맨드의 저 MPX 대신에 그 MPX가 설치된 절대 경로를 풀 경로를 뭐 써 준다든지 하는 이제 방법이 있습니다.
근데 이제 NPX가 아예 설치가 안 돼 있을 수도 있죠.
이제 그러면은 보통 이제 로컬 MCP 서버들이 다 이제 그 NPX로 많이 그 구동이 되는데요.
위치 MPX MPX 대시 대시 버전 했을 때 이게 뜨면은 어 그럼이 문제는 아닌 거고 이제 안 뜨면은 아 그러면은 이제 이거 설치를 해야 되는구나 그래서 설치를 해 주시면 됩니다.
그래서 맥북 같은 경우에는 그냥 브루 인스톨 해 가지고 이제 설치를 하시고 이제 리누스 같은 경우에도 브루 인스톨 뭐 노드 해 가지고 설치를 하시면 됩니다.
이제 노 윈도우 같은 경우에는 이제 그 노드.
js 이제 검색을 하셔 가지고 예.
그 윈도우로 선택을 해서 다운을 받으셔 가지고 설치를 하시면 되는데요.
설치를 하시다가 약간 막히는게 있다 하면은 그 에러 메시지 같은 거 다 채비T한테 던지면은 해결을 잘 해 줍니다.
예.
지금 이거는 이제 에이블톤 그 MCP인데요.
이거 이것도 상당히 재밌더라고요.
그 에이블톤이 이제 그 에이블톤 라이브라고 그 작곡 프로그램인데이 작곡 프로그램도 누가 이제 MCP를 만들어 놔 가지고 써 봤습니다.
근데요 에이블톤 자체는 조금 비싼 프로그램이어 가지고 지금 체험판이 끝나서 이제 요거는 지금 구동은 안 되는데 과거에 했던 걸 좀 보여 드리자면은 이제 에이블턴에서 유령 같은 분위기의 사운드 트랙을 만들어 주세요.
뭐 하면서 구체적으로 뭐라 뭐라 이제 프롬프트를 입력을 했어요.
그랬더니 얘가 이제 조작을 하면서 이제 작곡을 해 주는 거죠.
근데 이제 뭐 이게 돌아가는게 재밌긴 한데 그렇게 썩 만족스럽게 또 되지는 않는 거 같습니다.
그 피그마 같은 경우에도 이제 피그마 MCP가 이제 플러그인이 있어 가지고 그걸로 이제 조작을 할 수가 있긴 한데 근데 어 클로드에 물려서 사용을 했을 때 어 계속 그 뭐 한 번에 그 대화에 사용할 수 있는 그 토큰 사용량이나 뭐 그 툴콜의 제한이 있거든요.
그게 제한량이 딱 막히면서 사람이 하는 것보다 더막 엄청 편리하다라는 수준의 그 작업이 되지 않더라고요.
그래서 그런 것들을 이제 해결하려면은 지금 이제 그냥 클로드나 뭐 커서 같은데 꽂아서 사용하는 수준보다 어 되게 동시에 병렬적으로 비동기적으로 뭔가 작업을 할 수 있도록 뭐 처리를 한다든지 뭐 그런 방식으로 해야 될 거 같고 그렇게 하려면은 이제 그 뭐 결국에 누군가 그렇게 만들어서 제공을 할 거라고 생각이 들긴 하는데요.
그 이제 호스트를 새로 개발을 해야 되는 거죠.
지금 클로드나 이제 커서처럼 잘 만들어진 호스트뿐만 아니라 예, 마지막으로 그 모니터링의 중요성 얘기드리면서 좀 마무리하려고 합니다.
이제 분명히 이제 MCP가 이제 어 팰리한 측면도 있고 어 이제 기존에 못 하던 기능들을 이제 붙여서 쓸 수 있다는 점에서는 좋긴 한데 약간 보안 이슈도 있고 그런 부분들을 이제 고려해야 될 점이 있습니다.
그래서 이건 이제 몇 가지 해결책이 있는데요.
한 가지는 이제 간단한 기능 같은 걸 사용하는 거라면은 어 로컬 PC에 직접 다운을 받아 쓰는 것보다 이제 그 도에 올려 가지고 사용을 하면은 이제 그런 문제 같은 것들을 조금 예방할 수 있고요.
그리고 이제 어떤 식으로 동작하는지 알기 위해서는 결국에 이제 그 잘 그 모니터링을 하는게 필요합니다.
그래서 이거 같은 경우는 아까 처음에 보여 드렸던 뭐 MCP 해커톤 같은 거 있다라고 했을 때 거기서 어떤 분이 만들어서 올려 놨던 건데요.
뭐 요런 식으로 그 자기가 이제 구현하신 분들도 있고 만약에 이런 식으로 이제 로깅을 잘 해 놨으면은 이제 그 피닉스라고요 에이전트 동작을 또 이제 모니터링하는 도구 같은 것들도 있습니다.
그래서 호스트의 그런 로깅을 잘 이제 물려 놓고선 어떤 식으로 이제 툴콜링이 일어나고 어떤 이제 리소스에 접근하려고 했는지를 이제 좀 보시는게 필요합니다.
예.
이 정도에서 이제 마치겠고요.
지문이 많이 좀 더 들어가 있는 것 같아서 확인해 보겠습니다.
네.
그 메이크나팔 자동화 도구 도구 이용할 때는 이제 이메일 뭐 보내주는 일을 하는데 MCP 도구 예 MP MCP 도구 중에서 그 이제 구글 이메일 이런 것들은 어차피 API가 다 공개가 되어 있잖아요.
그래서 그걸 이제 MCP로 어 당연히 이제 서버가 있는데요.
뭐 구 뭐 G, MCP 서버 이런 식으로 검색을 하시면은 이제 다 이제 이런 것들은 다 있습니다.
MCP를 굳이 이제 사용자가 직접 이거를 이제 설정을 해서 쓰는게 꼭 필요하냐라고 하면은 어 이제 메이크를 사용을 하시는데 거기 안에서 자체적인 인티그레이션을 만들어 놨으면은 그걸 쓰는게 당연히 더 편리합니다.
그니까 MCP를 꼭 써야 된다는 건 아니고요.
그리고 이제 그런 서비스를 만드는 쪽에서 이제 통합이 편리하도록 뭐 MCP를 내부적으로 사용을 할 수도 있고 그걸 이제 사용자는 신경을 쓰지 않게 이제 감춰 넣을 수도 있는 것이죠.
예.
네.
그 컷 채팅방에 있는 질문은 이제 한 개밖에 없어서 그 답을 하셨고요.
각 그 참여자들은 그 마이크 질문을 하실 내용이 있으시면 마이크를 온 하시고 질문 끝나면 바로 마이크를 오프해 주시기 바랍니다.
질문 있으신 분 예 말씀해 주세요.
설님 저님 저강 강수문데요.
거기 채팅창에 뭐 남겼으니까 보시고 재솔님한테만 보세요.
아까 허깅 페이스에서 이미지는 그 어플리케이션에서 이제 개발해야 되는 API 연결 개수를 의미하는 거라고 이제 지적을 해 주셨는데 예 맞는 거 같습니다.
근데 이제 모델이라는 말이 약간 좀 혼동을 가져오는 좀 측면이 있는 거 같긴 합니다.
그러니까 지금 MCP가 이제 모델 컨텍스트 프로토콜인데 여기서 모델이라는 것이 이제 사실상 이제 그 호스트 그니까 어플리케이션의 의미로 사용을 하고 있죠.
그 LRM 모델의 의미가 아니라.
근데 이제 그 그림을 제 봤을 때 이제 그게 LM 모델을 갈아끼우는 것도 이제 모델이라고 하고 그다음에 어플리케이션의 그 지금 이제 MCP라고 할 때는 거기서 이제 모델이라는 거는 그런 이제 얘를 그 사고를 수행하는 이제 단위로서 이제 모델을 얘기를 하는데 그게 좀 혼동이 있는 거 같습니다.
근데여 그 이제 이미지에서의 맥락은 이제 그 어플리케이션을 말하는게 이제 맞는 거 같습니다.
혹시 다른 질문 있으시면 마이크를 켜시고 해 주시기 바랍니다.
자유롭게 토론 시간이니까요.
궁금하신 상황 있으면 뭐 언제든지 언제든지 아니고 바로 예 질문해 주시기 바랍니다.
제가 FDP 공부 안 하고 일부러 오늘 바스라고 잘 들었습니다.
그 들어보니까 진짜 앞으로는 그 LLM과 또 MCP 프로토콜을 사용해서 엄청나게 서비스가 많이 나올 것 같은 뭐 그렇게 해서 세상이 엄청나게 연결될 같은 느낌 들었는데 그 결국에는 LNM 만드는 거는 사실 엄청난 비용이 들지만 그 LN이 사용할 만한 그런 MCP 프로토콜로 서비스해주 그런 거는 기존에 전통적인 그런 약간 서비스 어 만들기 비슷해 그런 쪽에 사업이 굉장히 활성화될 것 같은 느낌이 드는데 어떻게 생각하세요? 예.
그 저도 그렇게 생각합니다.
그래서 MCP가 뭐 그냥 그 이제 그 자체로만 봤을 때는 확실히 그냥 중간에 그 API를 그냥 중기해 주는 거 하나 껴 준게 무슨 그 의미가 있냐 이렇게 생각을 할 수도 있지만 결국에 이제 그 툴을 만드는 쪽에서는 그 어떤 식으로 LM에 붙이고 어떤 식으로 서비스에 붙지 붙일지에 대해서는 생각을 안 해도 된다라는 것이 굉장히 좀 의미가 있다고 생각이 듭니다.
MCP를 구현할 때 그 STDIO를 이용한 로컬 호출에서도 필수적으로 클라이언트를 개발자가 구현을 해 줘야 되는 것인가요라는 이제 질문이 있는데요.
MCP를 구현한다라고 했을 때 두 가지 그 의미가 있습니다.
그래서 MCP를 MCP 서버를 만든다라는 의미랑 그리고 그 MCP 호스트를 구현한다라는 두 가지 의미가 있는 거고요.
웬만한 상황에서는 MCP 호스트를 만들 일은 좀 없습니다.
그러니까 보통 MCP를 뭐 개발한다라고 하는 거는 이제 도구에 붙이는 그 서버를 만드는 거를 의미를 하고 MCP 호스트를 만드는 그런 이제 제품 개발을 할 때는 이제 클라이언트를 이제 어 구현을 해야겠죠.
근데 클라이언트를 구현을 한다라는게 어차피 구현체는 나와 있는 거고요.
그걸 가져다 쓰는 거죠.
그것도 클라이언트 자체가 문제라기보다는 이제 그런 것들을 이제 관리를 어 하고 또 매끄럽게 컨텍스트를 이어주고 어 그런 호스트를 구현하는게 또 쉽지 않은 거 같습니다.
Rag와 MCP를 다른 용도로 사용하는 것인지요? 아니면 MCP가 R를 포함하는지요라는 질문 들어왔는데요.
어 기본적으로는 어 아예 좀 그 층위가 다르다고 생각을 하면 됩니다.
그러니까 제가 R 얘기를 꺼낸 거는 R가 됐든 그 혹은 뭐 텍스트투 SQL이 되었든 혹은 또 펑션 콜이 되었든 LM이라는 거 자체는 원래 그냥 고정된 그 파라미터를 바탕으로 인풋과 아웃풋을 이제 매핑하는 함수다라는 그런 얘기를 어 한 거고 그게 뭔가 우리가 원하는 방식으로 작동을 한다라는 것은 거기에 프롬프트를 넣고 환경이라는 거를 그 이제 컨텍스트로 제시를 하고 그런 방식 방식으로 된다.
그리고 거기에 가장 간단한 사고 방식이 이제 R다.
뭐 이런 차원에서 말씀을 드렸던 거고요.
그래서 R라는 거는 뭔가 답변을 받아요.
LM한테.
근데 그 사이에 검색을 껴요.
그걸 이제 R라고 하는 거고 이제 어 R를 할 때는 보통 MCP를 안 씁니다.
MCP를 안 쓰고 어 그냥 그 벡터 DB를 그냥 끼거나 아니면 랭체인에서 그 벡터디 그 DB 그 구현한 걸 이제 사용을 하는데 왜냐면 그 너무 그 구성 요소가 적기 때문에 굳이 이제 MCP를 붙여서 쓸 필요는 없는 거고요.
그런데 검색을 어 MCB 방식으로 할 수도 있죠.
그건 이제 R가 아니라 어 검색 도구를 가진 에이전트를 만드는 거죠.
그래서 검색 도구를 가진 에이전트 그러니까 에이전트한테 검색 도구를 하나 붙 던져 주면은 얘가 자율적으로 판단해 가지고 이제 그걸 쓰면 좋은 상황에서 사용을 하도록 놔두는 거죠.
그러면은 그 안 쓸 수도 있는 거고요.
그래서 워크플로우라는 개념이 있는데 워크플로우는 이게 쓸 만한 개념인지 아닌지를 명시적으로 한 단계 lm한테 어 쿼리와 함께 집어넣어 가지고 예노를 이제 아웃풋으로 받아서 그다음에이 if문으로 이제 그 if 뭐 관련성 오케이 하면은 이제 그다음 검색 찍고 오고 이렇게 하는 건데요.
이제 그게 아니라 이제 그냥 LM한테 다 맡기는 겁니다.
그래서 그 그거를 보통 RH라고 부르지 않습니다.
예.
그 SLRLM으로 접근한다라면은 MCP가 얼마나 효과가 있을지 궁금한 질문이 이제 있었는데요.
결국에 이건 이제 호스트가 SLM으로 서빙되고 있을 때에 이제 그 말씀이신 거죠.
그래서 어 일단은 그거를 좌지하는 거는 해당 그 LM 모델이 얼마나 그 툴콜링을 잘 지원을 하는가 거기에 달려 있겠죠.
툴콜링을 얼마나 그 파인티닝을 잘 해 놨는가에 달려 있는 거고 로컬 모델은 여러모로 좀 한계가 있긴 합니다.
그 에이전틱하게 했을 때 그 토큰이라든지 그리고 에이전트는 이제 기본적으로 한 번 질문하고 답이 나오는게 아니라 굉장히 여러 번 그 대화를 하고 그리고 스스로도 여러 번 사고의 과정을 거치고 그러면 자기가 사고한 기록들을 다 컨텍스트로 가지고 가야 되기 때문에 그 과정에서 프롬프트도 다 쌓이고 인풋이 굉장히 길어져요.
그러면은 이제 그거를 이제 관리를 해 줘야 되는데 로컬 모델은 그 성능을 뽑기가 쉽지 않죠.
근데 얼마나 효과가 있을지 그래서 그 성능 최적화를 위해서 파인티닝도 그 안에서 최대한 뽑아내기 위해서 하고 뭐 그런 노 그리고 그 어떤 식으로 프롬프트를 주고 그런 것들을 테스트를 해서 뭐 최대한 필요한만큼 이제 맞춰서 가야 되는 거 같습니다.
음.
계속 질문이 네.
예, 데이터베이스 관련 MCP는 웬만한 거 다 있는 거 같던데요.
오라클 오라클은 아, MCP 서버트 커넥.
예.
오라클 서버 그다음에 그건 파이썬으로 만들었네요.
마이 SQLP 서버 예 마도 뭐 있고요.
어차피 그 DB는 D랑 통신하는 방식이 그렇게 명령화가 어렵지 않잖아요.
원래 그냥 그 뭐테면 포스트 그레스로 치면은 PSQL 하면 된 PSQL로 들어가면 되는 거고 아니면은 또 파이썬에서 접근에서 그냥 그 퀄리를 그냥 생어로 넣을 수 있잖아요.
그래서 그거를 MCP 서버로 붙이는 거는 뭐 다른 MCP 서버 만드는 거에 비해서도 좀 쉬운 거 같습니다.
음.
그럼 질문은 아니죠.
그 지난주에 제가 질문하 지난주에 우리가 자동화 푸셔츠 자동화 RPA 이런 거 했잖아요.
거기도 보면 자동화를 할 수 있고 있는 거 같고이 MCP를 하면 LM 자동화를 좀 할 수 있을 것 같은데 그 둘의 어떤 차이점이나 어떤 걸 뭐 어떤 경우에 어떤 걸 쓰는게 좋고 이렇게 대해서 좀 설명을 해 주실 수 있나요? 아까 이제 에이전트랑 그 MCP랑 좀 이렇게 좀 너무 붙여서 얘기를 하긴 했는데 사실 이제 그 IPA 도구들 같은 경우에는 보통은 워크플로우입니다.
제 워크플로우랑 이제 에이전트 말씀을 드렸는데 워크플로우도 굉장히 막 복잡하게 이제 그 짤 수가 있는데 근데 워크플로우도 도구들을 다양하게 호출을 하죠.
그래서 뭐 검색을 하고 그다음에 여러 가지 그 도구들을 찍고 오고 뭘테면 RG를 할 때도 벡터 DV를 찍고 오는데 이제 그거로 뭐 부족한 부분이 있으면은 이제 그냥 로컬 그니까 디렉토리에서 로컬 파일을 찾아 가지고 통째로 던질 수도 있고 그런 방식으로 다양하게 이제 툴 호추를 사용을 하게 되는데 근데 이제 MCP가 에이전트한테 와서 조금 더 중요해지는 것은 이제 어 아무래도 워크플로우에서는 고정된 도구를 이용하니까 이제 뭐 그냥 API로 고정된 방식으로 붙여 놓는 것이 효율성이 또 좋을 수도 있는 거죠.
근데 뭐 엠파리나 뭐 이런 것들을 보면은 이제 툴로 그냥 붙이는게 뭐 에이전트틱하게 이제 결정이 되게 하는 거 같기도 하고요.
제가 이제 그 도구들을 많이 안 써 봐 가지고 정확히 말씀 못 드리는데 근데 에이전트가 자율적으로 하긴 놔두면은 오히려 그 업무 자동화 할 때는 좀 도움이 안 될 수도 있습니다.
왜냐면은 이제 정형화된 그 절차대로 해 가지고 동작이 원하는 방식대로 가는지 봐야 되는데 얘가 플래닝을 자기가 스스로 하면은 이제 자유성이 필요한 일에는 좋지만 이제 그렇지 않은 일에는 좀 신뢰도가 떨어질 수 있습니다.
네.
알겠습니다.
네.
그 이태 선 그 선생님 말씀 예 감사합니다.
그 MCP는 그러니까 결국에 그 LM이 툴콜링을 한다는 거는 텍스트 인풋으로 봐서 텍스트를 아웃풋으로 내는데 그 텍스트를 그 구조화된 방식으로 파싱을 해 가지고 함수에 함수 이름이랑 함수 인자로 빼서 넣는 거고요.
그 함수라는 건 자연어가 아니잖아요.
가 자이너가 아니니까 그 자이너가 자이너와 자이너어가 아닌 것들이 섞여 있을 때 하는 그런 것들을 학습을 잘 해 놔야지 되는 거고 로컬 모델들은 어쨌든 벤치상으로 성적이 막 그렇게 썩 잘 나오고 그렇지 않습니다.
네.
어 계속 뭐 온라인 여기 앉아가자 혹시 다른 온라인상에 다른 질문 있으신 분들은 뭐 마이크로 켜시고 하셔도 좋고요.
채팅으로 하셔도 좋습니다.
예.
있으면 말씀해 주십시오.
네.
토크 없으면 뭐 그 한번 질문 있으신데.
예.
네.
MCP 서버 구현은 서드 파티가 구현하면 되는데 아 그러니까 MCP 클라이언트는 호스트 부분이고 호스트는 결국에 어 클로드 데스크탑 뭐 이런 거를 만드는 그 내가 우리가 그 그런 범용적으로 다 그런 툴을 호출해서 사용할 수 있는 능력이 있는 어 이제 체포 기반의 서비스를 제공하겠다라고 하는 그런 이제 그 업체들이 하는 거겠죠.
근데 뭐 꼭 그렇게 완전 자율적이지 않아도 MCP로 붙일 수도 있는 거고요.
그 API를 굳이 신경을 안 써도 되는 거니까.
혹시 다른 질문 있으신가요? 네, 뭐 없으신 거 같습니다.
온라인 질문은 여기서 마치고요.
네, 오늘 강의해 주신 우리 신재술 강사님께 다시 한번 큰 박수 부탁드리겠습니다.
어, 이번 주 강의는 여기서 마치고요.
다음 주 토요일 또 이렇게 있으니까 매주 토요일 14시 관심 가지시고 봐 주시기 바랍니다.
그리고 그 강 자기가 좋은 주제가 있다 그러면 강연할 수 있는 그런 희망하신 분들은 어 저희한테 카톡이라든지 전화 주셔도 좋고요.