같은 뉴스가 30번 들어올 때, 효과적인 중복 제거 3단계

외부 뉴스 소스 수십 개를 수집하는 파이프라인을 만들면서 수집보다 더 골치 아픈 문제가 따로 있었다. 같은 사건이 매체마다 제목만 살짝 바꿔서 들어온다. 연준이 금리를 올리면 그 한 사건이 30개 매체에서 30개의 제목으로 쏟아진다. “연준, 기준금리 0.25%p 인상”, “Fed 25bp 금리 인상 단행”, “미 연준 금리 또 올렸다”… 사람 눈엔 같은 사건이지만 문자열로는 전부 다르다. 이걸 … 더 읽기

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

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

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

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

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

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

Agent에게 Tool을 열어줄 때 내가 세운 3가지 원칙

– 금융 도메인에서 Tool 권한을 설계하며 배운 것들 지난 글에서 Orchestrator와 Agent의 역할을 분리하는 이야기를 했다. 그 글 마지막에 이렇게 썼다. “다음 글에서는 Agent에게 어떤 Tool을 어떻게 제한적으로 열어줬는지를 정리해보려 한다.” 이번 글은 그 이야기다. 1. Tool을 열어주는 순간, 통제권이 넘어간다 Agent에게 Tool을 주는 건 생각보다 무거운 결정이다. LLM이 텍스트만 생성할 때는 최악의 경우가 “이상한 … 더 읽기