
이번 편이 만지는 곳: 개발의 캐시와 AI 모델, 외부 API. 캐시로 속도를 올리고 MCP로 도구를 연결해 스스로 도구 쓰는 에이전트를 붙인다.
찾는 문제는 지난 편에서 풀었다. 이제 찾은 문서로 답을 만들 차례다. 두 가지를 붙인다. 속도를 끌어올리는 캐시, 그리고 데이터베이스를 도구처럼 연결해 스스로 답을 짜는 에이전트. 이번 편에서 처음 쓰는 Claude Code 기능은 외부 도구를 잇는 MCP와, 추론 강도를 조절하는 /model과 /effort다.
캐시 — 자주 쓰는 물건은 책상 위에
매번 창고(데이터베이스)나 외부 API까지 다녀오면 느리다. 자주 쓰는 결과를 빠른 저장소(메모리)에 잠깐 두는 게 캐시다. 흔히 메모리 기반의 빠른 저장소인 Redis를 쓴다. 없으면 가져와 저장하고(Cache-aside), 일정 시간이 지나면 만료시킨다(TTL(Time-To-Live: 데이터 유효 시간)). 책상 위의 책은 편하지만 옛날 판본일 수 있다. TTL이 60초면 1분간 옛 데이터를 보여 준다는 뜻이다. 가격처럼 자주 바뀌는 건 짧게, 거의 안 바뀌는 건 길게 잡는다.
AI 에이전트 — 스스로 도구 쓰는 직원

LLM(Large Language Model: 대규모 언어 모델)에 도구(Tool)와 반복 루프를 더하면, 목표를 단계별로 스스로 수행하는 구조가 된다. 대표 패턴이 ReAct(Reasoning + Acting: 추론과 행동 결합)다. 생각하고, 도구를 부르고, 결과를 관찰하고, 다시 생각한다. 사람이 자료를 찾아 가며 답을 좁혀 가는 방식과 같다. 이 에이전트와 캐시 같은 AI 작업은 FastAPI(Python) 백엔드에서 돌린다.
MCP — AI의 USB-C 콘센트
MCP(Model Context Protocol: 모델 컨텍스트 프로토콜)는 AI와 외부 도구(데이터베이스나 API, 웹검색)를 잇는 표준 규격이다. 콘센트 규격이 같으니 어떤 도구든 같은 방식으로 꽂힌다. 데이터베이스를 코드에 직접 붙이는 것보다, 표준 콘센트로 꽂으면 나중에 도구를 바꿔 끼우기 쉽다. Claude Code 자신도 MCP로 외부에 연결되고, /mcp로 관리한다. 복잡한 작업이라면 /effort high나 ultrathink 같은 키워드로 추론 강도를 올린다.
따라하기 1 — 캐시 전후 체감
느린 외부 호출 결과를 Redis 호환 캐시(서버리스 무료 등급)에 Cache-aside로 저장하고
TTL 60초를 걸어 줘. 적용 전후 응답 시간을 찍어 줘.적용 후 응답이 눈에 띄게 빨라지는지 본다. 그리고 묻는다. "TTL 60초면 데이터가 1분 늦게 갱신된다. 우리 서비스에서 1분 지연은 괜찮나?"
따라하기 2 — MCP로 데이터베이스를 도구로 연결
/mcp
PostgreSQL(로컬, 운영은 Supabase)을 MCP로 연결해서, AI가 우리 문서 DB를 도구로 검색할 수 있게 해 줘./mcp에 연결이 잡히는지 확인한다.
따라하기 3 — 문서 질의응답에 ReAct 에이전트
/effort high
사용자 질문을 받으면 (1) 우리 문서 DB를 검색(Tool)하고 (2) 부족하면 웹 검색까지 해서
답하는 ReAct 에이전트를 붙여 줘. 어떤 순서로 도구를 불렀는지 로그로 보여 줘.답이 나오는 동안 도구 호출 순서를 로그로 본다. 데이터베이스를 먼저 보고, 부족할 때 웹검색으로 넘어가는 합리적 순서인가? 이 루프를 한 장으로 보면 이렇다.

따라하기 4 — 함정과 종료 조건 (오늘의 시연)
에이전트가 도구를 불필요하게 여러 번 부르거나, 루프가 끝나지 않는 경우를 일부러 본다. 사람처럼 "적당히"를 모르니, 멈출 지점을 우리가 정해 줘야 한다.
도구 호출 횟수 상한과 종료 조건을 넣어 줘.띄워서 확인 — 에이전트가 한 일을 검증한다
에이전트가 답을 내놨다고 그 과정까지 멀쩡한 건 아니다. 도구를 몇 번이고 부르거나 루프가 안 끝나는 일이 흔하다. 그러니 답이 아니라 도구 호출 로그를 본다. 어떤 순서로 무엇을 불렀는지 직접 읽고, "왜 이 도구를 이렇게 여러 번 불렀는지" 되묻고, 일부러 까다로운 질문을 던져 무한 루프에 빠지지 않는지 깨뜨려 본다.
캐시 적용 전후 응답 시간과, 에이전트가 부른 도구 목록을 화면이나 로그로 보여 줘.- 캐시 적용 후 응답이 눈에 띄게 빨라졌는가?
- 에이전트가 데이터베이스를 먼저, 부족하면 웹검색 순으로 합리적으로 도구를 쓰는가?
- 종료 조건이 있어 무한 루프가 안 나는가?
한 겹 더 — 답을 한 번 의심하게 만들기
.claude/agents/ 에 '답변 검증' 커스텀 서브에이전트를 만들어,
에이전트가 만든 답을 한 번 자기비판(Reflection)해서
근거가 부족하면 다시 답하게 해 줘.근거가 약한 답이 다시 쓰이는지 확인한다. 답을 한 번 의심하는 단계를 끼우는 것만으로 품질이 눈에 띄게 달라진다.
여기까지가 비대면으로 다루는 이론의 끝이다. 다음 편부터는 팀이 자기 서비스의 최소 기능 제품을 확정하고, 지금까지 배운 것을 곧바로 그 서비스에 적용한다.