[MCP] 2주차 Day 4 — 돌려주는 것의 모양: 적게 돌려준다

주차 주제: 도구 설계 | 제조 사례: 34속성이 5개로

오늘의 목표: 응답 규격을 정하고, 도구마다 무엇을 줄지 고른다.

소요 시간: 30분


1. 컨텍스트 과정과 겹칩니다

컨텍스트 5주차가 받는 쪽에서 봤습니다.     ★
여기서는 주는 쪽에서 봅니다.              ★
그리고 결론은 같습니다.                      ★
  적게 주세요.                            ★

2. ★ 공통 규격

모든 도구가 같은 모양으로 돌려줍니다.     ★
  성공
   { "결과": [...], "전체": 1800,            ★
     "더있음": true, "안내": "...",          ★
     "기준시각": "2026-09-12 14:20" }        ★

  없음 (성공입니다)                          ★
   { "결과": [], "전체": 0,
     "안내": "해당 조건의 품목이 없습니다." } ★

  실패
   { "오류": "...", "이유": "...",           ★
     "할것": "...", "재시도": true/false }    ★
공통이면
· 모델이 매번 같게 읽습니다               ★
· 프롬프트에 한 번만 설명합니다           ★
· 새 도구가 바로 맞습니다                 ★

3. 속성을 고르는 법

  ① 이 도구로 답할 질문을 적습니다           ★
  ② 거기 쓰이는 속성만                      ★
  ③ 나머지는 상세 도구로                  ★
그리고 검색과 상세를 나누는 이유가         ★
이것입니다.
  검색   고르기 위한 것 → 5속성           ★
  상세   자세히 볼 것 → 필요한 만큼          ★

4. ★ 「전체」 와 「더있음」

상한을 걸면 잘립니다.                        ★
그리고 안 알리면
  모델이 20건이 전부인 줄 압니다.          ★
그래서 둘을 꼭 주세요.
  "전체": 1800,   ← 실제 몇 건인지          ★
  "더있음": true  ← 잘렸다는 표시            ★
그리고 안내도
  "1,800건 중 20건. 검색어를 좁히세요."      ★
그러면 모델이 좁혀서 다시 부릅니다.       ★

5. 「없음」 을 실패로 만들지 마세요

· 도구가 제대로 돌았고                    ★
· 결과가 0건인 것
이건 성공입니다.                          ★
오류로 주면
· 모델이 고장인 줄 압니다                 ★
· 그래서 다시 부릅니다
· 또 0건입니다                             ★
· 그리고 결국 지어냅니다                  ★
그리고 안내에 지어내지 말라고 적으세요.   ★
  "해당 품목이 없습니다.                     ★
   없는 품목을 만들어 답하지 마세요."       ★

6. 모양 — JSON 인가 표인가

  들어갈 때  표가 쌉니다                   ★
  나올 때    JSON (검증되니까)               ★
도구 응답은 들어가는 것입니다.            ★
그래서 표가 낫습니다.
  품번    품명      규격    단위             ★
  A001    브라켓A   M8      EA               ★
  A002    브라켓B   M6      EA               ★
· 따옴표·중괄호가 없습니다                 ★
· 40건이면 차이가 큽니다                   ★
· 읽기도 낫습니다                          ★
다만 구조가 깊으면 JSON 이 낫습니다.      ★

7. 이름표를 붙이세요

  [출처: ERP · 기준시각 2026-09-12 14:20]    ★
· 출처가 여럿이면 섞임을 막습니다         ★
   (컨텍스트 2주차 Day 4)
· 기준시각이 있으면 답에 같이 나옵니다    ★
   "재고 120개 (14:20 기준)"              ★
두 줄입니다.                                 ★

8. 제조 현장의 실제

어느 업체, 도구 응답을 규격으로 맞췄습니다.
  전 — 도구마다 달랐습니다                  ★
  품목검색   배열만                          ★
  실적조회   { data: [...], meta: {...} }    ★
  재고조회   { items: [...], total: n }      ★
  오류       도구마다 제각각                  ★
그래서
· 모델이 매번 다르게 읽었습니다           ★
· 「없음」 을 실패로 읽기도 했습니다        ★
· 그리고 프롬프트에 도구마다 설명이       ★
  들어갔습니다
규격을 맞춘 뒤
  프롬프트의 도구 설명  1/3               ★
  「없음」 을 오류로 읽음  월 40건 → 0건   ★
  지어냄  월 18건 → 2건                   ★
그리고 새 도구를 붙일 때
  설명을 안 늘렸습니다. 규격이 같으니까요.  ★

9. ★ 규격이 있으면 도구가 싸집니다

도구를 하나 더 붙일 때
  규격이 없으면

   · 응답 모양을 정하고                     ★
   · 프롬프트에 설명을 붙이고
   · 오류 처리를 또 쓰고                    ★
  규격이 있으면

   · 맞추기만 하면 됩니다                  ★
   · 프롬프트는 그대로
그래서 먼저 규격을 정하세요.              ★
도구를 다 만들고 나서 맞추려면
전부 고쳐야 합니다.                       ★

10. 오늘 해 볼 것 (15분)

① 지금 응답 모양을 모아 보세요

  도구        모양                           ★
  ________    ____________
  ________    ____________                   ★
  → 같나  ○/✗                                ★
② 공통 규격을 정하세요

  성공  ____________________                 ★
  없음  ____________________                 ★
  실패  ____________________                 ★
③ 도구별 속성을 고르세요

  도구        상한   속성                    ★
  ________    __건   ____________
  ________    __건   ____________            ★

11. 내일 할 것

이번 주를 마무리합니다.

도구 명세를 한 장으로 씁니다. 이름 · 설명 · 인자 · 응답까지.


이 글은 MCP 과정의 2주차 4일차입니다. 과정 전체 보기

진도와 검색이 되는 판: AXPulse 기술따라가기

댓글

이 블로그의 인기 게시물

자재관리는 잘 쓰는데 BOM은 엑셀입니다

협력사 AI 로봇 도입, 공급망 스마트 제조 생태계 대응 전략

개발 테스트 자동화, AI 에이전트와 MCP 도입 전략