소개
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 의 예처럼 나왔습니다.
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가지 주요 기능을 통해 문제 해결을 위한 전반적인 시스템을 경험할 수 있었습니다.