루프 밖에서.
에이전트 시스템 내부를 들여다보고, 이미 한 일을 다시 하는 지점을 찾아내는 오픈소스 도구와 리서치.
멀티에이전트 파이프라인, 코딩 에이전트, 툴 호출 루프 — 이미 한 일을 다시 합니다. 그 비용은 누군가 트레이스에서 찾아내기 전에 청구서에 먼저 도착합니다. Boxdawn은 그 반복을 결정론적으로 잡아내는 오픈소스 도구입니다 — CLI로 직접 실행하면 LLM 판정을 켜지 않는 한 여러분의 머신 밖으로 나가지 않습니다 — 그리고 측정이 무엇을 보여주고 무엇을 보여주지 않는지 그대로 공개합니다. 세 코퍼스 총 16,864건 세션에서 실행 — 실제 Claude Code 세션 28건, 22개 프론티어 모델의 공개 벤치마크 트래젝토리 6,780건, Exgentic 에이전트-LLM 트레이스 10,056건.
$ pip install "boxdawn[detect]"오픈소스 · 로컬 실행 · 기본은 결정론 · LLM-judge는 opt-in
낭비는 에이전트 안이 아니라, 에이전트 사이에 있습니다.
APM은 서비스를, 추적 도구는 단일 에이전트를, 게이트웨이는 개별 호출을 감시합니다. 프로덕션에서 가장 비싼 실패 — 이미 끝낸 일을 다시 하는 에이전트 — 는 그 사이의 틈에서 발생합니다.
동일한 질의에 두 번 발동하는 리트리버. 위임했다가 같은 결과를 돌려받고 다시 위임하는 플래너. 이미 답을 알고 있는데도 다시 묻는 팀. 어느 것도 단일 스팬 안에서는 보이지 않습니다.
값싼 필터가 먼저, 비싼 검증은 그다음.
Boxdawn은 트레이스를 그래프로 읽어 2단 캐스케이드로 실행합니다. 구조 패스는 마이크로초 단위로 후보를 걸러내고, 의미 패스는 살아남은 것만 봅니다 — 전체를 훑지 않습니다.
trace.json ─▶ ┌────────────────────────────┐
│ 1. STRUCTURAL PASS │
│ (byte-exact, O(n)) │
│ provable duplicate │
└──────────┬─────────────────┘
│
┌──────────▼─────────────────┐
│ 2. CONTEXT RESEND │
│ (chunk-level match) │
│ input-side accounting │
└──────────┬─────────────────┘
│
┌──────────▼─────────────────┐
│ 3. REDUNDANT READ │
│ (file re-read events) │
└──────────┬─────────────────┘
│
┌──────────▼─────────────────┐
│ 4. LLM-JUDGE (opt-in) │
│ (semantic paraphrase) │
│ API key required │
└──────────┬─────────────────┘
▼
report.md같은 에이전트가 같은 입력으로 다시 실행됩니다. 그 사이에 새로 유입된 정보는 없습니다.
두 에이전트가 새로운 상태를 만들지 않고 서로에게 계속 넘깁니다.
구현됨 — 실제 트레이스에서는 아직 관측되지 않음
매 API 호출마다 대화 전체가 다시 전송됩니다. 긴 에이전트 세션에서는 input 토큰의 약 97%가 재전송 컨텍스트(byte-exact 청크 매칭)로 누적됩니다.
같은 파일이 사이에 쓰기 없이 여러 번 Read 됩니다. 컨텍스트에 이미 있는 것을 잊는 코딩 에이전트에서 흔합니다.
바이트는 다르지만 의미가 같은 두 메시지 청크(paraphrased 재전송). opt-in LLM-judge 층이 감지 · 기본 비활성 · API 키 필요.
Opt-in 전용 · ANTHROPIC_API_KEY 필요
pingpong은 실제 멀티에이전트 트레이스가 있어야 나타납니다. 단일 에이전트 코딩 세션이나 Toolathlon에서는 발생하지 않습니다.
참고 — 네 번째 후보 패턴이었던 regen_handoff은(는) 사전 등록 기준을 통과하지 못해 제외되었습니다. Proven / Not Yet 섹션 참조.
증명된 것. 아직 아닌 것.
대부분의 도구는 이 섹션을 숨깁니다. 우리는 이게 곧 제품이라고 생각합니다.
- 문제는 실재합니다. 토큰 비용은 멀티에이전트 시스템의 최상위 운영 통증이며, 낭비는 에이전트 안이 아니라 사이에 있습니다. (공개 시장 데이터, 출처 링크)
- 외부 증거 · 문제 실재. F1 0.72 · 1,575건 LangGraph 에이전트 트레이스 — hybrid 방식, 별개 구현 (arXiv:2511.10650).
- 실측 데이터에서의 의미 층 분리. 실측 프로브에서 위양성 0은 구조 층에서 나왔고, 의미 층은 동일 주제 출력을 깔끔히 분리하지 못했습니다. 우리는 이 결과를 숨기지 않고 공개했습니다.
- 실측 절감. 아직 프로덕션에서 1달러도 절감을 측정하지 못했습니다. 사용자 수, 후기 없음 — 아직 없기 때문입니다.
오른쪽 항목이 왼쪽으로 옮겨질 때, 이곳에서 가장 먼저 읽으시게 됩니다.
오픈소스입니다. 신뢰 자체가 곧 제품이니까요.
Boxdawn은 MIT 라이선스이며 기본값은 결정론입니다. 네 개의 디텍터 — provable duplicate, context resend, redundant read, pingpong 후보 — 가 로컬에서 실행됩니다. API 호출 없음, 가입 없음. 다섯 번째 층 semantic-duplicate LLM-judge는 opt-in 전용입니다: 기본 비활성이며, ANTHROPIC_API_KEY와 CLEW_ENABLE_LLM_JUDGE=1을 명시적으로 설정해야 활성화됩니다. 결정론 층은 같은 트레이스가 들어가면 매번 같은 리포트가 나옵니다.
$ pip install "boxdawn[detect]"$ boxdawn analyze your_trace.jsonOpenTelemetry SDK JSON과 OpenInference 트레이스 익스포트를 지원합니다 — LangGraph, CrewAI, AutoGen, LlamaIndex, 그리고 표준을 따르는 모든 것.
Box + Dawn.
Box — 에이전트가 실행되는 불투명한 런타임입니다. 매 호출은 페이로드가 들어가고 응답이 나오는 사이의 일 — 그 안에서 무엇이 일어났는지는 트레이스에 남지 않습니다. 그게 black box입니다. Dawn — 그 안에 숨어 있던 낭비가 처음 드러나는 순간입니다. 결정론적 디텍터가 트레이스를 읽어 같은 일을 두 번 처리한 반복을 표면으로 끌어올립니다. 그게 dawn입니다. 두 단어, 하나의 제품.
Boxdawn은 서울에서 전세원이 창업한, 공개적으로 만들어가는 1인 기업입니다. 핵심 규율은 anti-self-deception — 결과를 보기 전에 기준을 등록하고, 평가는 단 한 번만 실행하며, 부정적인 발견도 성공과 함께 공개합니다. 이 제품의 첫 버전은 자체 사전 등록 시험을 통과하지 못했습니다 — 우리는 그것을 폐기하고, 공개적으로 밝히고, 그 위에서 이 버전을 만들었습니다.
서울에서 만들고 있습니다. 공개적으로 만들고 있습니다.
프로덕션에서 멀티에이전트를 돌리고 계신가요? 여러분의 트레이스를 원합니다.
Boxdawn은 세 공개 벤치마크 코퍼스 총 16,864건 세션(실제 Claude Code 세션 28건, Toolathlon 트래젝토리 6,780건, Exgentic 에이전트-LLM 트레이스 10,056건)으로 검증되었습니다. 다음 정직한 단계는 팀의 프로덕션 트레이스입니다 — 그리고 그건 여러분에게 달려 있습니다. 실행 트레이스(OTel 또는 OpenInference JSON)를 보내주시면 Boxdawn에 통과시켜 정확히 무엇을 찾았는지 — 위양성을 포함해 — 회신드립니다. 가입 없음, 아무것도 팔지 않습니다.
외부에 데이터를 공유할 수 없나요? 좋습니다 — 그게 바로 local-first의 목적입니다. Boxdawn을 직접 실행하시고 숫자만 공유해주세요. 어느 쪽이든 여러분의 트레이스는 재보정에 직접 반영되며, 원하시면 공개적으로 크레딧을 남깁니다.