MCP(Model Context Protocol)이란
LLM이 외부 시스템, 데이터 또는 기능을 활용할 수 있도록 돕는 개방형 프로토콜을 의미한다.
LLM이 단순히 텍스트를 생성하는 것을 넘어, 엑셀, 코드, PPT, 이미지 등 실제 사람이 제작해야하는 걸 상호작용한다.
MCP 주요 역할:
- Tools: LLM이 특정 작업을 수행하기 위해 호출할 수 있는 실행 가능한 기능을 노출함(tool 목록, tool 설명, tool에 필요한 매개변수 설명 등)
- Resources: LLM이 상호작용에 사용할 수 있는 데이터 및 콘텐츠를 제공하여 LLM의 문맥을 풍부하게 함
- Prompts: LLM이나 사용자가 상호작용을 안내하는데 사용할 수 있는 재사용 가능한 프롬프트 템플릿 및 워크플로우를 정의
TOOL 이란
tool은 특정 작업을 수행하거나 문제를 해결하는 데 사용되는 소프트웨어 또는 프로그램을 의미. 단순한 유틸리티부터 복잡한 개발 환경까지 다양
예를들면,
컴파일러, 디버거, 버전관리, 바이러스 검사 프로그램, 엑셀, 포토샵 등. 컴퓨터로 해야하는 거의 모든 작업을 tool로 정의할 수 있다. (물론, mcp 서버에서 올라와있는 기능이라면 https://www.claudemcp.com/ko/servers)
tool은 LLM이 다양한 기능을 할 수 있게 하는 핵심적인 요소인데, LLM은 본질적으로 언어는 능통하지만, 외부 시스템과 상호작용하는 능력이 제한적임. 하지만 tool을 사용하면, LLM이 단순 언어로 답변하는게 아닌, xlsx 파일을 만들거나, pdf 파일을 만들어 내는 등. 외부 서비스와 연동할 수 있게 해준다.
PROMPT란
생성형 AI에서 prompt는 모델의 출력 품질을 결정하는 중요한 요소 중 하나. AI 모델이 원하는 결과물을 생성하도록 명확하고 효과적인 프롬프트를 작성하는 것이 중요함.
AI 프롬프트의 예시:
- "세 문장으로 된 태양계 요약본을 작성해줘."
- "다음 문장을 스페인어로 번역해줘: '안녕하세요, 잘 지내셨나요?'"
- "다음 데이터를 기반으로 주식 시장 동향을 분석해줘: [데이터 입력]"
세 가지 요소(mcp, tool, prompt)의 상관관계
1. Prompt는 Tool 사용의 시작점: 사용자가 LLM에 어떤 작업을 요청할 때, 그 요청은 prompt 형태로 전달됨. 이 prompt는 특정 tool을 사용할지 판단하는 근거가 됨. 예를들어, 서울 날씨 알려줘 라는 질문은 LLM이 날씨 정보를 가져오는 tool을 사용해아 하는 신호가 될 수 있음.
2. MCP는 Tool과 Prompt를 연결하는 다리: MCP는 LLM이 어떤 tool을 사용할 수 있는지(tool 목록), 그 tool이 어떤 기능을 하는지(tool 설명), tool을 호출할 때 어떤 매개변수를 넘겨야 하는지(tool 이용시 사용되는 키워드)에 대한 정보를 제공함.
또한, MCP는 prompt 템플릿을 제공하여 LLM이 특정 tool을 효과적으로 사용하거나, tool의 결과를 사용자에게 잘 전달하도록 도와줌. 즉, MCP는 LLM이 프롬프트의 의도를 파악하여 적절한 tool을 찾아 사용하고, 결과를 다시 prompt 맥락에 맞게 통합하는 과정을 지원함.
3. Tool은 Prompt의 실행력: LLM이 prompt를 이해하고, MCP를 통해 적절한 tool을 실별하면, 실제 tool을 회출하여 외부 작업을 수행할것임. 이 tool의 실행 결과는 다시 LLM에 전달되어, prompt에 대한 최종 응답을 생성하는데 활용함. 예를들면,
- 입력 prompt: 서울 날씨 알려줘, 사용자에게 따뜻하게 설명해줘. 등
- 사용 tool: 날씨 정보를 가져오는 tool을 이용 ---> 결과값 예시): "맑음, 25도"
- MCP 하는일: LLM에게 prompt와 사용가능한 tool 목록, 설명, 매개변수 를 알려주고, LLM이 판단하고, tool 사용 및 답변제작에 도움을 줌.
- LLM은 MCP에게 받은 결과값을 이용하여 풍부하고 걸맞는 답변 및 데이터를 고객에게 제공함
요약하면, Prompt는 사용자의 의도를 LLM에 전달하는 입력이며, Tool은 LLM이 외부와 상호작용하고 특정 작업을 수행하는 데 필요한 기능. 그리고 MCP는 이러한 LLM이 Prompt의 의도를 파악하고, 적절한 Tool을 효율적으로 찾아 호출하며, 그 결과를 다시 Prompt의 맥락에 맞춰 처리하는 과정을 가능하게 하는 프로토콜.
ps
위 올린 url을 보면, mcp 서버 목록들을 확인 가능
'CS' 카테고리의 다른 글
| 순환 참조 (Circular Dependency) 문제 (0) | 2025.04.14 |
|---|---|
| Singleton 이란 (0) | 2024.07.08 |
| pending 이란? (0) | 2024.07.08 |
| refreshToken 왜 사용하나요? (0) | 2024.07.05 |
| TLS (1) | 2024.05.22 |
댓글