오늘도 공부
SkillOpt: AI 에이전트의 스킬도 학습시킬 수 있을까? 본문
AI 에이전트를 쓰다 보면 어느 순간 이런 생각이 듭니다.
“이 에이전트가 같은 실수를 반복하지 않게 만들 수는 없을까?”
개발 에이전트는 테스트를 돌리지 않고 작업을 끝냈다고 말할 때가 있습니다.
문서 작성 에이전트는 중요한 제약 조건을 빠뜨릴 때가 있습니다.
영상 프롬프트 작성 에이전트는 캐릭터 일관성, 카메라 동선, 시간 분할 같은 핵심 요소를 놓칠 때가 있습니다.
이럴 때 우리는 보통 지침을 추가합니다.
테스트를 실행하기 전에는 완료했다고 말하지 마라.
모르는 API는 추측하지 말고 확인하라.
함수 이름을 바꿀 때는 관련 참조를 모두 검색하라.
그런데 이런 지침을 계속 추가하다 보면 문제가 생깁니다.
문서는 점점 길어집니다.
중복되는 내용이 생깁니다.
규칙끼리 충돌하기도 합니다.
무엇보다 정말 성능이 좋아졌는지 확인하기 어렵습니다.
Microsoft가 공개한 SkillOpt는 바로 이 문제를 다룹니다.
SkillOpt는 단순히 프롬프트를 잘 쓰는 도구가 아닙니다.
AI 에이전트가 반복 작업을 수행할 때 참고하는 스킬 문서(skill.md)를 실행 결과와 실패 로그를 바탕으로 반복 개선하는 프레임워크입니다.
프롬프트가 아니라 스킬이다
처음 SkillOpt를 보면 “프롬프트 최적화 도구인가?”라고 생각하기 쉽습니다.
하지만 정확히는 조금 다릅니다.
프롬프트는 보통 한 번의 요청을 잘 수행하기 위해 입력하는 지시문입니다.
이 글을 브런치용 블로그 글로 정리해줘.
이 코드를 리팩터링해줘.
이 장면을 15초 영상 프롬프트로 만들어줘.
반면 스킬은 특정 종류의 작업을 반복적으로 잘 수행하기 위해 저장해 두는 작업 지침서에 가깝습니다.
코드를 수정할 때는 먼저 관련 파일 구조를 파악하라.
테스트를 실행하기 전에는 완료를 선언하지 마라.
영상 프롬프트를 작성할 때는 시간 분할, 카메라 움직임, 캐릭터 일관성을 반드시 포함하라.
한국어 초급자 설명에서는 어려운 한자어보다 쉬운 예문을 먼저 제시하라.
쉽게 말하면 이렇습니다.
프롬프트:
이번 한 번 이렇게 해줘.
스킬:
앞으로 이런 종류의 일을 할 때는 이렇게 해.
SkillOpt가 다루는 것은 두 번째입니다.
즉, SkillOpt는 AI 모델 자체를 학습시키는 것이 아니라,
에이전트가 반복 작업에 사용하는 스킬 문서를 학습시키는 시스템입니다.
SkillOpt는 무엇을 하는가?
SkillOpt의 기본 아이디어는 단순합니다.
에이전트에게 어떤 스킬 문서를 주고 여러 작업을 수행하게 합니다.
그 결과를 보고 성공과 실패를 기록합니다.
실패한 이유와 성공한 패턴을 분석합니다.
그 분석을 바탕으로 스킬 문서를 수정합니다.
그리고 수정된 스킬이 실제로 더 나은지 검증합니다.
흐름으로 보면 다음과 같습니다.
1. 현재 skill.md로 여러 작업을 수행한다.
2. 성공한 작업과 실패한 작업의 로그를 모은다.
3. 실패 원인과 성공 패턴을 분석한다.
4. skill.md 수정안을 만든다.
5. 검증 데이터에서 성능을 확인한다.
6. 성능이 좋아졌을 때만 새 skill을 채택한다.
핵심은 마지막 단계입니다.
AI가 “이렇게 고치면 좋을 것 같습니다”라고 제안한다고 해서 바로 반영하지 않습니다.
검증 세트에서 실제로 결과가 좋아졌을 때만 새로운 스킬을 채택합니다.
이 점에서 SkillOpt는 단순한 자동 문서 수정기가 아닙니다.
스킬 문서를 실험 가능한 대상으로 보고, 결과 기반으로 개선하는 프레임워크입니다.
스킬을 학습시킨다는 말의 의미
“스킬을 학습시킨다”는 말이 처음에는 조금 낯설 수 있습니다.
우리가 보통 학습이라고 하면 모델 학습을 떠올립니다.
모델의 파라미터를 바꾸고, 데이터를 넣고, 가중치를 업데이트하는 방식입니다.
하지만 SkillOpt는 모델의 내부를 바꾸지 않습니다.
모델은 그대로 둡니다.
대신 모델이 작업할 때 참고하는 외부 지침 문서를 바꿉니다.
비유하자면 이렇습니다.
모델 파인튜닝:
사람의 머리 자체를 다시 훈련시키는 것
SkillOpt:
사람이 참고하는 작업 매뉴얼을 계속 개선하는 것
예를 들어 개발 에이전트에게 처음에는 이런 스킬만 있었다고 해봅시다.
코드를 수정할 때는 관련 파일을 확인하고 테스트를 실행하라.
그런데 실제 작업을 시켜보니 에이전트가 반복적으로 이런 실수를 합니다.
환경 변수 이름을 추측한다.
README의 오래된 명령어를 그대로 믿는다.
테스트 파일의 참조를 놓친다.
리팩터링 후 타입 체크를 실행하지 않는다.
그러면 SkillOpt는 이런 실패 패턴을 바탕으로 스킬 문서를 더 구체적으로 바꿀 수 있습니다.
환경 변수, CLI 옵션, 외부 API 이름은 추측하지 말고 실제 파일이나 공식 문서에서 확인하라.
함수나 타입 이름을 변경할 때는 직접 참조뿐 아니라 테스트, mock, fixture, barrel export, 동적 import, 문자열 참조까지 별도로 검색하라.
완료를 보고하기 전에 실행한 테스트 명령과 결과를 확인하라.
이렇게 보면 SkillOpt는 실패를 단순한 오류로 버리지 않습니다.
실패를 스킬 개선의 재료로 사용합니다.
왜 스킬 최적화가 중요한가?
AI 에이전트를 실제 업무에 쓰다 보면 중요한 것은 단순한 답변 능력이 아닙니다.
반복 작업에서 같은 실수를 줄이는 능력입니다.
프로젝트별 규칙을 지키는 능력입니다.
작업 전후의 검증 절차를 따르는 능력입니다.
특정 분야의 노하우를 일관되게 적용하는 능력입니다.
이런 능력은 매번 프롬프트로 길게 설명하기 어렵습니다.
그래서 에이전트에게는 스킬이 필요합니다.
예를 들어 개발 에이전트의 스킬은 이렇게 될 수 있습니다.
작업 전에 코드 구조를 파악하라.
변경 전에 관련 참조를 모두 검색하라.
수정 후 타입 체크와 테스트를 실행하라.
검증하지 않은 내용은 완료했다고 말하지 마라.
영상 제작 에이전트의 스킬은 이렇게 될 수 있습니다.
15초 영상은 시간대별로 나누어 작성하라.
각 구간마다 카메라 움직임을 명시하라.
캐릭터의 얼굴, 의상, 소품 일관성을 유지하라.
텍스트, 로고, 워터마크가 나오지 않도록 지시하라.
립싱크가 필요한 경우 오디오 타이밍과 입 모양을 명확히 적어라.
한국어 교육 콘텐츠 에이전트의 스킬은 이렇게 될 수 있습니다.
초급자 설명에서는 쉬운 단어를 먼저 사용하라.
문법 용어보다 상황 예시를 먼저 제시하라.
예문은 짧고 자연스럽게 만들라.
비슷한 표현과의 차이를 함께 설명하라.
학습자가 자주 하는 실수를 따로 알려주라.
이런 스킬은 한 번 잘 써두면 반복적으로 사용할 수 있습니다.
하지만 처음부터 완벽한 스킬을 만들기는 어렵습니다.
실제로 작업을 시켜보고, 어디서 실패하는지 봐야 합니다.
SkillOpt는 이 과정을 자동화하려는 시도입니다.
SkillOpt의 핵심 구조
SkillOpt의 구조는 크게 네 단계로 볼 수 있습니다.
첫 번째는 실행입니다.
현재 스킬을 가진 에이전트가 여러 작업을 수행합니다.
이 과정에서 성공한 작업과 실패한 작업의 기록이 쌓입니다.
두 번째는 반성입니다.
에이전트가 왜 실패했는지 분석합니다.
어떤 지침이 부족했는지, 어떤 규칙이 모호했는지, 어떤 절차가 빠졌는지 찾아냅니다.
세 번째는 수정입니다.
분석 결과를 바탕으로 skill.md에 추가, 삭제, 교체 같은 수정안을 만듭니다.
네 번째는 검증입니다.
수정된 스킬을 검증 데이터에서 다시 실행해 봅니다.
기존 스킬보다 결과가 좋아졌을 때만 새 스킬을 채택합니다.
이 구조가 중요한 이유는 간단합니다.
스킬 문서를 무조건 길게 만든다고 좋은 것이 아니기 때문입니다.
지침이 너무 많아지면 오히려 중요한 규칙이 묻힐 수 있습니다.
서로 충돌하는 규칙이 생길 수도 있습니다.
에이전트가 무엇을 우선해야 하는지 헷갈릴 수도 있습니다.
그래서 SkillOpt는 단순히 스킬을 추가하는 것이 아니라,
검증을 통해 실제로 나아졌는지 확인합니다.
기존 프롬프트 엔지니어링과 무엇이 다른가?
기존 프롬프트 엔지니어링은 대체로 사람이 중심입니다.
사람이 지침을 작성한다.
AI가 작업한다.
실수가 발생한다.
사람이 지침을 고친다.
다시 사용한다.
물론 이 방식도 중요합니다.
처음 스킬을 설계하는 데는 사람의 도메인 지식이 필요합니다.
하지만 사람이 직접 고치는 방식은 한계가 있습니다.
어떤 규칙이 실제로 효과가 있었는지 알기 어렵습니다.
어떤 규칙이 오히려 성능을 떨어뜨렸는지 확인하기 어렵습니다.
실패 로그가 많아질수록 사람이 모두 분석하기 어렵습니다.
SkillOpt는 이 과정을 더 체계적으로 만듭니다.
초기 스킬을 만든다.
작업 데이터셋에서 실행한다.
실패와 성공을 기록한다.
수정안을 만든다.
검증한다.
좋아진 스킬만 채택한다.
즉, SkillOpt는 스킬 문서를 감으로 고치는 것이 아니라,
실험과 검증을 통해 개선하려는 접근입니다.
어디에 활용할 수 있을까?
SkillOpt는 반복 작업을 수행하는 AI 에이전트에 잘 맞습니다.
1. 개발 에이전트
가장 현실적인 활용처는 개발입니다.
Codex, Claude Code, Cursor, Windsurf 같은 도구를 사용할 때 프로젝트별 작업 규칙을 둡니다.
예를 들어 이런 규칙입니다.
테스트를 실행하라.
타입 오류를 만들지 마라.
기존 구조를 먼저 파악하라.
변경 범위를 최소화하라.
하지만 실제 프로젝트에서는 더 구체적인 규칙이 필요합니다.
Next.js 프론트엔드와 Laravel 백엔드의 env 파일을 따로 확인하라.
API 응답 타입을 바꿀 때는 프론트엔드 사용처까지 검색하라.
함수 이름을 바꿀 때는 테스트, mock, fixture, re-export 파일까지 확인하라.
완료 전에 typecheck, lint, test 결과를 확인하라.
개발 작업은 평가가 비교적 쉽습니다.
테스트가 통과했는지, 타입 체크가 통과했는지, 린트가 통과했는지 확인할 수 있기 때문입니다.
그래서 SkillOpt와 궁합이 좋습니다.
2. AI 영상 프롬프트 에이전트
AI 영상 제작에서도 사용할 수 있습니다.
예를 들어 Seedance, Kling, Runway 같은 영상 생성 모델용 프롬프트를 작성하는 에이전트가 있다고 해봅시다.
좋은 영상 프롬프트에는 여러 요소가 필요합니다.
시간 분할
카메라 움직임
캐릭터 일관성
의상과 소품 유지
감정 변화
조명과 색감
참고 이미지 사용 방식
금지 요소
립싱크 조건
하지만 에이전트가 매번 모든 요소를 잘 챙기기는 어렵습니다.
이때 스킬 문서에 영상 프롬프트 작성 원칙을 담아두고,
결과를 평가하면서 스킬을 개선할 수 있습니다.
예를 들어 평가 기준은 다음처럼 만들 수 있습니다.
15초 구간이 시간대별로 나뉘어 있는가?
카메라 움직임이 구체적인가?
캐릭터 일관성 지시가 있는가?
참고 이미지 사용 방식이 명확한가?
텍스트, 로고, 워터마크 금지 조건이 있는가?
립싱크 조건이 필요한 경우 포함되어 있는가?
처음에는 프롬프트의 구조 품질을 평가하고,
나중에는 실제 생성된 영상까지 평가하는 방식으로 확장할 수 있습니다.
3. 한국어 교육 콘텐츠 에이전트
한국어 교육 콘텐츠에도 적용할 수 있습니다.
예를 들어 초급자에게 어휘나 문법을 설명하는 에이전트가 있다고 해봅시다.
좋은 설명에는 이런 조건이 필요합니다.
쉬운 단어 사용
짧은 문장
자연스러운 예문
비슷한 표현과의 차이
자주 하는 실수
수업 활동 아이디어
그림으로 보여줄 수 있는 상황
처음에는 에이전트가 너무 어렵게 설명할 수 있습니다.
예를 들어 “나이가 들다”를 설명하면서
초급자에게 어려운 추상적 표현을 많이 쓰면 수업 자료로 쓰기 어렵습니다.
이런 실패가 반복되면 스킬 문서에 다음과 같은 규칙을 추가할 수 있습니다.
초급자 설명에서는 어려운 한자어를 피하고 쉬운 일상어를 사용하라.
뜻을 먼저 설명한 뒤 짧은 예문을 제시하라.
비슷한 표현이 있으면 차이를 간단한 표로 정리하라.
학습자가 실제 대화에서 사용할 수 있는 문장을 우선하라.
이렇게 하면 한국어 교육용 콘텐츠 생성 에이전트의 품질을 더 안정적으로 만들 수 있습니다.
SkillOpt의 장점
SkillOpt의 장점은 분명합니다.
첫째, 모델을 다시 학습시키지 않습니다.
모델 파인튜닝 없이 스킬 문서를 개선합니다.
그래서 최종 결과물은 개선된 skill.md입니다.
둘째, 실패를 자산으로 만듭니다.
AI 에이전트가 실패한 기록을 그냥 버리지 않고,
다음 스킬 개선의 재료로 사용합니다.
셋째, 검증 기반으로 개선합니다.
수정된 스킬이 실제로 더 나은 결과를 냈을 때만 채택합니다.
넷째, 반복 작업에 강합니다.
한 번만 쓰는 요청보다,
계속 반복되는 작업에서 더 큰 효과를 기대할 수 있습니다.
개발, 문서화, 영상 프롬프트 제작, 교육 콘텐츠 생성처럼
작업 패턴이 반복되는 분야에 특히 잘 맞습니다.
하지만 바로 마법처럼 쓸 수 있는 도구는 아니다
SkillOpt를 볼 때 주의할 점도 있습니다.
이 도구는 설치만 하면 모든 스킬이 자동으로 좋아지는 완성형 서비스가 아닙니다.
제대로 쓰려면 몇 가지가 필요합니다.
학습용 작업 데이터셋
검증용 작업 데이터셋
테스트용 작업 데이터셋
작업 성공 여부를 판단하는 평가 기준
에이전트를 실행할 수 있는 환경
가장 중요한 것은 평가 기준입니다.
개발 에이전트라면 테스트 통과, 타입 체크 통과, 린트 통과 같은 기준을 만들 수 있습니다.
하지만 영상 프롬프트나 교육 콘텐츠처럼 주관적인 결과물이 많은 영역에서는 평가 기준을 더 정교하게 설계해야 합니다.
예를 들어 영상 프롬프트의 경우 “좋은 프롬프트”를 어떻게 정의할 것인지 정해야 합니다.
시간 분할이 있는가?
카메라 움직임이 구체적인가?
캐릭터 일관성을 지시하는가?
생성 모델의 입력 제한을 반영하는가?
금지 요소를 명확히 적었는가?
이런 구조적 기준부터 시작하면 현실적으로 실험할 수 있습니다.
중요한 것은 스킬을 자산으로 보는 관점이다
SkillOpt를 보면서 가장 흥미로웠던 부분은
스킬을 단순한 문서가 아니라 개선 가능한 자산으로 본다는 점입니다.
AI 에이전트를 쓰면서 생기는 실패는 보통 대화창 안에서 사라집니다.
오늘 에이전트가 실수합니다.
사람이 지적합니다.
다음 작업에서는 또 비슷한 실수를 합니다.
이런 일이 반복됩니다.
SkillOpt식 접근은 다릅니다.
실패 경험
→ 원인 분석
→ 스킬 수정
→ 검증
→ 개선된 skill.md
실패가 사라지는 것이 아니라 축적됩니다.
그리고 축적된 실패는 다음 작업을 더 잘하게 만드는 스킬로 바뀝니다.
이 관점이 중요합니다.
앞으로 AI 에이전트를 잘 쓰는 사람은 단순히 질문을 잘하는 사람이 아닐 수 있습니다.
자신의 작업 방식, 실패 패턴, 검증 기준을 스킬로 정리하고,
그 스킬을 계속 개선하는 사람이 더 강력한 에이전트를 만들 수 있습니다.
정리
SkillOpt는 프롬프트를 학습시키는 도구라기보다
AI 에이전트의 스킬을 학습시키는 프레임워크입니다.
여기서 스킬은 단순한 요청문이 아닙니다.
에이전트가 특정 작업을 반복적으로 수행할 때 참고하는
작업 절차, 판단 기준, 주의사항, 도메인 노하우를 담은 문서입니다.
SkillOpt는 이 스킬 문서를 실행 결과와 실패 로그를 바탕으로 개선합니다.
그리고 검증 세트에서 실제로 좋아졌을 때만 새로운 스킬을 채택합니다.
한 줄로 정리하면 이렇습니다.
SkillOpt는 AI 모델을 학습시키는 것이 아니라,
AI 에이전트가 사용하는 작업 스킬을 학습시키는 시스템이다.
모델의 성능도 중요합니다.
하지만 앞으로는 모델을 어떻게 쓰게 할 것인가도 중요해집니다.
어떤 스킬을 줄 것인가.
어떤 실패를 기록할 것인가.
그 실패를 어떻게 다음 작업에 반영할 것인가.
SkillOpt는 이 질문에 대한 흥미로운 답을 보여줍니다.
AI 에이전트 시대에는
좋은 프롬프트를 쓰는 것보다
좋은 스킬을 만들고, 그 스킬을 계속 개선하는 능력이 더 중요해질지도 모릅니다.
GitHub - microsoft/SkillOpt: SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agen
SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifac...
github.com
'AI' 카테고리의 다른 글
| GPT 이미지 프롬프트를 어떻게 하면 잘 만들수 있을까? (0) | 2026.05.18 |
|---|---|
| Codex를 UI/UX 마법사처럼 만드는 디자인 루프 (2) | 2026.05.06 |
| Open Design → Flutter 앱으로 디자인 워크플로우 가이드 (2) | 2026.05.04 |
| 당신은 하나의 텍스트 파일입니다 (0) | 2026.05.03 |
| mattpocock/skills — AI 코딩 에이전트를 실무 개발 프로세스에 맞추는 스킬 패키지 (0) | 2026.05.03 |
