교육을 팔아먹는 것이 가장 가성비가 좋음. 책임은 없고 비용청구만 있음. AI는 이런 장사의 큰 파이를 차지할 것임

몇년 전에 본거 같은데

일단 원본사이트가니, 이미지로 설명이 되어 있어 직관적으로 이해하기 쉽네요.

산책이나 독서 같은 오프라인 활동을 늘리면 좋아집니다. ㅎㅎ

3번(에이전트 간 책임 분리)이 제일 어려운 부분 같습니다. 공개 벤치마크 트레이스를 좀 들여다본 적이 있는데, 거기서 본 패턴 하나 공유드립니다.

가장 흔했던 건 "잘못된 결정"보다 같은 작업이 두 번 실행되는 것이었습니다. 같은 인자로 이메일 발송이 반복되거나, 같은 파일이 다시 쓰이거나. 특히 타임아웃 후 재시도 구간에서 자주 나왔습니다 첫 호출이 느렸을 뿐인데 실패로 판단해서 다시 부르는 식이죠.

이게 추적하기 까다로운 이유가, 에러가 안 난다는 겁니다. 두 번 다 200이고 로그도 깨끗해서 사후에 로그만 봐서는 안 보입니다.

저희가 쓰는 방법은 (도구, 정규화된 인자, 출력 해시)로 묶어서 같은 조합이 반복되는지 기계적으로 세는 겁니다. LLM 판단 없이 계산만으로 되니까 재현 가능하고요. 다만 한계가 명확한데 "두 번 호출됐다"까지만 알지 "실제로 두 번 실행됐는지"는 트레이스만으론 확인이 안 됩니다. 응답에 엔티티 ID를 주는 도구(문서 생성 API 같은)는 ID를 비교해서 확인 가능한데, 이메일처럼 "발송 성공"만 돌려주는 도구는 방법이 없더군요.

2번 말씀하신 "빠른 속도를 위해 그냥 통과시키는" 부분도 공감합니다. 저희도 실시간으로 막는 걸 검토했는데, 실행 전에는 결과를 볼 수 없어서 인자만으로 판단해야 하고 그 정확도가 낮았습니다. 정상적인 재시도까지 막아버리는 경우가 생겨서 접었습니다.

버그수정 또한 매우 저렴해졌고 소프트웨어 업데이트 비용도 0에 수렴하는데다 금융권급 아니면 버그는 고치면 그만인 경우가 많긴해서...
근데 이런 인식이 쌓이면 결국 대형사고가 일어나는거겠죠

써보시다가 점프백이 헛도는 대화나 "이건 좀 불편한데" 싶은 부분 있으면 편하게 댓글 남겨주세요. 사이트마다 대화 구조가 달라서 실사용 사례가 제일 큰 도움이 됩니다. 다음으로는 Perplexity 지원이랑 Notion/Obsidian 내보내기를 보고 있는데, 더 급한 게 있다면 그것부터 하려고요 ㅎㅎ

감사합니다. 써보시고 점프백이 안 잡히는 대화가 있으면 편히 알려주셔요~
저도 써보고는 있는데, 실제 다른 유저분들의 불편 사항도 함께 들을 수 있으면 좋을 것 같네요 ㅎㅎ

에이전트가 수정할 때마다 diff 로그를 관찰해서 산탄총 수술이나 대량의 변경을 일으킨다면 SE적 악취로 보고 강화학습이 가능할 것 같기도 하네요...

[보기 불편하실까봐 READ ME 한국어 번역본을 적어드렸습니다!]
Clew
에이전트 트레이스에서 낭비된 작업을 찾는 결정론적 탐지기.

Clew는 완료된 AI 에이전트 실행 트레이스를 읽어서, 이미 수행된 작업을 반복한 스텝 — 같은 도구를 같은 인자로 재호출, 실패한 호출을 동일 인자로 재시도, 이미 컨텍스트에 있는 정보를 다시 조회 — 을 찾아냅니다. LLM 판정 없이 동작하므로, 같은 트레이스를 넣으면 언제나 같은 결과가 나옵니다.

pip install "clew-custos[detect]"
python -m clew analyze ~/.claude/projects/<slug>/<uuid>.jsonl --out report.md

공개 Claude Code 세션에 돌린 실제 출력 예시:

Result: WASTE DETECTED

  • wasted spans: 1
  • category breakdown: 0 error_repeat, 0 side_effect, 1 idempotent, 0 unclassified

1. requery — Read on .../boot.ts

  • turns: turn 50 → re-run at turn 58 (of 258 total)
  • state: No modification of this file in between — re-read output is unchanged.
  • re-consumed across 200 subsequent turns (≈439 tokens/turn → 87800 amplification tokens)
  • estimated cost impact: $0.026340 ~ $0.263400 (cache-hit to cache-miss)

이게 왜 중요한가

AI 코딩 에이전트 세션은 청구서로만 낭비가 드러납니다. 모든 도구 호출이 200을 반환하고, 아무것도 에러를 내지 않기 때문에 낭비가 눈에 보이지 않습니다. 하지만 트레이스 안에서는 에이전트가 같은 파일을 두 번 읽고, 실패한 호출을 동일 인자로 재시도하고, 같은 도구를 같은 페이로드로 다시 부릅니다.

코딩 에이전트 세션에서 읽기(read) 작업이 토큰의 65~90%를 차지하기 때문에, 이런 낭비는 눈에 띄지 않게 쌓입니다. 관측성 도구들은 트레이스를 보여주지만, 어느 스텝이 중복이었는지는 알려주지 않습니다.

무엇을 탐지하나

Clew는 세 가지 중복 패턴을 찾습니다:

repeat — 같은 도구/노드가 반복 호출됨
requery — 같은 도구가 같은 입력으로 재호출됨 (출력 동일)
pingpong — 두 에이전트가 실질적으로 같은 내용을 주고받음 (멀티에이전트)

각 발견은 네 가지로 분류됩니다:

error_repeat — 출력이 에러인데 같은 호출을 반복
side_effect — 상태를 변경하는 도구(전송/쓰기/생성 등)를 재실행
idempotent — 읽기 전용/선언적 도구를 반복 (부작용 없음, 토큰은 소모)
unclassified — 매핑에 없는 도구. 효과가 페이로드에 달려 있어 도구 이름만으로 추론하지 않음 (Bash/PowerShell 등)

[어떻게 동작하나]
2단계 캐스케이드입니다:

구조 게이트 — 같은 도구를 같은 (정규화된) 인자로 호출한 것끼리 묶음
동일성 게이트 — 출력의 sha256이 완전히 일치하는지 확인. 다르면 상태가 변한 것이므로 플래그하지 않음

값싼 구조 검사가 먼저 후보를 추리고, 비싼 의미 검사(임베딩+코사인)는 필요할 때만 실행됩니다. LLM 판정이 없으므로 결과가 결정론적입니다 — CI에 넣고 싶다면 이 점이 중요합니다.

[입력 형식]
Claude Code — 세션 JSONL을 직접 분석
LangGraph — 트레이스에서 체인 중복 탐지
LangChain·CrewAI·AutoGen·LlamaIndex 등 — OpenTelemetry/OpenInference 표준 형식으로 계측된 트레이스를 파싱 (형식 지원이며, 프레임워크별 실측 검증은 진행 중)
공개 벤치마크 트레이스 (Toolathlon, RedundancyBench)

Cursor와 Codex 세션은 아직 지원하지 않습니다 — 로컬 포맷을 검토 중입니다.

[검증 결과]

공개 벤치마크 (Toolathlon, 6,780 트레이스, tool span 176,270개):
중복 호출 8,042건 탐지. 그중 47%는 회색지대(멱등 연산, 완료 선언)이며, 이를 제외하면 4,251건(tool span 대비 2.41%). Claude Code 세션(0.80%) 대비 약 3배.

상태 변경 도구의 중복 실행 1,343건, 여기에 같은 인자로 반복된 이메일 발송 459건 포함. 단, 이는 같은 도구가 같은 인자로 중복 호출됐다는 탐지이며, 실제로 부작용이 발생했는지는 확인되지 않았습니다.

라벨링 벤치마크 (RedundancyBench):
precision 0.826 (파일 내 중복에 대한 하한 추정치). RB 라벨의 상당수는 파일 간(cross-file) 중복으로, 세션 단위 분석 설계의 범위 밖입니다. recall은 0.157로 낮습니다.

[정직 경계]
측정된 절감 사례는 아직 없습니다. 탐지하고 추정할 수는 있지만, 실사용자가 무언가를 고쳐서 청구서가 실제로 줄어든 before/after 데이터는 0건입니다.
벤치마크에서 플래그된 것의 47%는 회색지대(멱등 재실행)입니다. 걸러내지 않고 분류만 합니다 — 읽기 전용 재실행이 낭비였는지는 볼 수 없는 맥락에 달려 있기 때문입니다.
sha256 완전일치를 요구하므로 출력이 조금만 달라도 플래그하지 않습니다. recall이 낮은 이유이며, 정밀도 쪽에 서 있는 설계입니다.
Claude Code는 유난히 잘 최적화돼 있습니다. 실제 CC 세션에서 후보 낭비 패턴 여섯 개를 측정했는데 다섯 개는 거기 존재하지 않았습니다. 흥미로운 낭비는 CC 자체가 아니라 다중 도구 MCP 환경에서 나타났습니다.
비용 추정(amplification)은 측정이 아니라 추정이며, Claude Code 포맷에서만 가능합니다.
검증되지 않은 것은 폐기합니다

파일 재읽기 탐지기를 만들었다가, 30건 표본 사람 주석에서 정밀도가 사전등록 임계(70%)를 크게 밑돌아(관대하게 봐도 3.3%, 엄격하면 0%) 폐기했습니다. 예측과 결과는 사전등록 문서에 함께 남겨뒀습니다.

작성자 업데이트입니다. 본문에서 한 줄로만 언급한 MCP 서버 부분을 따로 정리한 글을 올렸습니다 — 에이전트가 마이그레이션을 짤 때 컬럼명을 제멋대로 짓는 문제를, 물리명을 "입력"이 아니라 단어사전 기반 "계산"으로 바꿔서 푸는 구조입니다:
https://sqemo.com/blog/erd-mcp-server

(아직 stdio 로컬 전용이라 원격 MCP는 미지원, 앱 본체는 비공개이고 MCP 서버만 오픈).

무가입으로 바로 써볼 수 있으니(app.sqemo.com) 걸리는 부분 있으면 댓글 주세요 — 초기라 피드백이 바로 반영됩니다.

업데이트 기록 (2026-07-25)

첫 글 이후 Repolis를 단순한 3D repo 브라우저보다, 다시 방문할 이유가 있는 작은 마을 쪽으로 계속 확장했습니다.

  • GitHub traffic과 공개 repo 정보가 매일 건물과 야간 조명에 반영됩니다.
  • 8명의 주민과 각자의 집이 있는 Starlight Row, 낮/밤 생활 루틴과 주민들의 짧은 산책·교류를 추가했습니다.
  • Explorer Passport, Village Chronicle, Town Gazette로 방문 기록과 새 repo·release·push·지표 변화를 이어서 볼 수 있습니다.
  • threejs-sculpt-dna Copilot plugin으로 만든 procedural World Tree를 실제 Repolis 도시에 배치했습니다.
  • 기본은 여전히 백엔드와 키가 필요 없는 zero-build static app이고, grounded AI taxi/scholar 기능만 선택 사항입니다.

새 글을 만들기보다 이후 변경사항도 이 원글 댓글에 이어서 기록하겠습니다.

Live: https://hyeonsangjeon.github.io/Repolis/
Source: https://github.com/hyeonsangjeon/Repolis

cnaa97 | | parent | on: Em 대시는 놀라운 문장부호다 (substack.com/psychotechnology)

맥 한글 키보드에서는 입력 안됨 ㅜ 클로드에서는 답변할때 더 마크 많이 사용하던데 한글 사용자에게는 익숙치않은...

저도 배포 되었길래 써봤는데.. 음 한국어는 아직 ㅠ

작성자입니다. 본문에 못 담은 것 몇 가지 보충하면 —

· 데모 영상(폰 승인 플로우, 데스크톱 3분할 커맨드센터)은 랜딩에 실캡처로 있습니다: adhf.dev
· 셀프호스트는 npm i -g adhdev 한 줄, localhost:3847에 대시보드가 뜹니다 (계정 불필요)
· ff-only 머지 설계나 MAGI 교차검증이 실제로 뭘 잡는지 같은 설계 질문 환영합니다

피드백 주시면 바로 반영하겠습니다.

전 gpt6 를 기대했는데... opus5가 나왔으니 신모델이 나와야하지 않을까요.

요즘은 기술부채가 아니라 인지부채를 말하죠.
가끔 동료들과 이야기 하다보면 자기가 만든건데도 동작을 제대로 이해 못하고 있는 모습을 종종 볼 때 약간 소름 돋기는 합니다.

이렇게 시간이 지나면 아무도 동작을 이해하지 못한 상태가 될텐데, AI 한테 분석시키고 물어보면 되니까 문제가 아닌가 라는 싶기도 하네요.

이런글 넘 좋아요

추론에쓰면 개꿀인데