AI 에이전트를 사용하다 보면 비슷한 문제가 반복된다. 어제는 괜찮았는데, 에러를 만나고, 몇 번 실패를 반복하고 그러다가 결국 해결했다.
새롭게 에이전트를 켜면 다시 처음부터 시작한다. 마치 어제의 경험이 없었던 것처럼...
Claude Code에서 배운 것은 Claude Code안에 남고, Codex가 배운 것은 Codex내에 남는다. 노트북에서 해결한 문제는 PC의 에이전트가 모른다.
이건 모델의 문제가 아닐 수 있다. 경험이 저장되고 공유되는 방식의 문제에 가깝다.
SkillClaw는 이 문제점에서 출발한다.
스킬은 작은 업무 방식
에이전트 도구들은 'Skill'이라는 개념을 사용한다. 거창한 것은 아니다. 특정 일을 할때 참고하는 작은 업무 방식에 가깝다.
React 프로젝트에서 컴포넌트를 만들 때의 규칙, 테스트를 실행하는 순서, 배포 전에 반드시 확인해야 하는 체크 리스트, 자주 발생하는 에러의 원인과 해결 방법 등
사람으로 치면 "나는 이렇게 해"에 해당하는 지식이다.
이런 지식은 보통 문서, README 혹은 누군가의 기억 속에 흩어져 있다. 에이전트는 그 중 일부만 볼 수 있다. 그것도 매번 사용자가 설명해줘야 한다.
SkillClaw는 이 지식을 SKILL.md 같은 스킬 파일로 정리하고, 에이전트가 필요할 때 꺼내 쓰게 하려는 구조다. 여기까지는 기존 Agent Skill 방식과 크게 다르지 않다.
SkillClaw는 스킬을 사람이 한 번 만들고 끝나는 것이 아니라, 실제 에이전트 사용 경험을 바탕으로 계속 고치고, 합치고, 개선한다.
에이전트의 경험은 대부분 버려진다
우리는 에이전트를 사용하면서 많은 시행착오를 겪는다.
명령어를 잘못 실행하거나 패키지 버전 충돌을 만나거나, 테스트가 깨지거나, 문서를 잘못 읽는 등 여러 시행 착오를 거치면서 결국 해결한다.
이 과정에 꽤 많은 지식과 경험이 들어가게 된다.
무엇을 먼저 확인해야 하는지, 어떤 접근은 실패하는지, 어떤 순서로 실행해야 안전한지, 어떤 파일은 건들면 안되는지 등
그러나 대부분의 에이전트 환경에서 이 경험은 대화가 끝나면 사라진다. 대화 기록에 남았다고 해도, 다른 에이전트나 다른 사용자에게 전달되지는 않는다.
SkillClaw는 이 경험을 그냥 버리지 않는다. 에이전트가 작업하는 과정에서 생긴 기록을 모으고, 그 안에서 반복되는 패턴을 찾는다. 그리고 그 패턴을 다시 스킬로 만든다.
한 번의 대화가 기억이 되고, 여러 번의 기억이 절차가 되고, 절차가 다시 스킬이 되는 구조다.
SkillClaw가 하고자 하는 것
목적은 단순하다. 에이전트가 배운 것을 혼자만 알고 끝내지 않게 하는 것이다. 다시 말해 여러 사용자와 여러 에이전트가 실제 작업 중에 얻은 경험을 모아 재사용 가능한 스킬로 발전시키는 것이다.
어제 Codex에서 해결한 방식을 Claude가 참고할 수 있다. 노트북에서 만든 스킬을 PC에서도 쓸 수 있다. 매번 같은 프로젝트 설명을 반복하지 않아도 된다.
팀에게는 더 큰 의미가 있다. 한 명이 겪은 실패가 팀 전체의 자산이 된다. 신규 입사자가 프로젝트의 암묵지를 더 빨리 따라갈 수 있다. 반복되는 장애 대응 방식이 자연스럽게 문서화된다. 에이전트 사용 경험이 개인의 프롬프트 노하우로 끝나지 않고, 조직의 운영 지식으로 쌓이게 된다.
이 점에서 SkillClaw는 메모리 도구라기보다, 에이전트 스킬을 운영하는 시스템에 가깝다.
단순한 구조
SkillClaw의 구조는 크게 두 부분으로 나뉜다.
하나는 로컬에서 동작하는 Client Proxy다. 에이전트와 모델 API 사이에 놓이는 중간 계층이라고 보면된다. 에이전트가 모델을 호출할 때 이 프록시를 지나가고, SkillClaw는 그 과정에서 세션 기록과 스킬 사용 정보를 수집한다.
두번째는 Evolve Server다. 이 서버는 쌓인 기록을 읽고, 어떤 스킬을 고칠지, 어떤 스킬을 새로 만들지 판단한다. 여러 세션에서 반복되는 행동이나 실패 패턴을 찾아 스킬로 정리한다.
대략 이런 흐름이다.
- 사용자는 평소처럼 에이전트를 쓴다.
- 에이전트는 작업을 수행한다.
- SkillClaw는 그 과정을 기록한다.
- Evolve Server는 여러 기록을 분석한다.
- 반복되는 패턴을 찾아 스킬을 고친다.
- 고쳐진 스킬은 다시 사용자와 에이전트에게 배포된다.
에이전트 입장에서는 점점 더 좋은 업무 스킬을 갖게 되는 셈이다.
핵심은 '진화'
SkillClaw에서 가장 중요한 것은 '저장'이 아니라 '진화'다.
단순히 대화를 저장하는 것은 메모리다. 중요한 것은 아래 질문에 있다.
- 이 문제는 여러 번 반복되었는가?
- 실패한 접근은 무엇인가?
- 성공한 절차는 무엇인가?
- 이 내용을 기존 스킬에 추가해야 하는가? 아니면 새 스킬로 분리해야 하는가?
- 다른 사용자에게도 적용 가능한가?
진화하기 위해서 아래의 단계를 따른다.
- 먼저 개별 세션을 요약한다.
- 그리고 여러 요약을 모아 공통 패턴을 찾는다.
- 마지막으로 그 패턴을 실제 스킬 파일에 반영한다.
이 과정은 사람이 팀 문서를 관리하는 방식과 유사하다.
왜 이게 필요할까?
AI 에이전트는 점점 많아지고 있다. (내가 쓰는 것만 해도, Pi, Claude, Codex, OpenCode 정도다. 이건 어디까지나 코딩에 한정된다.)
문제는 도구가 많아질수록 경험이 흩어진다는 것이다. 에이전트가 많아진다는 것은 단순히 선택지가 많아진다는 것외에 기억이 분산되고, 스킬이 중복되고, 같은 설명을 반복해야 하는 상황도 늘어난다는 의미다.
SkillClaw는 이 흩어진 경험을 하나의 스킬 라이브러리로 모으려 한다. 그리고 그 스킬 라이브러리를 계속 살아 있는 상태로 유지하려 한다.
좋은 스킬은 한 번 작성된 문서가 아니다. 사용되면서 고쳐지고, 실패를 통해 단단해지고, 여러 사람의 경험을 거치며 정제되어야 한다.
조심해야 할 것
스킬이 진화한다는 것은 매력적이다. 하지만 위험하기도 하다. 잘못된 해결책이 스킬로 등록될 수 있다. 임시 방편이 표준이 될 수도 있다. 민감한 정보가 세션 기록에 포함될 수도 있다.
그래서 검증이 필요하다. 어떤 스킬을 자동 반영할지 등을 사람이 정해야 한다. 그리고 관리해야 한다.
마무리
SkillClaw는 에이전트가 일하면서 배운 것을 다시 에이전트가 쓸 수 있는 스킬로 바꾸는 도구다.
현재 이 도구는 완성본이 아니다. 앞으로 에이전트 운영이 어떻게 바뀔 수 있는지를 보여주는 실험에 가깝다.
궁금하신 분들은 한번 검토해보세요. (https://github.com/AMAP-ML/SkillClaw)
0 Comments:
댓글 쓰기