Recent Posts
Recent Comments
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Kubernetes
- 쿠버네티스 컨트롤러
- React.js
- docker
- Reducer
- 북딜
- 모캠
- React
- #Swagger
- IP
- 프로세스
- server
- #Swagger-codegen
- #api 문서화
- fluentd
- action
- Site Reliability engineering
- Redux
- 기술PM
- #스웨거
- SRE
- 프로세스 통신
- #Swagger-ui
- javascript
- #Swagger-editor
- 쿠버네티스
- ecs
- AWS
- 모두의캠퍼스
- 카카오게임즈
반응형
Archives
- Today
- Total
탕구리's 블로그
업무에 MCP Server를 한 스푼 퐁당 본문
반응형
우선 내가 이해를 제대로 하고 있는 상황인지 나도 잘 모르겠음 :(
우선 간략한 MCP에 대한 개념과 내가 하고자 하는 취미 생활에 대해 소개해 볼 예정
해당 문서는 기록 차원에서 쓰고 있는 포스팅이므로 크게 참고할 내용이 없을지도 모름
MCP란?
- 대규모 언어 모델(LLM)이 외부 데이터와 시스템을 더 효과적으로 활용할 수 있도록 설계된 일종의 연결 프로토콜
- MCP는 클라이언트-서버 아키텍쳐를 기반으로 하며, AI 모델과 외부 데이터 소스간의 통신을 가능하게 하는 구조로 설계
- 구성 : Host, MCP Client, MCP Server
Host
- 여러 클라이언트 인스턴스를 관리합니다.
- 클라이언트 연결권한과 생명주기를 제어합니다.
- AI/LLM 통합 및 샘플링을 조정합니다.
- 클라이언트 간 컨텍스트 집계를 관리합니다.
MCP client
- 호스트에 의해 생성되며 서버와의 독립적인 연결을 유지합니다.
- 서버당 하나의 상태유지 세션을 설정합니다.
- 프로토콜 협상 및 기능 교환을 처리합니다.
- 양방향으로 프로토콜메시지를 라우팅합니다.
- 서버 간 보안 경계를 유지합니다,
MCP Server
- 특화된컨텍스트 기능을 제공합니다.
- MCP 기본 요소를 통해 리소스,도구 및 프롬프트를 노출합니다.
- 독립적으로 작동하며 집중된 책임을 가집니다.
- 클라이언트 인터페이스를 통해 샘플링을 요청합니다.
- 로컬프로세스 또는 원격 서비스일수 있습니다.
MCP-Server구성 요소
- 도구: 이는 LLM이 서버에 실행을 요청할 수 있는 기본적인 기능입니다. 전통적인 API의 POST 엔드포인트와 비슷하게 생각할 수 있습니다. 작업을 수행하고, 다른 시스템(데이터베이스, API, 하드웨어)과 상호작용하며, 결과를 반환합니다. 예를 들어 도구는 이메일을 보내거나 데이터베이스를 쿼리하거나 계산을 수행할 수 있습니다.
- 리소스: 이는 LLM이 읽거나 검색할 수 있는 데이터를 노출합니다. GET 엔드포인트와 유사하게, 리소스는 LLM의 컨텍스트를 풍부하게 하는 정보를 제공합니다. 이는 구성 파일, 사용자 프로필에서 실시간 데이터 스트림에 이르기까지 다양할 수 있습니다.
- 프롬프트: 이는 LLM과의 상호작용 구조화에 대한 재사용 가능한 템플릿입니다. 대화를 안내하고 특정 작업에 대한 일관된 출력을 보장합니다.
- 컨텍스트: 서버는 사용 가능한 도구 및 리소스와 상호작용하는 방법에 대한 지침을 포함하여 맥락 정보를 제공할 수 있습니다.
MCP 구성 환경


MCP 설명에 대한 내용 및 이미지 출처 : https://dytis.tistory.com/112
그래서 나는 무엇을 해볼 심산인가?
- 서비스 소개와 업무 가이드에 대한 리소스를 최소화하고 담당자 부재 상황에도 플램폼 연동에 대한 정보를 손쉽게 얻을 수 있는 환경을 구성해보면 좋을 것 같다
- 각 문서에 대한 메타 정보가 명확히 정리되어야 학습하는 과정에서 자체적인 분류에 이점이 있을 것
- 기존 업무 프로세스 및 서비스에 대한 재정리가 필요할 것으로 예상됨
- 연동 작업자의 궁금증에 대한 명확한 답변이 되면 작업에 효율성이 높아질 것 같다.
- 연동 과정에서 발생하는 담당자간의 이해도와 산발된 가이드 문서에 대한 불필요한 리소스 소모를 줄일 수 있음 것
- 사내의 서비스의 변경사항이 많은 편임으로 온보딩 과정에서 변경사항에 대해 담당자가 업무를 파악하기 수월해 질 것 같다.
보증이 되어야 하는 부분
- 가이드 문서를 바탕으로 학습을 진행하는 경우 효용가치가 있는 답변이 도출되는지 확인이 필요함
- 답변에 대한 수준에 대한 판단은 사용자가 판단해야하므로 수치화 하기가 어려움
- 답변의 질을 어떤 수준까지 이끌어낼 수 있을지가 제일 중요할 것
프로세스
- 업무 활용에 필요한 문서 수집
- 수집한 문서에 대한 임베딩 벡터 생성 (업무 가이드)
- 지라를 통해 진행되는 문답에 대해서도 함께 학습되거나 내용을 참조할 수 있으면 좋을 것 같다. - MCP Client를 통한 사용자 질의
- 사용자 질의 내용에 대한 벡터화 진행
- 문서에 대한 정보 전달을 명확히 하기 위한 전처리 및 벡터 생성
- 문서에 포함하고 있는 플랫폼서비스의 소개 및 기능 단위로 문서 분류 작업 진행
- 각 문단별로 줄바꿈은 2줄, markdown기반으로 ##의 상태를 청크 타이틀로 분류
- 문단의 최대 청크 사이즈는 n으로 설정하고 슬라이딩 윈도우 적용을 위해 n으로 청크 분류
- 분류된 청크를 기반으로 임베딩 벡터 생성
- 문서에 대한 정보 전달을 명확히 하기 위한 전처리 및 벡터 생성
- 기존 변환한 업무 문서에 대한 임베딩 벡터와 사용자 질의에 대한 임베딩 벡터의 유사도를 측정하여 관련 문서 발췌
- 사용자 질의 + (5)의 발췌 문서 내용을 기반으로 LLM에게 질의
- LLM로 부터 답변 받은 내용에 대한 정확도(사용성 검사) 검사
우선 1차적인 계획을 적어보았고 어느정도 샘플링을 진행하고 있는 상황이지만 추후 진행 사항에 대해서는 새로운 포스팅을 통해 찾아올 수 있도록 준비를 해야겠슴
반응형
'Server' 카테고리의 다른 글
| 레디스, 캐시의 사용(feat. Toast Meetup) (0) | 2020.03.08 |
|---|---|
| Apache와 Tomcat 연동(feat. mod_jk) (0) | 2020.03.05 |
| Nginx는 무슨 역할을 할까? - with willson (0) | 2019.07.18 |
| Travis CI / AWS codedeploy - with willson (0) | 2019.07.15 |
| Swagger를 이용해보자! 2편 (3) | 2018.05.27 |
Comments