본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 05. 16. 01:40

【속편】Pixel Agents v1.3에서 지난번의 과제가 거의 전부 해소되어 본격적인 운용이 가능해진 이야기

요약

Pixel Agents v1.3 버전 업데이트를 통해 기존 사용자들의 주요 불편 사항들이 대폭 개선되어 본격적인 운용이 가능해졌습니다. 특히 외부 터미널이나 `claude --resume` 명령을 통해서도 에이전트 기동을 자동으로 감지하는 기능(External session support)이 추가되었고, 멀티 루트 워크스페이스에서 캐릭터별 소속 폴더명 라벨을 표시하여 프로젝트 구분이 용이해졌습니다. 또한, Claude Code Hooks를 활용하여 작업 완료 후 비활성 에이전트가 자동으로 사라지는 기능도 구현되어 사용자 경험이 크게 향상되었습니다.

핵심 포인트

  • 외부 터미널 및 `claude --resume` 명령으로도 Agent 기동 자동 감지 (External session support)
  • 멀티 루트 워크스페이스에서 캐릭터별 소속 폴더명 라벨 표시로 프로젝트 구분 용이
  • Claude Code Hooks를 통한 작업 완료 에이전트의 자동 비활성화/삭제 기능 구현
  • Pixel Agents 사용 시, Watch All Sessions 설정을 활성화해야 모든 세션 관찰 가능

서론

안녕하세요, And Dot의 CTO Takanezawa입니다.

지난번에는 Claude Code의 「기도하는 시간」을 즐겁게 만들어 주는 VS Code 확장 프로그램인 Pixel Agents를 설치해 본 기사를 작성했습니다.

그로부터 약 1개월. 기사 마지막에 「향후 업데이트에 기대함」이라고 적었던 3가지 불만 사항이, 놀랍게도 v1.3.0에서 거의 전부 해소되었습니다!

claude를 순수 터미널에서 실행하는 사람도 포착할 수 있게 되어, 운용 플로우를 거의 바꾸지 않고 도입할 수 있습니다.

v1.3의 오피스 화면. 각 캐릭터 위에 「툴 이름」과 소속 폴더명("blog")이 나란히 표시되어 있다. 오른쪽 하단에 "v1.3" 버전 표시도 추가되었다.

본 기사는 지난번으로부터의 차이점(v1.2)을 정리한 속편입니다. 지난 기사를 읽지 않으신 분들은 꼭 그쪽도 함께 확인해 주세요!

지난번에 느꼈던 과제와 v1.3에서의 해소 상황

먼저 지난 기사에서 언급했던 3가지 과제에 대해, v1.3에서 어떻게 변했는지 비교해 봅시다!

지난번의 과제 (v1.2 시점)v1.3에서의 상황관련 PR
① 「+ Agent」 버튼을 통해서만 기동을 인식함해소: 외부 터미널이나 claude --resume도 자동 검출#115
② 기동 디렉토리가 워크스페이스 루트로 고정됨실질적 해소: 멀티 루트 대응 + 임의의 폴더에서 cdclaude 검출#102
③ 종료된 에이전트가 사라지지 않음해소: Claude Code Hooks를 통해 확정적으로 종료 검지#187, #214, #231

이 중 운용 방식이 가장 많이 바뀐 것은 ①이라고 생각합니다! 차례대로 설명하겠습니다.

① 「+ Agent」를 경유하지 않아도 기동 가능

v1.2에서는 「claude를 터미널에서 직접 기동하면 Pixel Agents가 인식하지 못한다」라는 꽤 큰 제약이 있었습니다.

저는 평소 tmux로 여러 팬(Pane)을 열어두고, 각 팬에서 별도로 claude를 실행하는 운용을 하고 있기 때문에, 굳이 VS Code로 통일하는 것은 번거롭다고 생각하며 절반쯤 포기하고 있던 부분이었습니다.

그런데 v1.3에 포함된 PR #115 (External session support) 덕분에 상황이 완전히 바뀌었습니다.

원문을 인용하면 다음과 같습니다.

Automatically detects and tracks Claude Code sessions running in the VS Code extension panel, external terminals (claude, claude --resume), or any process writing JSONL to the project directory.

즉, ~/.claude/projects/ 하위에 JSONL 트랜스크립트(Transcript)를 작성하는 프로세스라면, 기동 경로를 불문하고 포착할 수 있게 되었습니다.

실제로 동작을 확인하기 위해, Pixel Agents를 열어둔 상태에서 다른 iTerm 창으로부터 claude를 실행했더니, 약 2~3초 만에 오피스에 새로운 캐릭터가 나타났습니다.

claude --resume <session-id>로도 동일하게 포착됩니다.

이로써 「Pixel Agents로 관찰하기 위해 매번 확장 프로그램의 버튼을 통해 기동해야 한다」는 부담이 사라졌고, 평소 사용 방식 그대로 유지하다가 관찰하고 싶을 때만 Pixel Agents를 열면 되게 되었습니다! 개인적으로는 가장 고마운 개선입니다.

VS Code의 통합 터미널이 아니라, claude를 직접 기동한 상태. Pixel Agents 측의 오피스에 해당 세션의 캐릭터가 나타나 있다.

② 멀티 프로젝트에서도 폴더명 라벨을 통해 차이를 알기 쉬워짐

지난 기사의 스크린샷을 다시 살펴보면, v1.2 시점에서는 캐릭터 위에 「어떤 툴을 사용하고 있는지」만 표시되어 있었습니다.

(재게시) v1.2 시점의 모습

이번 v1.3 (PR #102)에서는 멀티 루트 워크스페이스 또는 「Watch All Sessions」를 켰을 때, 캐릭터마다 소속 폴더명 라벨이 나타나도록 되어 있습니다.

이는 서두의 사진과 동일한 것이지만, 캐릭터 위에 "Reading tmp-figure-productivity.png"라는 툴 이름이 나오고, 그 아래에 작게 "blog"라고 표시되어 있습니다.

이것은 어떤 독자적인 태그 기능이 아니라, path.basename(cwd)로 가져올 수 있는 폴더명 그 자체입니다. Claude Code를 ~/work/blog/에서 실행하고 있다면 "blog"라고 표시되는 단순한 구조로 되어 있습니다.

언뜻 보기에는 작은 변경처럼 보이지만, 저처럼 동시에 3~4개의 프로젝트를 실행하는 경우에는 매우 효과적이었습니다.

"오른쪽 아래 캐릭터는 blog 리포지토리에서 무언가를 하고 있다", "왼쪽 위 캐릭터는 terraform이다"라는 것을 한눈에 알 수 있기 때문에, 알림 소리만으로는 "어느 에이전트가 어디서 무엇을 하고 있었더라"라며 갈피를 잡지 못했던 과제가 거의 해소되었습니다.

설정할 때는 Pixel Agents 우측 상단의 톱니바퀴 아이콘 → Settings에서 Watch All Sessions를 ON으로 설정해 주세요.

기본값은 OFF이므로, 직접 활성화해야 한다는 점에 주의가 필요합니다.

v1.3에서 추가된 토글 그룹. Watch All Sessions 외에도, 후술할 Instant Detection (Hooks)나 Always Show Labels도 여기서 전환할 수 있음

③ Hooks-first 아키텍처로, Idle 캐릭터가 사라지도록

v1.2 시점에서 가장 신경 쓰였던 점은, 완료된 에이전트 캐릭터가 사무실에 계속 머물러 있다는 것이었습니다.

하루 동안 사용하다 보면 "Idle 표시의 유령"이 10명 정도 쌓여버려서, 누가 활성(Active) 상태인지 알 수 없게 됩니다. VS Code를 재시작하여 완료된 에이전트 캐릭터를 퇴실시키는 것이 일과가 되어 있었습니다.

하루 일과 막바지, 여러 프로젝트를 병렬로 실행한 후의 모습. "Idle" 표시의 캐릭터가 대량으로 남아 있어, Reading 중인 유일한 활성 캐릭터(claude-hook.js를 읽고 있는 캐릭터)가 파묻혀 버린다"

v1.3에서는 PR #187과 PR #214를 통해, 검출 방식이 「Claude Code Hooks 우선 + JSONL 폴링(Polling)의 폴백(Fallback)」의 이중화로 변경되었습니다.

Hooks가 작동하게 되면 무엇이 좋으냐 하면, 기존에는 "JSONL의 끝부분이 일정 시간 업데이트되지 않으면 Idle/종료로 간주한다"라는 휴리스틱(Heuristics)에 의존해야 했으나, 이제는 Stop / SessionEnd 이벤트를 직접 받는 구조가 된다는 것입니다. SessionStart, PreToolUse, PostToolUse, SubagentStart, Notification까지 총 11종의 이벤트를 포착할 수 있도록 설계되었습니다.

설정 불필요, Hooks 등록도 필요 없음

이 부분이 은근히 고마운 포인트입니다. v1.3을 설치하면, Hooks 등록을 아무것도 하지 않아도 됩니다. README를 읽어도 "hook"이라는 문자열은 전혀 나오지 않습니다. 이는 공식 측에서 설명을 누락한 것이 아니라, 확장이 설치될 때 백그라운드에서 전부 처리해주기 때문입니다.

실제로 자신의 ~/.claude/settings.json을 들여다보니, 본 적 없는 hooks 블록이 11종 추가되어 있었습니다.

"hooks": {
"SessionStart": [
{
...

~/.pixel-agents/hooks/claude-hook.js가 hook 핸들러 본체이며, ~/.pixel-agents/server.json에 로컬 HTTP 서버의 port / pid / 인증 토큰이 기록됩니다. Claude Code가 무언가를 할 때마다 hook script → 로컬 HTTP → webview로 흐르는 구조입니다. port는 자동으로 할당되었습니다 (제 환경에서는 62006).

효과는 즉시 체감할 수 있음

설정을 건드리지 않은 채 v1.3으로 변경한 후 일주일 정도 사용하고 있는데, Idle 유령은 단 한 번도 발생하지 않았습니다. 서브 에이전트가 완료되어도 사라지지 않는 별도의 버그(PR #231)도 동시에 해결되었기 때문에, Task 도구로 서브 에이전트를 대량으로 실행해도 재시작할 필요가 없어졌습니다.

VS Code를 재시작해야 했던 루틴이 사라진 것만으로도 사용 체감은 완전히 다릅니다.

또한 토글을 통한 전환 기능도 마련되어 있습니다.

이 Settings 패널에 있는 Instant Detection (Hooks)가 기본적으로 ON 상태입니다.

이곳을 OFF로 설정하면 폴백(Fallback) JSONL 폴링(Polling)만으로 동작합니다 (Idle 유령이 돌아오기 때문에, 특별한 사정이 없다면 건드리지 않는 것이 좋습니다).

설정을 폐기하고 싶은 경우에는 ~/.claude/settings.jsonhooks 블록과 ~/.pixel-agents/ 디렉토리를 삭제하면 원래대로 돌아옵니다.

VS Code로 연 ~/.claude/settings.json. SessionStart, SessionEnd, Stop … 등 11종류의 hook이 node 명령어로 claude-hook.js를 호출하는 형태로 등록되어 있음

실제로 사용해보며 느낀 점

상당한 개선이 이루어진 v1.3이지만, README의 "Known Limitations"에 대해서는 조금 신경 쓰이는 점이 있었습니다.

Claude Code's JSONL transcript format does not provide clear signals for when an agent is waiting for user input or when it has finished its turn. The current detection is based on heuristics (idle timers, turn-duration events) and often misfires.

앞서 언급한 Settings에서 Instant Detection (Hooks)를 OFF로 하거나, 다른 확장 프로그램이나 CI 환경에서 hooks가 덮어씌워지는 환경에서는 여전히 Idle 판정이 흔들릴 수 있다는 점입니다.

일반적으로 설치하여 사용하는 한 hooks 경로로 동작하기 때문에 문제가 되기 어렵지만,

~/.claude/settings.json을 사내 템플릿으로 배포하고 있는 조직은 Pixel Agents의 자동 추가분과 충돌(Conflict)하지 않는지 확인해 두는 것이 안심할 수 있는 방법입니다. 추가로, Open VSX 배포가 현재 비어 있는 Cursor나 VSCodium 사용자는 .vsix 파일을 직접 설치해야 합니다.

실제로 Cursor를 사용하는 동료가 "Marketplace에서 찾을 수 없다"라고 말했는데, 위 사항이 원인이었던 것 같습니다. 이용하실 때 주의해 주세요!

숫자로 보는 v1.2 → v1.3

릴리스 후 1개월간의 성장세에 대해서도 소개하고자 합니다 (수치는 2026년 5월 6일 기준).

지표v1.2 당시 (4월)v1.3 당시 (5월)
GitHub Stars약 6,4007,276
...

니치(Niche)한 도구임에도 불구하고 성장률이 크며, 커뮤니티의 열기는 상당히 높아졌습니다. v1.2.0..v1.3.0의 커밋 수는 16개, PR(Pull Request) 수는 CHANGELOG를 보면 20개가 넘습니다. 1개월의 스프린트(Sprint) 치고는 상당한 양이며, 게다가 사용자 측의 불만 사항이 깔끔하게 해결되었다는 점이 매우 놀라웠습니다.

요약

지난 기사에서 언급했던 과제들이 거의 릴리스 노트 하나로 해소되는 경험은 드물며 매우 놀라웠습니다...!

"기도의 시간"을 관찰하기 위한 확장이, 관찰되는 대상(=자신의 운용)을 확장에 맞추지 않아도 되게 되었다는 것이 v1.3의 본질이라고 생각합니다.

아직 설치하지 않으신 분은 그대로 두시고, v1.2에서 이탈했던 분들도 3분이면 다시 설치할 수 있으니 꼭 시도해 보세요.

다음에는 2개월 정도 후에 더욱 진화한 Pixel Agents에 대해 글을 쓸 수 있기를 기대하고 있겠습니다!

함께 "폭속(爆速) 문화"를 만들 동료를 모집하고 있습니다

앤드앤드(And.And)에서는 생성형 AI와 함께 프로덕트를 만들어 나가며, 소수 정예로 큰 성과를 내는 조직을 목표로 하고 있습니다. AI 활용을 전제로 한 새로운 개발 스타일에 관심이 있는 분은 꼭 한 번 캐주얼하게 이야기 나누어 봅시다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0