OpenAI API의 Skills: 에이전트에 ‘업무 매뉴얼’을 붙이는 법

최근 OpenAI가 API에서 Skills(스킬)를 더 쉽게 쓰도록 길을 열었습니다. 특히 Responses API의 shell 도구와 결합되면서, 에이전트가 “말만 잘하는 챗봇”을 넘어 “정해진 절차대로 일하는 작업자”에 가까워졌다는 점이 큽니다.1
이 글에서는 Skills가 정확히 무엇이고, 왜 지금 주목받는지, 그리고 실제로 팀/서비스에 어떻게 적용하면 좋은지까지 한 번에 정리해볼게요.
OpenAI API Skills란? “프롬프트를 파일로 제품화”하는 방식
Skills는 한마디로, 에이전트가 따라야 할 절차와 규칙을 SKILL.md라는 문서로 포장한 “업무 매뉴얼”입니다. 중요한 건 “프롬프트 한 덩어리”가 아니라, 이름/설명/버전/태그 같은 메타데이터(YAML)와 지침(마크다운 본문)을 갖춘 이식 가능한 자산이라는 점이에요.
이 방식이 반가운 이유는 단순합니다. 잘 만든 프롬프트는 보통 조직의 규칙(코딩 규약, 배포 관례, 보고서 포맷, 심각도 기준) 같은 “사내 지식”을 포함하는데, 그게 슬랙과 개인 노트로 흩어지면 금방 변형되고 품질이 흔들리거든요. Skill로 만들면 문서가 곧 제품이 되고, 깃으로 버전 관리까지 됩니다.
게다가 이 스펙은 OpenAI만의 전용 형식이라기보다, 여러 진영이 함께 채택하는 표준 흐름에 가깝습니다. 덕분에 “한 번 만들어 여러 환경에 재사용”하는 그림이 쉬워졌죠.2
shell + Skills: 에이전트에게 ‘터미널’을 주면 달라지는 것
이번 변화의 체감 포인트는, Skills가 shell(호스팅된 컨테이너) 안에서 돌아갈 수 있다는 데 있습니다. OpenAI가 제공하는 container_auto 환경을 선택하면 Debian 기반 컨테이너가 뜨고, 그 안에서 명령 실행과 파일 생성/저장이 가능해집니다. 저장은 /mnt/data에 남길 수 있어 작업 결과물을 “대화 속 텍스트”가 아니라 “아티팩트”로 다룰 수 있어요.2
Simon Willison이 소개한 데모는 여기서 한 단계 더 영리합니다. 스킬을 미리 업로드하지 않고도, 요청 JSON에 base64로 인코딩한 zip 형태의 스킬을 인라인으로 실어 보내는 방식이 가능하다는 점을 보여줬거든요.1 즉, 배포 파이프라인이 간단한 팀이라면 “필요한 순간에만 스킬을 싣고 실행”하는 형태의 실험도 쉬워집니다.
정리하면, Skills는 ‘규칙’, shell은 ‘손과 발’입니다. 둘이 만나면 에이전트가 실제 업무를 끝내는 능력이 확 올라갑니다.
장시간 작업의 약점 보완: Server-side Compaction이 의미하는 것
에이전트를 운영해본 사람이라면 “처음엔 똑똑한데 대화가 길어지면 맥락이 흐려지는 문제”를 겪었을 거예요. 도구 호출이 늘고 로그가 쌓이면 대화 히스토리가 비대해지고, 결국 토큰 한도 때문에 잘라내야 하니까요.
여기서 Responses API의 Server-side Compaction이 등장합니다. 대화를 무작정 자르는 게 아니라, 모델이 과거 진행 내용을 압축된 상태로 정리해 핵심 맥락을 유지하도록 돕는 접근입니다.2 실제로 어떤 에이전트는 500만 토큰 규모 세션과 150회 도구 호출을 수행했다는 사례도 나왔죠.2
Skills 관점에서 이게 중요한 이유는 간단합니다. Skill은 보통 “단계가 긴 절차”를 담습니다. 절차가 길수록 중간 기록이 늘고, 기록이 늘수록 맥락 관리가 어려운데, compaction은 그 병목을 줄여줍니다. 즉 “스킬이 길어질수록 compaction의 가치가 커진다”는 얘기예요.
실무 적용 로드맵: 개인 자동화보다 ‘팀 표준화’에 먼저 쓰세요
Skills를 처음 도입할 때 가장 흔한 실수는 “재밌는 자동화”부터 만드는 겁니다. 진짜 ROI는 팀의 반복 업무를 표준화할 때 나옵니다.
예를 들어 .NET 중심 조직이라면, ‘신규 서비스 스캐폴딩’, ‘코드리뷰 체크리스트’, ‘기술부채 리포트’처럼 조직 규칙이 강한 업무를 스킬로 먼저 고정하는 게 효과적입니다. 실제로 .NET 진영에서는 SKILL.md 로더와 실행기를 만들어, LLM은 판단을 맡고 실행은 도구(MCP 등)로 처리하는 아키텍처 패턴이 소개되기도 했어요.3 핵심은 오케스트레이터가 똑똑할 필요가 없다는 것. 똑똑함은 스킬(지침)에 넣고, 실행기는 반복 루프만 안정적으로 돌리면 됩니다.
마지막으로 보안 관점도 짚고 가야 합니다. 터미널과 네트워크가 열리면 생산성은 오르지만, “악성 스킬”이나 데이터 유출 경로가 생길 수 있습니다. 그래서 이제 질문은 “무슨 스킬이 가능하냐”보다 “누가 어떤 스킬을 실행할 권한이 있냐”로 바뀝니다.2
시사점
OpenAI API의 Skills는 프롬프트를 ‘대화용 문장’에서 ‘재사용 가능한 업무 자산’으로 바꾸는 장치입니다. 여기에 shell(컨테이너)과 compaction(장기 작업 안정성)이 결합되면서, 에이전트는 점점 “한 번 시키고 끝”이 아니라 “맡겨두고 결과물을 받는” 쪽으로 진화하고 있어요.
지금 시작한다면, 개인 편의 자동화보다 팀의 표준 업무 1~2개를 골라 SKILL.md로 고정해보세요. 성공하면 그다음은 쉽습니다. 스킬은 늘리고, 권한과 감사(audit)만 촘촘히 하면 됩니다.
참고
2OpenAI upgrades its Responses API to support agent skills and a complete terminal shell