task-progress-mod v0.2: 에이전트의 진행 표시줄이 도구 출력을 요약합니다
요약
새로운 Claude Code Mod인 task-progress-mod v0.2는 에이전트가 도구(tool)를 실행하는 동안 실시간 진행 표시줄을 제공합니다. 이 모드는 방대한 도구 출력을 분석하여 '무슨 일이 발생했는지'를 한눈에 요약해 보여줍니다. 이를 통해 사용자는 복잡한 로그 속에서 핵심적인 작업 상태 변화를 쉽게 파악할 수 있습니다.
핵심 포인트
- 도구 실행 결과를 실시간으로 압축 요약하여 표시합니다.
- 테스트/빌드 로그, JSON 출력, Diffs 등 다양한 출력을 처리합니다.
- 사용자(인간)의 가독성을 높이는 데 초점을 맞춘 모듈입니다.
- Claude Code v2.1.287 이상에서 사용 가능하며 플러그인 설치가 필요합니다.
task-progress-mod v0.2: 에이전트의 진행 표시줄이 도구 출력을 요약합니다
task-progress-mod는 작은 Claude Code Mod(종속성 없음, 순수 JS)로, 에이전트가 TodoWrite 목록을 처리하는 동안 프롬프트 위에 실시간 진행 표시줄을 고정합니다. v0.1에서는 에이전트가 어디에 있는지 보여주었습니다. v0.2는 방금 무슨 일이 발생했는지 보여줍니다.
문제점
긴 도구 실행은 수만 자의 내용을 기록(transcript)에 쏟아냅니다. 테스트 로그 중 95%가 PASSED 라인이고, 차분(diff)은 잠금 파일 변경(lockfile churn)으로 지배되며, JSON 블롭에는 300개의 항목이 포함되는 식입니다. 실제로 사용자가 원하는 정보("통과했는지? 무엇이 실패했는지? 무엇이 변경되었는지?")는 파묻혀 있습니다.
v0.2가 하는 일
이는 tool.result를 가로채(hook), 출력을 한 줄로 압축하고, 진행 표시줄 아래에 이를 그려줍니다 — "진행 상황 + 압축 요약"을 한눈에 볼 수 있습니다:
██████░░░░ 60% · step 3/5 · 테스트 작성 중…
⏷ Bash · 214 passed, 2 failed — tests/test_thing.py::test_edge_a FAILED
이 요약기는 휴리스틱(heuristic) 기반이며 실패 시에도 작동합니다 (fail-open):
- 테스트/빌드 로그: 실패 상세 정보 + 통과 카운트 (
214 passed, 2 failed — <첫 번째 실패>; 모든 것이 녹색일 때는41 passed`) - JSON 출력: 페이로드(payload)가 아닌 골격 구조(
{status: "ok", results: [...300 items], total: 300}) - 차분 (Diffs): 파일별로
(+a/−d)를 표시하며 잠금 파일 노이즈는 축소 (diff: 1 file — src/index.js (+2/−1) · 1 lockfile hidden) - 짧은 출력: 그대로 한 줄에 표시
이 라벨은 도구 이름으로 지정되며, 항상 가장 최근의 도구 출력을 반영합니다 — 이는 또한 저렴한 편차 감지기(deviation detector) 역할을 합니다. 만약 에이전트가 계획에서 벗어난다면, 다음 todo 업데이트 이전에 요약 라인이 이를 보여줍니다.
왜 압축 도구가 아닌 Mod여야 하는가
컨텍스트-압축 도구는 토큰을 절약하기 위해 모델을 위한 도구 출력을 축소하며, 이는 파이프라인 내에서 눈에 띄지 않게 일어납니다. 이것은 인간을 위한 압축입니다: 요약 정보가 진행 표시줄 옆 화면에 그려지므로, 로그를 읽지 않고도 신호를 얻을 수 있습니다. 같은 압축 아이디어지만, 대상 청중이 다릅니다.
사용해 보기
Claude Code v2.1.287 이상 (Mods 지원)이 필요합니다:
/plugin install ./task-progress-mod
63개의 smoke test, 모의 엔진(mocked engine), 의존성 없음(zero dependencies): node tests/test_mod.js.
레포지토리: https://github.com/hahahahahahahahah6/task-progress-mod
라이선스: MIT
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기