모델이 외부 세계와 안전하게 상호작용하도록 만드는 도구(tool)와 Model Context Protocol(MCP)을 다룹니다. 좋은 도구는 그냥 "동작하는" 것이 아니라 모델이 오해 없이 호출하고, 실패를 복구하며, 신뢰 경계를 넘지 않도록 설계된 것입니다.
이 PART의 핵심 질문은 "모델이 무엇을 할 수 있게 할 것인가"가 아니라 "모델이 그것을 어떻게 안전하고 정확하게 하도록 만들 것인가"입니다. 도구의 정의(이름, 설명, 입력 스키마)는 모델에게는 곧 API 문서이자 사용 설명서입니다. 설명이 모호하면 모델은 엉뚱한 도구를 부르고, 스키마가 느슨하면 잘못된 인자를 넘기며, 에러 메시지가 불친절하면 같은 실패를 반복합니다. 따라서 도구 설계는 모델의 동작을 결정하는 아키텍처 의사결정이며, 에러 핸들링은 단순한 예외 처리가 아니라 모델이 스스로 회복할 수 있는 경로를 설계하는 일입니다.
MCP는 이러한 도구를 클라이언트와 서버로 표준화해 재사용 가능하게 만드는 개방형 프로토콜입니다. MCP를 이해하려면 도구·리소스·프롬프트라는 세 가지 원시(primitive)와, 호스트·클라이언트·서버라는 구조를 알아야 합니다. 그리고 외부 서버를 연결하는 순간 신뢰 모델과 스코프(scope)가 따라옵니다. 어디까지 권한을 줄 것인지, 어떤 데이터가 경계를 넘는지, 프롬프트 인젝션과 같은 위협을 어떻게 차단할 것인지가 아키텍트의 책임입니다. 이 PART는 시험 출제 비중 18%로, 도구 설계와 MCP 보안을 묶어서 묻는 통합형 문제가 자주 등장합니다.
| 장 | 제목 | 핵심 내용 |
|---|---|---|
| 17장 | 도구 정의와 설계 | 도구의 구성 요소, 이름·설명·입력 스키마 설계 원칙, 모델이 도구를 선택하는 방식 |
| 18장 | 도구 에러 핸들링 | 실패 응답 설계, 모델의 자가 복구, 재시도와 멱등성, 안전한 에러 메시지 |
| 19장 | Model Context Protocol 기초 | MCP의 등장 배경, 호스트·클라이언트·서버 구조, 도구·리소스·프롬프트 원시 |
| 20장 | MCP 신뢰 모델과 스코프 | 신뢰 경계, 권한 스코프, 프롬프트 인젝션 방어, 외부 서버 도입 의사결정 |
시험은 "이 도구 정의의 어디가 잘못되었는가", "이 실패 상황에서 모델이 복구하려면 에러 응답을 어떻게 바꿔야 하는가", "MCP 서버를 추가할 때 어떤 신뢰 위험을 먼저 검토해야 하는가"처럼 의사결정의 근거를 묻습니다. 단순히 용어를 외우기보다, 각 선택이 모델의 행동과 시스템의 안전성에 미치는 영향을 설명할 수 있어야 합니다.