본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 04:06

Helicone이 유지보수 모드에 들어가서 제가 원했던 경량 대안을 만들었습니다.

요약

Helicone의 유지보수 모드 전환에 대응하여, 솔로 개발자가 만든 경량 LLM 비용 추적 도구 TokenWatch를 소개합니다. 복잡한 인프라 없이 SQLite와 비동기 측면 처리를 통해 에이전트의 예산 초과를 방지하고 기능/고객별 마진을 추적합니다.

핵심 포인트

  • 프록시 없이 비동기 방식으로 동작하여 지연 시간 최소화
  • SQLite 기반의 단일 프로세스로 복잡한 설치 과정 생략
  • 예산 100% 도달 시 BudgetExceededError를 발생시키는 킬 스위치 기능
  • 단순 트레이싱을 넘어 기능 및 고객별 마진 기여도 분석 제공
  • Python 및 Node.js 환경을 지원하는 경량 SDK 제공

만약 LLM 비용 추적을 위해 Helicone을 사용하고 계셨다면, 아마 이 소식을 접하셨을 겁니다. Mintlify 인수 이후로 공식적으로 유지보수(maintenance) 모드에 들어갔습니다. 기능 개발이 중단되었습니다. 16,000개 이상의 조직들이 조용히 다른 대안을 찾고 있습니다. 또 다른 인디 친화적인 옵션인 Langfuse는 지난 1월 ClickHouse에 인수되었는데, 이를 자체 호스팅하려면 ClickHouse + Postgres + Redis + S3를 실행해야 합니다. 자신의 API 청구서를 확인하기 위해서 말이죠.

한편으로 문제는 나아지기는커녕 더 심각해지고 있습니다. 우리는 모두 에이전트(agents)를 운영하고 있는데, 에이전트는 특별한 재능을 가지고 있습니다. 즉, 제한 없는 재귀 루프가 월 $4k 예산을 3주 만에 $11.2k 청구서로 바꿀 수 있다는 것입니다 (실제 사례). 제공업체 대시보드는 당신이 얼마를 지출했는지 알려줄 뿐입니다. 어디서, 어떤 기능으로, 어떤 고객에게 사용되었는지는 말이죠.

그래서 저는 솔로 AI 개발자로서 제가 원했던 도구인 TokenWatch를 만들었습니다:

npx tokenwatch-sdk serve   # localhost:4318에서 대시보드가 실행됩니다. 이게 전체 설정입니다.
import { wrapAnthropic, init } from 'tokenwatch-sdk';

const claude = wrapAnthropic(new Anthropic(), { feature: 'summarize', customerId: 'acme' });
...

모든 호출 — 스트리밍을 포함하여 — 은 이제 추적됩니다: 모델, 토큰, 비용, 지연 시간(latency), 오류가 기능과 고객에게 할당되어 추적됩니다.

설계 결정 (즉, 기존 서비스들에 대한 저의 불만들)

  1. 요청 경로에 프록시가 없습니다. 호출이 OpenAI/Anthropic으로 바로 전송되며, 원격 측정(telemetry)은 비동기적으로 측면에서 처리됩니다. 모니터링 도구가 제품 장애의 이유가 되어서는 안 됩니다.

  2. 단일 프로세스, SQLite 사용, 네이티브 의존성 제로입니다. Node에 내장된 node:sqlite를 사용합니다. 서비스 4개짜리 Docker compose가 아닙니다. 사용 데이터는 사용자 기기에 남아 있습니다.

  3. 예산 차트가 아니라 예산 '킬 스위치'입니다. 월별 예산을 설정하세요. 80% 도달 시 웹훅이 작동하고, 100% 도달 시 더 이상 비용을 지출하는 대신 wrapped calls에서 BudgetExceededError를 발생시킵니다. 대시보드를 보는 것이 새벽 3시에 에이전트 루프를 막아주지는 못합니다. 예외(exception)가 그렇게 합니다.

  4. 트레이스(traces)가 아니라 마진 기여도(Margin attribution)입니다. 트레이싱 UI는 디버깅용으로 만들어졌습니다. 대부분의 경우 저는 더 간단한 질문을 합니다. 어떤 기능이 돈을 잃고 있고, 어떤 고객이 수익성이 좋은가? 비용은 저장된 쿼리가 아니라 기능별, 고객별 기본 보기로 제공됩니다.

  5. 의존성이 거의 없는 Python SDK입니다. 표준 라이브러리만 사용합니다. wrap_openai(client)를 호출하면 끝납니다.

이것이 아닌 것 (What it's not)

이것은 트레이싱 플랫폼도 아니고, 평가(eval) 스위트도 아니며, 트레이스에 살고 있는 50명 규모의 팀에게 Langfuse를 대체하지 못할 것입니다. 이것은 솔로 빌더와 소규모 팀을 위한 80% 도구입니다: 돈이 어디로 가는지, 품질이 저하되는지, 그리고 출혈을 자동으로 막는 것이 목적입니다.

MIT 라이선스이며 v0.1 버전으로, 공개적으로 구축되었고 부분적으로 AI 에이전트(Claude Code가 상당 부분을 작성했는데, AI 지출을 모니터링하는 도구로 적절하게 재귀적이라는 느낌을 주었습니다)의 도움을 받았습니다. 피드백, 이슈, 그리고 가감 없는 솔직한 의견을 환영합니다.

GitHub: [https://github.com/jkhusanovpn/tokenwatch]

LLM 비용 추적에 현재 어떤 설정을 사용하고 계신가요? 그리고 에이전트가 청구서로 놀라게 한 적이 있나요?

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0