SkillOpt
무엇인가
SkillOpt는 동결된 LLM 에이전트가 사용할 자연어 스킬 문서를 학습 대상 상태로 두고, 채점된 작업 궤적을 근거로 그 문서를 편집하는 텍스트 공간 옵티마이저다. 규율하는 영역은 스킬 텍스트의 변경 절차다. 어떤 편집을 허용하고, 어떤 편집을 기각하고, 어느 시점에 스킬을 확정할지를 규칙으로 고정한다.
어떻게 동작하나
스킬은 SKILL.md·CLAUDE.md·AGENTS.md 형식의 단일 문서로 취급된다. 학습 루프는 rollout → reflect → aggregate → select → update → evaluate 순서로 돌며, 별도의 옵티마이저 모델이 채점된 롤아웃을 add·delete·replace로 한정된 편집으로 변환한다. 기본 경로에서는 후보 편집이 홀드아웃 검증 점수를 엄격히 개선할 때만 채택되고, 텍스트 학습률 예산과 기각 편집 버퍼, 에폭 단위 slow/meta 업데이트가 갱신 폭을 제한한다. 산출물은 300~2,000 토큰 규모의 best_skill.md이며, 대상 모델은 가중치 변경 없이 그대로 쓰인다.
무엇과 다른가
프롬프트를 직접 작성하거나 강한 LLM에 스킬 생성을 한 번 맡기는 방식, 자유로운 자기 수정 루프와 다르다. 편집이 문서 전체 재작성이 아니라 유계 연산으로 제한되고, 채택 여부가 검증 점수라는 외부 게이트를 통과해야 하며, 기각된 편집이 버퍼에 남아 같은 방향의 재시도를 억제한다. 배포 시점에 추가 모델 호출이 없다는 점도 추론 파이프라인에 옵티마이저를 상시 끼워 넣는 방식과 구분된다.
어떻게 쓰나
pip install skillopt로 설치하고, 저장소의 버전별 문서에 따라 데이터 준비와 학습·평가 명령을 실행한다. 모니터링 대시보드는 pip install -e ".[webui]" 후 python -m skillopt_webui.app로 띄운다. 새 대상은 skillopt/model/<name>_backend.py 모듈로, 새 벤치마크는 skillopt/envs/<name>/ 패키지로 등록하며 가장 단순한 참조 구현은 skillopt/envs/searchqa/다. Claude Code·Codex·Copilot·Devin용 통합 셸과 OpenClaw 참조 적응은 저장소에 있고 PyPI 휠에는 들어가지 않는다.
전제와 한계
OpenAI·Azure·Claude·Qwen·MiniMax 채팅 백엔드와 codex_exec·claude_code_exec·cursor_exec·copilot_exec 실행 하네스를 지원한다. 채점 가능한 롤아웃과 홀드아웃 검증셋이 있어야 하며, 검증 점수를 정의할 수 없는 작업에는 적용되지 않는다. 메인 CLI는 보수적 기본값을 쓰고 실험 하네스의 모든 제어를 플래그로 노출하지 않는다. SkillOpt-Sleep은 skillopt-sleep CLI로 별도 제공되는 야간 오프라인 자가 진화 엔진이다.
관련 논문 1
유사 스킬
- Agent-Loop-Skills에이전트가 변경 제안·실행·채점·되돌리기를 반복하는 검증 게이트 루프 절차를 SKILL.md로 주입하고, 자율연구·데이터분석·SQL 최적화에 바인딩한다.
- pm-claude-skillsPRD 작성·계약서 해독·사후 분석 등 업무별 절차를 SKILL.md로 주입해 프레임워크·출력 템플릿·품질 검사·안티패턴에 따라 산출물을 내도록 강제하는 Claude Code 플러그인이다.
- khazix-skills에이전트에 목표 정의·문서 정합성·디스크 정리·AI 뉴스 조회·횡종 리서치·문체 고정 글쓰기 절차를 SKILL.md로 주입하는 Claude Code 스킬 묶음이다.
- skalesSkales 데스크톱 에이전트에 목표 실행·코드워크·워크플로·브라우저 자동화 절차를 SKILL.md로 주입해 다단계 작업을 스스로 수행하게 규율하는 스킬 묶음.
- agent-skillsVercel 비용·성능 감사, React/Next.js 최적화, UI 접근성, 문서 문체 규칙을 SKILL.md 묶음으로 주입해 에이전트가 코드와 글을 검토하게 하는 스킬 팩이다.