제품

01/how it works

호출 하나가 아니라 실행 전체.

Boxdawn은 호출 하나씩이 아니라 실행 전체를 읽습니다. 지금은 에이전트가 두 번 한 일을 보여 주고, 다음에는 실행되면 안 될 행동을 막습니다.

이런 순간을 위해 만듭니다.

패턴
repeat

같은 에이전트가 같은 입력으로 다시 실행됩니다. 그 사이에 새로 유입된 정보는 없습니다. JSON 리포트의 비용 breakdown 에서는 provable_duplicate 로 키잉되고, 대시보드가 그 이름으로 조회하는 이유가 그것입니다. 그 옆의 waste-rate 블록은 repeat 을 씁니다.

패턴
context_resend

매 API 호출마다 대화 전체가 다시 전송됩니다. 긴 에이전트 세션에서는 input 토큰의 약 97%가 재전송 컨텍스트(byte-exact 청크 매칭)로 누적됩니다.

패턴
redundant_read

같은 파일이 사이에 쓰기 없이 여러 번 Read 됩니다. 컨텍스트에 이미 있는 것을 잊는 코딩 에이전트에서 흔합니다.

패턴
duplicate_creation

에이전트 바깥의 무언가를 바꾸는 도구가 같은 입력으로 두 번 실행되고, 두 실행이 서로 다른 id 를 돌려줍니다. 두 번째 호출이 두 번째 개체를 만든 것입니다. id 가 같으면 같은 개체이고, id 를 돌려주지 않는 도구는 어느 쪽으로도 판정하지 않습니다.

패턴
semantic_duplicate

바이트는 다르지만 의미가 같은 두 메시지 청크(paraphrased 재전송). opt-in LLM-judge 층이 감지 · 기본 비활성 · API 키 필요.

Opt-in 전용 · ANTHROPIC_API_KEY 필요

pingpong은 실제 멀티에이전트 트레이스가 있어야 나타납니다. 단일 에이전트 코딩 세션이나 Toolathlon에서는 발생하지 않습니다.

pingpong 은 구현돼 있지만 위 카드에는 넣지 않았습니다. 리포트가 그 이름을 붙이는 것은 pingpong 검출기가 직접 낸 쌍뿐이고, 낭비율 지표는 이름으로 그것을 제외합니다.

참고: 네 번째 후보 패턴이었던 regen_handoff은(는) 사전 등록 기준을 통과하지 못해 제외되었습니다. Proven / Not Yet 섹션 참조.


02/reference

Boxdawn이 아는 것.

도구 분류
  • read_only
  • side_effect
  • payload_dependent
  • declarative
프레임워크
  • LangChain / LangGraph
  • CrewAI
  • LlamaIndex
  • OpenAI Agents SDK
  • Smolagents
탐지기
  • find_repeat_candidates
  • find_pingpong_candidates
  • find_context_resend
  • find_redundant_reads
  • find_llm_judge_semantic_duplicates
입력 형식
  • Boxdawn Trace JSON
  • OTel SDK JSON
  • Claude Code JSONL
  • Toolathlon JSONL
  • OpenInference nested
  • RedundancyBench
Register your tools (clew.yaml)
version: 1
tools:
  search_web:    { category: read_only }
  create_ticket: { category: side_effect, entity_id: response.ticket.id }
  run_python:    { category: payload_dependent }
  finalize:      { category: declarative }

03/report

공개 트레이스 하나, 라이브로 잰 값.

재전송 입력 토큰
1,596,520 중 1,413,682 (88.5%)
재전송 입력 비용
$1.595870 중 $0.903964 (56.6%)
전체 분석 비용 대비 낭비
$1.972395 중 $0.903964 (45.8%)
재전송된 청크 등장 횟수
1,050

davanstrien/agent-race-traces 의 claude-code.jsonl(claude-opus-4-7 Claude Code 세션, CC-BY-4.0)을 호스팅 분석기에 올려 2026-10-28에 측정했습니다. 분석기가 보고한 버전은 boxdawn 0.5.24입니다. 같은 파일을 올리면 같은 수치가 나옵니다. 위에는 분모가 둘 있고 서로 바꿔 쓸 수 없습니다. 45.8%는 입력과 출력을 합한 전체 분석 비용 대비 낭비이고, 56.6%는 LLM 입력 비용만을 분모로 한 재전송 입력 비용입니다. claude-opus-4-7 은 가격표에 있으므로 달러 수치는 대체 요율이 아닙니다. 공개 트레이스 한 건이지 코퍼스 평균이 아닙니다.

같은 트레이스 올려 보기 →
브라우저에서
트레이스를 놓습니다. 계정 없이.
트레이스를 놓습니다. 계정 없이.
분석기가 돕니다. 분이 아니라 초 단위입니다.
분석기가 돕니다. 분이 아니라 초 단위입니다.

04/reproducible

숫자는 직접 확인하세요. 설치할 것은 없습니다.

네 개의 디텍터(repeat, context resend, redundant read, duplicate creation)는 모두 결정론적입니다. 같은 트레이스를 넣으면 매번 같은 리포트가 나옵니다. 분석 페이지에 공개 샘플 트레이스를 계정 없이 올려 보시면, 이 페이지가 인용하는 것과 같은 88.5%가 나옵니다.

OpenTelemetry SDK JSON과 OpenInference 트레이스 익스포트를 지원합니다: LangGraph, CrewAI, LlamaIndex. OTLP proto-JSON은 아직 지원하지 않습니다.

결정론 우선결정론적OTel / OpenInference

05/roadmap

Where we are on the chain.

Boxdawn 은 사슬입니다: monitor → detect → block → alert → fix → govern. 오늘 돌아가는 고리는 탐지이고, 올려 주신 기록을 분석하는 서비스로 돌아갑니다. 나머지는 만들고 있습니다. 어느 것이 어느 쪽인지는 이 페이지에서 확인하실 수 있습니다.

오늘 돌아가는 것
  • 호스팅 분석기, 계정 불필요
  • 결정론적 탐지기 4종
  • 실제 usage 필드에서 뽑은 비용
  • 계정 + 프로젝트별 이력
  • 일별 낭비율, 세션 날짜 기준
  • CI·스크립트용 API 키
  • Claude Code 차단기 플러그인: 위험한 명령은 실행 전에 막거나 묻기
다음에 만들 것
  • 에이전트 오류, 번지기 전에 차단
  • 차단 알림 (메일, Slack)
  • 자동 수정
  • 정책·거버넌스
  • 폭주 루프 중단
  • Claude Code 예산 가드, 금액 한도 기준
  • 실시간 모니터링
알림은 명세와 사전등록이 끝나 있습니다. 비교 규칙과 볼륨 하한, 발화 임계값을 구현 전에 글로 먼저 고정했기 때문에 첫 버전을 나중에 보기 좋게 맞출 수 없습니다. 아직 구현되지 않았습니다. 오른쪽 칸에 있는 것은 오늘 쓸 수 없고, 어느 칸에도 없는 기능은 계획한 적이 없는 것입니다.
실시간 낭비 차단은 저희가 직접 폐기했습니다. 먼저 적어 둔 기준 0.70에 정밀도 0.6333이 나와 내보내지 않았습니다. 파괴적 행동과 에이전트 오류를 실행 전에 막는 것은 다른 검사입니다. 앞의 것은 2026년 11월 1일 Claude Code 차단기 플러그인으로 출하했고, 에이전트 오류를 잡는 것은 아직 만들고 있습니다. 이 폐기 결정은 저희 알림 사전등록 문서에 기록돼 있습니다. 그 문서는 알림이 무엇도 예측하지 못한다는 것도 함께 적고 있습니다. 실시간 모니터링과 알림은 다른 주장이고, 그 둘은 위 목록에 있습니다.

Boxdawn 은 진단합니다. 고치지 않습니다. 측정된 절감액은 아직 없습니다. 저희는 찾은 것을 보고하지, 아낀 것을 보고하지 않습니다.