toranalytics
🦜

직접 만들어 공개한 도구와 그 과정

#off-the-wall#claude-code#codex

Claude Code 플러그인 개선하려고 5가지 해 봤는데 하나도 기준을 못 넘었다

2026.10.29

Off the Wall은 Claude Code와 Codex용 플러그인이다. 에이전트에게 했던 지적을 저장해 뒀다가 비슷한 일을 시킬 때 내가 했던 말 그대로 다시 보여 준다. 이 글은 잘된 것보다 안 된 걸 쓴다. 배운 게 거기에 더 많았다.

일단 되는 것부터

모델은 내가 커밋 메시지나 날짜를 쓰는 습관을 알 수 없다. 그런 습관 11개를 내가 만들어서 작업으로 바꾸고, 칸당 3번씩 33번 돌렸다. 화면 없이 자동으로 실행했다.

  • Claude Sonnet은 플러그인이 없으면 33번 중 2번, 있으면 20번 습관을 따랐다.
  • haiku는 첫 시험에서 1번에서 17번, 다시 재니 2번에서 25번이었다.

전부 내가 만든 습관이고 실제 사용자 기록이 아니다. 결과를 본 뒤에 채점기 오류를 고쳤기 때문에 재측정은 독립된 재현도 아니다. Opus와 Codex 모델은 못 재 봤다. 시험 설계는 쉬운 설명 글에 있다.

고치고 싶었던 문제

이 플러그인은 관련 없는 요청에도 인용을 붙인다. 저장된 지적과 상관없는 요청 8개에서 평균 1.8개가 붙었다. 나는 처음에 “비슷한 게 없으면 아무것도 붙이지 않는다”고 썼는데 사실이 아니었고, 그래서 공개로 정정했다. 지금 어떻게 붙는지는 otw explain으로 볼 수 있다. 가짜 저장소에서 하이쿠 요청을 넣어 본 실제 출력이다.

otw explain 실제 출력. 하이쿠 요청인데도 지적 3개가 붙는다

쓸모 있는 인용은 그대로 두고 이런 잡음만 줄이고 싶었다. 시험 전에 계획과 통과 기준부터 파일로 정해 놓고, 아이디어를 하나씩 돌렸다. 결과부터 말하면 다섯 개 다 못 넘었다.

시도 1. 단어 조건을 걸었다

공통 단어가 2개 이상이거나 드문 단어 1개가 겹칠 때만 붙이게 해 봤다. 지적 150개가 있는 저장소에서는 관련 없는 인용이 6.0개에서 2.0개로 확 줄었다. 좋아 보였는데, 같은 습관이 반복되는 240개짜리 저장소에서는 6.0개에서 5.5개로 거의 그대로였다. 저장소 하나에서만 되는 조건이라 버렸다.

시도 2. 짧은 입력용 변형 6개

짧은 입력에 붙는 인용을 줄이려고 변형을 6개 만들어 봤다. 기준을 넘은 게 없었다. 원래 있던 보호 장치(짧은 입력은 예전 기준을 쓴다)를 그대로 뒀다.

시도 3. 임베딩 모델을 붙였다

글자가 아니라 뜻으로 고르는 쪽을 보려고 작은 로컬 임베딩 모델(all-MiniLM-L6-v2)을 써 봤다. 한 설정은 잡음을 크게 줄였다. 그런데 따로 떼어 둔 사례에서 쓸모 있는 인용까지 너무 많이 놓쳤다. 설정을 3개 더 바꿔서 돌렸는데 같은 기준에서 전부 떨어졌다.

시도 4. 지적 옆에 원래 요청도 같이 보여 줬다

지적만 보여 주는 것보다 “그때 내가 뭘 시켰는지”까지 같이 보여 주면 모델이 더 잘 따르는지 봤다. 인용만 보여 줬을 때 33번 중 20번, 인용과 요청을 같이 보여 줬을 때 19번이었다. 이득이 없어서 안 넣었다.

시도 5. 같은 지적의 반복을 하나로 묶었다

위키처럼 같은 내용은 하나로 합치는 방식의 기억을 보고 가져온 아이디어다. 18/40 대 20/40으로 11% 올랐는데 내가 정한 기준은 25%였다. 기각했다.

결과 말고 배운 것

  • 시험 러너가 실험 두 개에서 선택을 3개에서 자르고 있었다. 기본값은 6개다. 발견하고 기록해 뒀고 원래 숫자는 그대로 남겼다.
  • 작업 하나의 채점기가 틀려서 나중에 다시 채점했다. 원래 표는 그대로 두고 옆에 정정을 적었다.
  • 내가 만든 시험을 통과한 것과 실제 사용자한테 도움이 되는 건 다른 얘기다. 진짜 시험은 내 지적이 쌓이고, 알맞은 때 돌아오는지다. 그 증거는 아직 없다.

코드, 계획, 데이터, 실패한 시험 기록은 전부 저장소 docs에 있다. 세션에서 관련 없는 인용이 붙었거나 필요한 인용이 빠졌으면 이슈로 알려 주면 좋겠다. 원문은 안 보내도 된다.

© Junebeom Seo · template by danmin