claude code 의 3가지 기능 ( custom command, subagent, hook) 사용해보기

소개

2주차 custom command, 3주차 subagent 그리고 마지막 4주차에 hooks 기능을 학습,
claude code의 특징인 3가지 기능(custom command, subagent, hooks)을 모두 사용한 사례를 시도했습니다.

  • custom command : 작업일지를 /case-study 명령어로 md 파일로 저장

  • subagent : 딱딱한 기술문서를 사례글로 변환하는 subagent 만들기

  • hooks : 서브에이전트로 변환된 파일을 자동으로 저장하는 hooks 만들기

진행 방법

2주차 : claudecode 에서 실행한 작업을 커뮤니티 사례글로 작성하는 cusotom command /case-study 를 만들었어요. 하지만 내러티브가 살아있는 사례글로 적절하지 않았습니다.

한국어 프로그램의 스크린 샷


3주차엔 여러가지 글의 의도를 파악, 기획, 사례글의 핵심요소를 뽑아 목적에 적합한 사례글을 작성하는 멀티 프레임워크를 subagent 만으로 구성하고자 했어요. 각 단계를 맡은 개별 에이전트가 각 작업이 끝나면 다음 단계의 에이전트를 호출에 그 다음 작업을 시행하게 하는 것입니다.

하지만 첫 에이전트가 작업 완료 후 그 다음 에이전트를 호출해야 하는데 그렇게 작동하지 않았습니다. 정해진 workflow 대로 움직이는게 아닌 에이전트의 성질이었고 저의 이해가 많이 적다는 것을 claude의 공식 문서를 읽으면서 알게 되었습니다.

4주차엔 궁금했던 hooks 라는 걸 배우고 적용해보는 것에 집중했습니다.


case-study 로 작성된 md 파일을 분석하는 하나의 subagent 를 만들고 이를 저장하는 hooks 을 만들었어요.

1. '프로젝트 작업기록' subagent 만들기

'프로젝트 작업기록' 이라는 목적에 맞도록 기존글에서 [핵심요소] 추출하는 에이전트입니다.

우선 subagent 를 만들 때 들어가는 description 을 chatGPT 을 이용해 작성, 이때 claudecode 의 요구사항을 주니 이전과 다르게 결과의 형식이 claude code 의 예처럼 나왔습니다.

  1. 한국 앱의 스크린 샷

chatGPT 에서 얻은 description 을 /agents 에 붙여넣었습니다.

에이전트 설명이라는 단어가있는 검은 배경

만들어진 에이전트의 이름은 subagent-story-analyzer , 기존 문서를 제가 원하는 '작업기록 문서' 로 만들도록 하기입니다.


기존에 만들어진 작업기록 문서를 @로 참조, 서브에이전트 subagent-story-analyzer 를 정확히 명시

작동을 잘하는데 ~

텍스트가있는 검은 색 화면


작업을 다 했다는데 실제로 쓴 글이 보이지 않았습니다.

보여달라니 작성된 글이 내러티브하게 잘 작성되었습니다.

흑백 이미지의 흑백 이미지의 흑백 이미지의 흑백 이미지

워드 클라우드 코드가 포함된 한국 웹사이트의 스크린샷

너무 내러티브해서 좀 더 간결하게 바꾸는 작업이 필요해보입니다. 문제는 ~! 결과는 어디에도 저장되지 않는다는 것! (아마도 agent 의 작업을 지시한 문서에 md 파일로 저장하라는 지시가 빠졌나 봅니다. )

한국어 텍스트가있는 검은 색 화면

한국어 텍스트가있는 검은 색 화면



에이전트로 저장하도록 하게 할 수 있지만 이럴 경우 실제로 생겼다고 하고 아닌 경우가 많다합니다. 옳타쿠나 ~! 어디에 hooks 를 써볼지 고민하던 차에 너무 반가웠습니다.

한국어로 된 메시지 스크린샷

2. hook 만들기

다음의 기능을 하는 hooks 는 어떻게 만드는지를 chatGPT 와 클로드, 젠스파크 등에 물었습니다.

"case-study 폴더의 md 파일을 참조해서 shbagent 를 명명 project-story-analyzer분석하면, 동일한 이름에 -change.md가 붙은 결과 파일이 자동으로 생성, case-study 폴더에 저장"

여러 LLM 에 물었지만 그 결과 형성된 JSON 파일이 제가 알고 있는 것과 달라서 그냥 claude 에 줬습니다.

/hooks 를 하면 /agent 처럼 이것저것 단계에 따라 선택을 하면 Json 파일을 만드는데, 단계마다 선택이 어려워 그냥 직접 json 파일을 만들어서 직접 폴더에 넣도록 시도했습니다.

한국 웹 사이트의 스크린 샷

한국 웹 사이트의 스크린 샷

실제로 확인해 보니 파일명이 다르네요.

영어라는 문제가 있는데 현재는 잘 만들어 집니다.

결과와 배운 점

  • claude code 에 설정된 기능을 최대한 사용해 문제를 해결하고자 했습니다.

  • 어떤 참조를 어떻게 주느냐에 따라 각종 LLM 의 결과는 매우 달랐습니다. 할루시네이션을 제대로 볼 수 있었습니다.

  • 3가지 주요 기능을 통해 문제 해결을 위한 전반적인 시스템을 경험할 수 있었습니다.

1개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요