Component trees
프론트엔드 컴포넌트 트리 — 중요한 state hook·모듈 경계만 남기고 나머지는 전부 생략. dex가 2025년 12월부터 리팩토링 때 써온 기법("에이전트·팀과의 멘탈 정렬에 super helpful").
에이전트가 산문 벽 대신 컴포넌트 트리·콜스택·다이어그램·diff로 대화하게 만드는 스킬 — 완역·요약·팩트체크
핵심 질문 — 코딩 에이전트가 갈수록 똑똑해지는데, 왜 에이전트와의 "대화"는 갈수록 읽기 힘들어지는가? 그리고 산문(prose) 대신 무엇으로 대화해야 하는가?
인간의 시각 피질은 수백만 년간 훈련된 공짜 병렬 프로세서다 — 텍스트 분석은 비싸고, 시각 정보 처리는 거의 공짜다. 그러니 에이전트의 출력을 "장황한 산문 벽"에서 "코드의 모양(shape)을 보여주는 컴팩트한 시각 표현"으로 바꾸면, 같은 정보를 훨씬 싸게 소화할 수 있다. /show-me는 이 원칙을 스킬 하나로 패키징한 것이다: 컴포넌트 트리·콜스택·다이어그램·파일 레이아웃·수도코드·타입 시그니처·diff·HTML 목업 8종의 표현 도구.
npx skills add … 한 줄이 설치의 전부라는 것만 알면 된다.요약만 볼 사람 (약 3분): tl;dr 한 줄 + 설치 명령 → "my proposal: show me" 섹션(coda hale 3줄 원칙 포함) → "What's inside"의 8개 소제목만 훑고 이미지 예시 2~3장 확인 → "go try it"의 사용법 두 줄.
완독할 사람 (약 12~15분): ① 도입부의 인용 트윗 4개(yishan·Mario Zechner·Connor·/bro 스킬)로 문제의식을 체감 → ② "i am so sick of this"에서 저자의 진단(RL이 모델의 voice를 갈아냈다는 주장 — 이건 사실이 아니라 저자 의견임을 표시해두고) → ③ 8개 표현 도구를 예시 이미지와 함께 하나씩, 특히 "types and signatures"와 "diff syntax"는 program design(코드 작성 전 코드의 모양을 먼저 논의하는 단계) 관점에서 정독 → ④ mattpocockuk의 /teach 스킬 힌트와 마무리 사용법.
코딩 에이전트가 산문의 벽(walls of prose) 대신 압축된 시각 표현으로 대화하게 만들자 — 그것을 스킬 하나로 패키징한 것이 HumanLayer의 /show-me다.
dex는 자신의 경험("하루에도 여러 번 겪는다")에 더해, 커뮤니티 4인의 공개 불만을 증거로 쌓는다.
/bro라는 스킬을 만듦: "전문용어 빼고, 사람이 사람한테 말하듯 더 단순·간결하게 다시 말해라"dex의 진단: 에이전트는 서류상(벤치마크상) 더 똑똑해졌지만, 이 축에서의 사용 경험은 눈에 띄게 나빠졌다. 사람들이 사랑하던 Claude의 목소리·인격·"소울"은 "RL 던전에서 씻겨 나갔고", sol은 덜 오글거리지만 여전히 눈이 풀리는 전문용어의 벽을 던진다.
HumanLayer가 내부 도구로 실험하던 것을 스킬로 공개. 에이전트가 무슨 일이 벌어지는지 산문의 벽 대신 간결한 비주얼로 설명하도록 프롬프트한다. HTML 렌더링보다 가볍고 빠르며, "대부분의 개발 작업 형태 문제에는 충분히 좋다(good enough)"는 포지셔닝.
인프라 시스템에서의 직관 vs 주의력에 관한 Coda Hale의 강연에서 영감을 받았다고 밝힌다.
정보를 분석하는 것은 어렵고 피곤한 일이다. 당신의 시각피질은 수백만 년에 걸쳐 풍부한 시각 정보를 힘들이지 않고 처리하도록 훈련됐다. 도구를 그에 맞게 최적화하라. — 도끼가 사람 손에 맞아야 쓸모 있듯, 소프트웨어는 사람의 마음에 맞아야 쓸모 있다.
프론트엔드 컴포넌트 트리 — 중요한 state hook·모듈 경계만 남기고 나머지는 전부 생략. dex가 2025년 12월부터 리팩토링 때 써온 기법("에이전트·팀과의 멘탈 정렬에 super helpful").
오케스트레이션·제어 흐름·백엔드형 문제용. Dillon Mulroy가 준 형식("내 계획은 대부분 타입/인터페이스 + 콜스택 의사코드"), Tanishq는 AST에서 콜스택을 직접 계산하는 도구까지 제작.
클래식. 인라인 mermaid를 지원하는 채팅이면 큰 도움 — "가끔은 여전히 슬롭이지만 보통 글 읽기보단 낫다". 팀 선호는 state diagram과 sequence diagram.
얕은 파일 트리 + 엔트리당 책임 한 줄. "이게 어디 사는가"와 리팩토링 스코핑에 좋다.
특히 알고리즘성 작업에서 실코드보다 간결하다.
코드가 존재하기 전의 "코드의 형태" — 아키텍처 문서에 넣기엔 너무 내부적이지만 에이전트가 틀릴 수 있는 것들 (예: resolveTarget(items, cursor) -> ItemId | null).
내용 대부분이 불변일 때 위 형식들에 diff 표기를 얹는다 — 컴포넌트 변경, 콜트리 변경, 파일 배치 변경, 상태/제어 흐름 변경 4종 예시.
"HTML이 우리 프로토타이핑에서 Figma를 대체했다." humanlayer 제품에선 에이전트 응답에 HTML을 직접 인라인 — 아니면 그냥 브라우저로 연다. @mattpocockuk의 /teach 스킬 HTML 설명서도 영감으로 인용.
npx skills add humanlayer/skills --skill show-me — 아무 코딩 에이전트에나.brew install humanlayer (tap: humanlayer/humanlayer) — 인라인 HTML·다이어그램 1급 지원./show-me 호출 후 라우트·서비스·기능·PR·현재 토픽을 가리키거나, "this is too much content. show me." / "/show-me as an html explainer"처럼 재진술 요청.이 기법이 가장 빛나는 곳은 요즘 다들 건너뛰지만 dex가 필수라 보는 program design 단계 — 에이전트가 코드를 쓰기 시작하기 전에 코드의 형태(타입·시그니처·콜스택)를 먼저 논의해야 한다는 주장. 같은 기법을 사후(post-hoc)에 대형 diff 탐색에 써서 리뷰 때 어디를 파야 할지 파악하는 용도로도 쓴다.
이 글의 성격: 1인칭 제품 소개 + 방법론 에세이 — 커뮤니티 불만을 근거로 자사(HumanLayer) 스킬/제품 설치를 유도하는 광고성이 섞여 있다.
tl;dr 에이전트가 산문 벽(walls of prose) 대신 시각적으로 대화하게 만들어라.
npx skills add humanlayer/skills --skill show-me
HTML보다 가볍고 빠르며, 대부분의 개발 작업 형태 문제에는 충분히 좋다.
레딧 전 CEO:
좋아, Claude의 거슬리게 끔찍한 말투(과장된 장황함 + 불필요한 축약이 뒤섞인 이상한 조합)를 계속 고쳐보려 하는데, 도저히 안 된다. 모델에 너무 깊이 박혀 있는 것 같다. 이 모델을 만드는 Anthropic 사람들은 하루 종일 이걸 대체 어떻게 쓰는 거지??
pi를 만든 Mario Zechner:
좋은 아침, 슬롭 갱(slop gang).
![]()
Replicas의 Connor:
Claude의 쓰레기 같은 글을 더는 못 읽겠는 게 나뿐인가? AI 특유의 말버릇 때문에 가장 기본적인 개념조차 알아들을 수 없게 된다
Dillon Mulroy는 모델에게 언어를 단순화해 달라고 요청하는 /bro라는 스킬까지 만들었다.
/bro는 여전히 무패다
![]()
그 내용은 이렇다:
마지막 메시지를 다시 말하라. 전문용어(jargon) 사용을 멈추고 조리 있게 말하라.
사람이 사람에게 말하듯, 더 단순하고 간결하게 진술하라.
에이전트는 서류상으로는 더 똑똑해졌지만, 이 측면에서의 사용 경험은 눈에 띄게 나빠졌다
사람들이 claude에서 사랑했던 것 — 그 목소리, 그 개성, 그 "영혼"은 RL 던전에서 씻겨 내려가 버렸다
sol은 그보다는 덜 오글거리지만, 여전히 눈이 게슴츠레해지는 전문용어 벽으로 우리를 정기적으로 때린다
최근에 받은 응답 하나를 보자. 이런 일이 하루에도 몇 번씩 일어난다
우리는 이 문제를 개선하기 위해 — 특히 코딩용으로 — 내부 도구들을 만지작거려 왔고, 그것들을 show-me라고 부르는 스킬로 공개하고 있다.
오늘부터 humanlayer에 탑재돼 있고, 다른 코딩 에이전트에서 쓰고 싶다면 여기서 받을 수 있다:
npx skills add humanlayer/skills --skill show-me
또는 인라인 HTML과 다이어그램을 일급(first-class)으로 지원하는 humanlayer 내장 버전을 받아라:
brew trust humanlayer/humanlayer
brew tap humanlayer/humanlayer
brew install humanlayer
인프라 시스템에서 직관(intuition) vs 주의(attention)를 다룬 coda hale의 강연을 본 적이 있다면, 여기서 어느 정도 영감을 받았다:
정보를 분석하는 일은 어렵고 지치는 일이다
너의 시각 피질은 수백만 년에 걸쳐 풍부한 시각 정보를 힘들이지 않고 처리하도록 훈련되었다
도구를 그에 맞게 최적화하라
도끼가 유용하려면 사람의 손에 맞아야 하듯, 소프트웨어가 유용하려면 사람의 마음에 맞아야 한다
/show-me는 에이전트에게 산문 벽 대신 간결한 시각 자료로 무슨 일이 일어나고 있는지 설명하도록 프롬프트한다.
이건 프로그램 설계(program design)에 정말 좋다 — 요즘 많은 사람이 건너뛰는 단계지만, 나는 필수라고 생각한다. 에이전트가 코드를 쓰는 작업에 들어가기 전에 코드의 형태(타입, 시그니처, 콜스택)를 논의해야 한다.
같은 기법은 대형 diff를 사후(post-hoc)에 탐색해서 리뷰 때 어디를 파고들지 파악하는 데도 쓸 수 있다.
프런트엔드에서도 같은 아이디어다 — 중요한 state hook과 모듈 경계는 남기고, 나머지는 전부 뺀다.
이건 2025년 12월에 트위터에 공유했던 것이다:
컴포넌트를 리팩토링하고 복잡한 state와 너무 많은 useEffect를 제거할 때, claude에게 이런 컴포넌트 트리를 그려 달라고 프롬프트해 왔다. 실제 계획을 쓰기 전에 에이전트와(그리고 팀과) 멘탈을 정렬하는 데 엄청나게 유용하다
![]()
오케스트레이션이나 제어 흐름(control-flow) 작업, 혹은 그냥 백엔드 형태의 문제라면 — dillon이 우리에게 이 "콜스택(call stack)" 형태를 알려줬다.
내 "계획서"는 대체로 타입/인터페이스, 그것들이 어떻게 조합되는지, 그리고 그 경계로 이루어진 의사코드(pseudo code)처럼 생겼다
최근에는 콜스택도 넣기 시작했다 — 구현할 때 나에게도 에이전트에게도 아주 유용했다
![]()
Tanishq는 AST에서 곧바로 콜스택을 계산해 내는 도구까지 만들었다
콜스택 diff가 내가 마크다운 계획서를 읽는 방식을 완전히 바꿔놨다
고마워요 @dillon_mulroy
![]()
클래식이다. 채팅 인터페이스가 인라인 mermaid를 지원한다면 큰 도움이 된다. (가끔은 여전히 슬롭이지만, 보통은 글을 읽는 것보단 낫다)
선택지는 많다. 우리는 상태 다이어그램(state diagram)과 시퀀스 다이어그램(sequence diagram)을 가장 좋아한다.
얕은 파일 트리에, 항목당 책임 한 줄. "이건 어디에 사는가" 질문과 리팩터 범위 잡기(scoping)에 좋다.
특히 알고리즘 관련 작업에서는 의사코드가 더 간결할 수 있다.
코드가 하나도 존재하기 전의 코드의 형태 — 아키텍처 문서에 넣기엔 너무 내부적이지만, 에이전트가 여전히 틀릴 수 있는 것들이다.
interface Item {
id: ItemId
parentId: ItemId | null
// ...
}
interface Cursor {
position: ItemId
direction: 'up' | 'down'
// ...
}
resolveTarget(items: Item[], cursor: Cursor) -> ItemId | null
내용 대부분이 그대로라면, 여기에 diff 문법을 쓸 수도 있다:
컴포넌트 변경이라면:
콜 트리 변경이라면:
파일 레이아웃 변경이라면:
그리고 형태가 실제 코드가 아니라 의사코드인 상태·제어 흐름 변경이라면:
우리 프로토타이핑 작업의 상당 부분에서 HTML이 figma를 대체했다. (솔직히 말하면 나는 애초에 figma를 그렇게 잘 다루지도 못했다)
때로는 다이어그램이나 설명 페이지(explainer)가 딱 필요한 것일 때가 있다.
humanlayer에서는 에이전트가 어시스턴트 응답 안에 HTML을 직접 포함할 수 있게 한다.
물론 그냥 브라우저에서 열어 볼 수도 있다.
그의 /teach 스킬이 생성하는 HTML explainer에 대해 @mattpocockuk에게도 경의를 표하고(hat tip) 싶다 — 아주 훌륭하다.
npx skills add humanlayer/skills --skill show-me
스킬을 설치한 뒤 /show-me를 호출하거나 에이전트에게 show-me 스킬을 쓰라고 요청하라. 라우트, 서비스, 기능, 풀 리퀘스트, 지금 다루는 주제를 겨냥해도 되고, 그냥 모델에게 질문이나 진술을 다시 말해 달라고 하는 데 써도 된다.
this is too much content. show me. (내용이 너무 많아. 보여줘.)
또는
/show-me as an html explainer (HTML explainer로 보여줘)
어떻게 생각하는지 알려달라! 결과물이나 커스터마이즈/추가한 내용과 함께 @humanlayer_dev나 @dexhorthy를 태그해 달라 — 같이 리프(riff)해 보자!
본문 완역 안의 링크가 정본이다 — 아래는 출처 보조 목록. 본문 이미지 각각에 걸린 X 미디어 뷰어 링크(19건)는 해당 그림 위치에 인라인으로 유지되어 있다.