처음 만들어 본 MCP 서버 – ‘읽기 전용’을 설계의 출발점으로 둔 이유

공모전에 낼 외환 MCP를 짜면서 도구 하나하나에 대해 “이건 안 만든다”를 먼저 정한 기록 필자는 핀테크에서 AI를 다룬다. 그동안 MCP는 쓰는 쪽이었다. Claude Code에 서버를 붙이고 남이 만든 도구를 호출하고. 가끔 응답이 이상하면 로그를 들여다보는 정도. 만드는 쪽은 처음이었다. 마침 카카오에서 여는 에이전트 공모전이 있었고 “외환 환율을 다루는 MCP 서버”를 출품해 보기로 했다. (나는 환전업 … 더 읽기

수백 건의 뉴스를 LLM 코멘터리 한 편으로 – 출력 강제와 실패 기록

외부 뉴스 소스 수십 개를 수집하는 파이프라인을 만들었다. 수집하고, 중복을 거르고, 죽은 소스를 끊어내고 나면 매일 깨끗한 뉴스 데이터가 출력되고 쌓인다. 그런데 거기서 한 가지 문제가 남았다. 데이터만 쌓아두면 아무도 안 읽는다. VSI 경보 몇 건, 과열 섹터 몇 개, 헤드라인 수백 줄. 이걸 표로 던져주면 그건 리포트가 아니라 로그 덤프다. 매일 아침 “그래서 오늘 … 더 읽기

못 미더운 외부 소스를 가두는 법 2가지 – 서킷브레이커와 소스 health 관측

외부 뉴스 소스 수십 개를 수집하는 파이프라인을 만든 적이 있다. RSS, YouTube, 공시, 검색 API 같은 외부 소스에서 뉴스를 긁어모으는 구조였다. 여기서 가장 빨리 배운 건 알고리즘이 아니었다. 외부 소스는 반드시, 그리고 제멋대로 실패한다는 사실이었다. 어떤 RSS는 어제까지 멀쩡하다 오늘 502를 뱉고 어떤 피드는 형식이 깨진 채로 응답한다. 문제는 소스 하나의 실패가 파이프라인 전체를 끌어내린다는 … 더 읽기

프롬프트 캐싱, 진짜 손익분기는 어디인가 – Opus 4.7로 60번 호출해서 측정한 비용 곡선

지난 글에서 프롬프트 캐싱을 처음 도입할 때 알아둘 7가지를 정리했다. 그 글 마지막에 이렇게 약속했다. “같은 시스템 프롬프트를 캐싱 없이 / 5분 TTL / 1시간 TTL로 각각 N번 호출하면서 누적 비용이 어떻게 갈라지는지 직접 측정한다.” 약속한 실험을 돌렸다. 같은 prefix를 세 가지 모드로 각 20번, 총 60번 호출했다. 먼저 결론부터 던지면 이렇다. 같은 작업을 캐싱 … 더 읽기

프롬프트 캐싱, 처음 도입할 때 알아둬야 하는 7가지

지난 글에서 Agent 운영의 토큰 종류를 다섯 가지로 쪼개 정리했다. 그 글 마지막에 이렇게 약속했다. “다음 글은 토큰값을 진짜로 이해하고 나서 시작한 프롬프트 캐싱 실험이다.” 그런데 실험에 들어가기 전에 한 번 짚고 가야 할 게 있었다. “캐싱이라는 게 정확히 뭘 캐싱하는 거지?” 이름만 들으면 다 안다고 착각하기 쉬운 개념이다. 필자도 한참 동안 “시스템 프롬프트를 어딘가에 … 더 읽기

Agent를 관측하는 3가지 도구 살펴보기 ft. LLM Token

– Tool 권한 설계 시리즈, 마지막 편 지난 글에서 Agent에게 Tool을 어떻게 제한적으로 열어줬는지를 정리했다. 그 글 마지막에 이렇게 썼다. “다음 글에서는 이렇게 설계한 멀티 에이전트 시스템을 실제로 운영하면서 겪은 모니터링과 디버깅 이야기를 정리해보려 한다.” 이번 글이 그 이야기다. 처음부터 모니터링을 제대로 짜둔 건 아니었다. 어느 날 token 사용량이 급격히 줄어든 걸 보고 나서야 깨달았다. … 더 읽기