Skip to main content

에이전트가 자꾸 "그때그때 다르게" 일하는 이유

AI 에이전트를 처음 써보면 이런 장면을 자주 만납니다. 어제는 꽤 괜찮게 코드 리뷰를 해줬는데, 오늘은 항목도 빠지고 기준도 흐릿합니다. 지난주에는 보고서를 딱 원하는 형식으로 써줬는데, 이번에는 말투도 다르고 순서도 제멋대로입니다.

이상한 일은 아닙니다. 에이전트는 기본적으로 아주 유능한 범용 조력자에 가깝기 때문입니다. 말은 잘하고 추론도 하지만, 특정 일을 항상 같은 방식으로, 필요한 기준을 지키면서, 팀이 원하는 절차대로 처리하려면 별도의 안내서가 필요합니다. 바로 그 역할을 하는 것이 Agent Skills입니다.12

쉽게 말해, Agent Skill은 에이전트에게 붙여 주는 "전문 작업 플레이북"입니다. 그냥 한 번 말하고 끝나는 구두 지시가 아니라, 필요할 때 꺼내 쓰는 정리된 작업 매뉴얼에 가깝습니다.

먼저 정의부터: Agent Skill은 무엇인가

Agent Skill은 에이전트가 특정 종류의 작업을 더 정확하고 일관되게 수행하도록 돕는 재사용 가능한 지식 패키지입니다. 보통 하나의 폴더 안에 SKILL.md 파일이 들어 있고, 그 안에는 이 Skill의 이름, 설명, 사용 시점, 작업 절차, 출력 형식, 주의사항 같은 내용이 담깁니다. 필요하다면 예시, 참고 문서, 템플릿, 스크립트도 같은 폴더에 함께 넣을 수 있습니다.134

여기서 중요한 단어는 두 가지입니다.

첫째, 재사용 가능입니다. 한 번 잘 만들어 두면 여러 대화, 여러 프로젝트, 심지어 여러 에이전트 도구에서 다시 쓸 수 있습니다. 매번 같은 긴 프롬프트를 복붙하지 않아도 됩니다.24

둘째, 특정 작업 종류를 위한 지식이라는 점입니다. Skill은 "이번 요청 하나만 처리하는 답안"이 아닙니다. 예를 들어 "코드 리뷰를 어떻게 할 것인가", "장애 보고서를 어떤 틀로 정리할 것인가", "사내 문서 스타일을 어떻게 적용할 것인가"처럼, 비슷한 부류의 일을 반복해서 잘 처리하도록 만드는 지식입니다.2

한 문장으로 줄이면 이렇습니다.

즉, Skill은 막연한 "잘해 봐"가 아니라, 이 작업에서는 이렇게 판단하고 이렇게 답하라고 미리 정리해 둔 실행 문서라고 볼 수 있습니다.

가장 단순한 형태를 보면 감이 더 잘 옵니다. 아래는 초보자 설명용 Skill을 가정한 SKILL.md 예시입니다.

---
name: explain-for-beginners
description: 어려운 개념을 초보자 눈높이에서 쉽게 설명하는 Skill
---

# Explain for Beginners

## 이 Skill을 사용할 때
다음과 같은 요청이 들어오면 이 Skill을 사용한다.
- 어려운 개념을 쉽게 풀어 달라는 요청
- 입문자용 설명이 필요한 경우
- 전문 용어를 비유와 예시로 바꿔 설명해야 하는 경우

## 목표
사용자가 낯선 개념을 빠르게 이해하도록 돕는다.
정확성을 유지하되, 표현은 최대한 쉽고 친절하게 한다.

## 작업 절차
1. 사용자의 질문에서 핵심 개념을 한 문장으로 정리한다.
2. 어려운 용어가 나오면 먼저 쉬운 말로 바꾼다.
3. 가능하면 일상적인 비유를 1개 넣는다.
4. 설명은 "한 줄 요약 → 본문 설명 → 짧은 예시" 순서로 작성한다.
5. 초보자가 다음에 궁금해할 만한 포인트를 마지막에 덧붙인다.

## 출력 형식
반드시 다음 형식을 따른다.

### 한 줄 요약
개념을 한 문장으로 설명

### 쉽게 설명하면
전문 용어를 풀어서 2~4문단으로 설명

### 예시
짧고 직관적인 예시 1개

### 같이 보면 좋은 포인트
다음에 이해하면 좋은 관련 개념 1~2개

## 주의사항
- 불필요한 전문 용어를 남발하지 않는다.
- 비유가 정확성을 해치지 않도록 한다.
- 사용자를 과하게 단순화해서 대하지 않는다.
- 모르면 아는 척하지 말고 한계를 분명히 말한다.

이 예시를 보면 SKILL.md는 단순한 소개문이 아니라, 언제 호출할지, 무엇을 목표로 할지, 어떤 순서로 작업할지, 어떤 형식으로 결과를 낼지를 한 번에 담는 문서라는 점이 드러납니다.

특히 좋은 Skill은 "설명 잘해" 같은 추상적 주문에 머물지 않습니다. 사용할 상황을 구체적으로 적고, 절차를 단계로 나누고, 출력 형식까지 못 박아 둡니다. 그래야 에이전트가 매번 제멋대로 해석하지 않고, 비슷한 요청에 비슷한 품질로 반응할 수 있습니다.

또한 이 구조는 사람이 읽기에도 좋습니다. 팀원은 SKILL.md를 보면서 "언제 이 Skill이 발동되는지", "결과물이 왜 이런 모양으로 나오는지", "어떤 기준을 중요하게 보는지"를 빠르게 이해할 수 있습니다. 다시 말해 Skill은 에이전트를 위한 지침이면서 동시에, 팀을 위한 운영 문서이기도 합니다.

원하면 이런 식으로 초보자 설명용 Skill뿐 아니라, 코드 리뷰용, 문서 요약용, 장애 분석용처럼 서로 다른 작업에 맞춘 Skill을 같은 패턴으로 계속 늘려 갈 수 있습니다.

Agent Skill은 에이전트가 어떤 일을 어떻게 해야 하는지 알려주는, 휴대 가능한 작업 매뉴얼이다.

Skill은 왜 필요한가

Skill이 필요한 이유는 생각보다 현실적입니다. 에이전트가 조금만 여러 일을 맡기 시작해도, 기본 프롬프트는 점점 길어지고 복잡해집니다. 여기에 예외 처리, 출력 형식, 팀 규칙, 좋은 예시까지 다 밀어 넣으면 프롬프트는 금세 비대해집니다. 그러면 비용도 늘고, 속도도 느려지고, 정작 중요한 작업 맥락이 묻히기 쉽습니다.15

Skill은 이 문제를 "한 번에 다 들고 다니지 말고, 필요할 때만 꺼내 보자"는 방식으로 풀어냅니다. 예를 들어 에이전트가 항상 모든 전문 규칙을 머리에 이고 다니는 대신, 지금 요청이 코드 리뷰라면 코드 리뷰 Skill만 불러오고, 문서 요약이라면 요약 Skill만 불러오는 식입니다. 이런 방식은 컨텍스트를 더 가볍고 선명하게 유지하는 데 도움이 됩니다.16

또 하나 중요한 이유는 일관성입니다. 사람도 체크리스트가 있으면 실수가 줄어듭니다. 에이전트도 마찬가지입니다. Skill이 있으면 같은 종류의 작업을 처리할 때 기준이 덜 흔들립니다. 출력 형식, 검사 항목, 우선순위가 정리되어 있으니 결과가 더 반복 가능해집니다.12

마지막으로, Skill은 지식을 코드 밖으로 꺼내는 방법이기도 합니다. 프롬프트가 프로그램 문자열 속에 숨어 있으면 비개발자는 검토하기 어렵습니다. 하지만 SKILL.md처럼 읽을 수 있는 문서로 관리하면 팀이 함께 고치고, 버전 관리하고, 공유하기 쉬워집니다.14

Skill의 핵심 특징

Agent Skill을 이해할 때는 "길게 쓴 프롬프트 파일" 정도로 축소해서 보면 아쉽습니다. Skill에는 몇 가지 분명한 성격이 있습니다.

첫째, Skill은 모듈형입니다. 하나의 Skill은 하나의 비교적 분명한 능력이나 워크플로를 담당합니다. 예를 들어 코드 리뷰, 회의록 정리, 프레젠테이션 작성, 보안 점검처럼 역할이 또렷합니다. 이 모듈성 덕분에 추가·삭제·수정이 쉽습니다.24

둘째, Skill은 온디맨드로 로드됩니다. 많은 구현에서는 처음부터 모든 내용을 문맥에 넣지 않고, 이름과 설명 같은 가벼운 메타데이터만 보고 있다가 필요할 때 전체 지침을 불러옵니다. 이를 흔히 점진적 공개, 즉 progressive disclosure라고 부릅니다.17

셋째, Skill은 절차 지식을 담습니다. "무엇을 아는가"보다 "어떻게 할 것인가"에 가깝습니다. 즉 사실 지식보다는 작업 순서, 판단 기준, 예외 처리, 출력 형식 같은 실행 지침이 중심입니다.23

넷째, Skill은 휴대 가능하고 검토 가능합니다. 파일 시스템 기반이라 여러 환경으로 옮기기 쉽고, 마크다운 문서라 사람이 읽고 리뷰하기도 쉽습니다. 조직 입장에서는 암묵지였던 업무 방식이 눈에 보이는 자산으로 바뀌는 셈입니다.24

다섯째, Skill은 결정론적이지 않다는 점도 중요합니다. Tool처럼 입력하면 항상 똑같은 결과를 보장하는 것이 아닙니다. Skill은 결국 LLM이 해석하는 지침입니다. 따라서 품질을 높여 주지만, 항상 완전히 같은 출력을 보장하는 스위치는 아닙니다.15

Skill은 실제로 어떤 모습인가

가장 단순한 Skill은 폴더 하나와 SKILL.md 하나로 시작합니다. 폴더 이름이 Skill의 정체성이고, SKILL.md 안에는 대개 이런 내용이 들어갑니다.13

  • 이 Skill의 이름과 설명

  • 언제 이 Skill을 써야 하는지

  • 어떤 절차로 작업할지

  • 어떤 형식으로 답할지

  • 어떤 실수를 피해야 하는지

  • 필요하면 예시, 템플릿, 참고 자료

예를 들어 "쉽게 설명하기" Skill이 있다면, 본문에는 어려운 용어를 풀어 쓰는 규칙, 비유를 사용하는 방법, 한 화면 안에 요약하는 형식, 초보자 기준으로 설명해야 한다는 제한 같은 것이 들어갈 수 있습니다. 그러면 에이전트는 단순히 "설명해 줘"라는 막연한 요청을 받는 것이 아니라, 어떤 기준으로 설명해야 하는지까지 함께 받게 됩니다.1

즉 Skill의 핵심은 파일 형식 그 자체보다도, 그 안에 담긴 실행 가능한 지침의 구조화에 있습니다.

가장 중요한 구분 1: Skill과 일반 프롬프트는 무엇이 다른가

초보자가 가장 먼저 헷갈리는 대상은 일반 프롬프트입니다. 둘 다 결국 "AI에게 주는 지시"처럼 보이기 때문입니다. 하지만 성격은 꽤 다릅니다.

일반 프롬프트는 대개 지금 이 순간의 요청을 위해 작성됩니다. 한 번 쓰고 지나가는 경우가 많고, 대화가 끝나면 사라지기 쉽습니다. 반면 Skill은 반복해서 사용할 수 있도록 보관되는 작업 지침입니다.18

이 차이를 아주 생활적으로 비유해 봅시다. 프롬프트는 포스트잇입니다. 급할 때 붙여 두는 메모죠. Skill은 파일철에 꽂아 둔 표준 작업서입니다. 누가 꺼내 봐도 같은 절차를 따라갈 수 있습니다.

일반 프롬프트는 유연합니다. 빠르게 시도하고 바꿔 보기 좋습니다. 대신 반복 작업에서는 흔들리기 쉽습니다. 어제 쓴 프롬프트를 오늘 조금 다르게 적는 순간 결과도 달라질 수 있습니다. Skill은 반대로 처음 만들 때는 조금 손이 가지만, 반복 작업에서 강합니다. 같은 유형의 일을 여러 번 처리할수록 이점이 커집니다.8

또 하나의 차이는 로드 방식입니다. 프롬프트는 보통 지금 대화에 직접 들어갑니다. Skill은 대개 이름과 설명으로 발견되고, 관련 있을 때만 전체 내용이 활성화됩니다. 그래서 많은 Skill을 갖고 있어도 모든 지침을 매번 다 실을 필요는 없습니다.17

정리하면 이렇습니다.

프롬프트는 "지금 당장 이렇게 해줘"이고, Skill은 "이런 종류의 일은 원래 이렇게 처리해"입니다.

가장 중요한 구분 2: Skill과 커스텀 인스트럭션은 무엇이 다른가

커스텀 인스트럭션은 여러 제품에서 이름이 조금씩 다르지만, 핵심은 비슷합니다. 에이전트가 항상 기본적으로 따를 배경 규칙을 적어 두는 것입니다. 예를 들어 "항상 한국어로 답하라", "우리 팀은 테스트를 먼저 쓴다", "답변은 간결하게 하라" 같은 규칙이 여기에 가깝습니다.9

Skill은 이와 달리 항상 켜져 있는 규칙이 아니라, 특정 작업과 관련 있을 때 불러오는 전문 플레이북입니다.9

비유하자면, 커스텀 인스트럭션은 사무실 벽에 붙은 운영 원칙입니다. 모두가 늘 따라야 하는 규칙이죠. 반면 Skill은 서랍 속에 들어 있는 업무별 매뉴얼입니다. 필요한 일이 생겼을 때 꺼냅니다.

예를 들어 보겠습니다.

"항상 존댓말을 써라"는 Skill이 아니라 커스텀 인스트럭션에 가깝습니다. 모든 대화에 적용되는 기본 태도이기 때문입니다. 반면 "보안 코드 리뷰를 할 때는 인증, 권한, 입력 검증, 비밀정보 노출 순서로 점검하고, 결과는 심각도별로 정리하라"는 Skill에 가깝습니다. 특정한 종류의 작업에만 필요하고, 절차와 형식이 함께 들어 있기 때문입니다.19

둘의 차이를 아주 짧게 말하면 이렇습니다.

  • 커스텀 인스트럭션: 항상 적용되는 배경 규칙

  • Skill: 필요할 때만 로드되는 작업별 절차 지식

이 둘을 섞어 쓰면 금방 불편해집니다. 모든 것을 커스텀 인스트럭션에 넣으면 늘 과적재 상태가 되고, 반대로 기본 태도까지 전부 Skill로 쪼개면 너무 자주 불러와야 해서 흐름이 어색해집니다.

가장 중요한 구분 3: Skill과 메모리는 무엇이 다른가

여기서부터는 더 많이 헷갈립니다. Skill도 뭔가 저장된 정보고, 메모리도 저장된 정보이니 비슷해 보이기 때문입니다. 하지만 둘은 저장하는 내용이 다릅니다.

메모리는 보통 과거의 사실, 선호, 경험, 상태의 흔적을 저장합니다. 사용자가 좋아하는 말투, 이전에 합의한 결정, 지난 대화의 핵심, 자주 쓰는 설정 같은 것이 메모리입니다. 즉 메모리는 "무엇을 기억해야 하는가"에 가깝습니다.6

반면 Skill은 절차와 기준을 저장합니다. 어떤 작업을 어떤 단계로 수행할지, 무엇을 확인할지, 어떤 형식으로 낼지 같은 내용입니다. 즉 Skill은 "어떻게 일해야 하는가"에 가깝습니다.23

예를 들어 사용자가 "나는 표보다 서술형 요약을 더 좋아해"라고 한 적이 있다면, 이것은 메모리입니다. 다음에도 반영하면 좋겠죠. 하지만 "분기 실적 요약은 1) 핵심 수치 2) 변화 원인 3) 리스크 4) 다음 액션 순서로 작성하라"는 것은 Skill입니다. 작업 방법을 정의하기 때문입니다.

좋은 비유가 있습니다. 메모리는 고객 카드입니다. 이 사람은 어떤 취향이 있고, 지난번에 무엇을 주문했는지를 적어 둡니다. Skill은 조리 레시피입니다. 이 메뉴를 어떤 순서와 기준으로 만들지를 적어 둡니다.

둘은 함께 쓰일 때 가장 강합니다. Skill이 작업 방법을 제시하고, 메모리가 그 방법을 사용자 맞춤형으로 조정합니다.

가장 중요한 구분 4: Skill과 도구는 무엇이 다른가

Skill과 도구를 헷갈리면 설계가 꼬이기 시작합니다. 둘은 아주 다른 층위에 있습니다.

도구는 실제로 무언가를 하는 기능입니다. 검색 API를 호출하거나, 파일을 읽거나, 데이터베이스에 질의하거나, 계산을 하거나, 이메일을 보내는 것이 도구입니다. 입력과 출력이 비교적 구조적이고, 실행 결과가 바깥세계에서 돌아옵니다.9

Skill은 그런 도구를 어떻게, 언제, 어떤 순서로 써야 하는지 알려주는 지침입니다.19

망치와 목공 매뉴얼을 떠올리면 쉽습니다. 망치는 도구입니다. 못을 박는 실제 기능이 있죠. "책장을 조립할 때는 먼저 수평을 확인하고, 긴 판부터 고정한 뒤, 마지막에 흔들림을 점검하라"는 것은 Skill입니다. 망치를 대체하지 않지만, 망치를 훨씬 잘 쓰게 해줍니다.

예를 들어 "데이터베이스 분석" 작업에서,

  • MCP나 함수 호출 도구는 실제로 데이터베이스에 접속해 질의를 실행합니다.

  • Skill은 안전한 질의를 만들고, 날짜 범위를 먼저 좁히고, 이상값을 확인하고, 결과를 표와 요약으로 정리하라고 안내합니다.19

즉 도구는 손이고, Skill은 손을 움직이는 작업 요령입니다.

Skill은 무엇이 아닌가

개념을 빨리 잡는 가장 좋은 방법은 "무엇인가"와 함께 "무엇이 아닌가"를 보는 것입니다.

Skill은 에이전트 자체가 아닙니다. 에이전트는 도구, 메모리, 상태, 제어 루프를 갖춘 실행 시스템이고, Skill은 그 안에 장착되는 능력 모듈입니다.19

Skill은 MCP 자체도 아닙니다. MCP는 외부 시스템과 연결하는 표준 인터페이스에 가깝고, Skill은 그런 연결을 잘 활용하기 위한 절차 지식입니다.19

Skill은 마법의 정확도 보장 장치도 아닙니다. 잘 만든 Skill은 성공 확률과 일관성을 끌어올리지만, 여전히 LLM이 해석하는 지침입니다. 따라서 평가, 디버깅, 출력 검증이 계속 필요합니다.15

언제 Skill을 써야 하고, 언제 굳이 안 써도 될까

Skill이 빛나는 순간은 비슷한 종류의 작업이 반복될 때입니다. 한 번 잘 정의해 두면 여러 번 이득을 보기 때문입니다. 특히 다음과 같은 상황에서 유용합니다.24

  • 특정 절차를 꾸준히 지켜야 할 때

  • 출력 형식을 일정하게 유지해야 할 때

  • 팀의 암묵지를 문서화하고 싶을 때

  • 같은 능력을 여러 프로젝트와 도구에서 재사용하고 싶을 때

  • 기본 프롬프트가 점점 비대해지고 있을 때

반대로, 정말 한 번 물어보고 끝날 일이라면 굳이 Skill까지 만들 필요는 없습니다. 예를 들어 "이 문장 자연스럽게 바꿔줘"처럼 단발성 요청은 그냥 프롬프트로 처리하는 편이 더 가볍습니다. 또한 모든 규칙을 Skill로 만들 필요도 없습니다. 말투, 기본 언어, 전반적 태도처럼 늘 적용되어야 할 것은 커스텀 인스트럭션 쪽이 더 잘 맞습니다.

Skill은 만능칼이 아니라, 반복되는 전문 작업을 안정화하는 도구라고 보는 편이 정확합니다.

헷갈리지 않게 한 번에 정리하기

이 장의 핵심은 비슷해 보이는 개념들을 제자리에 놓는 것입니다.

사용자가 지금 당장 원하는 한 번의 요청을 적는 것은 프롬프트입니다.

에이전트가 늘 기본적으로 따라야 하는 배경 규칙은 커스텀 인스트럭션입니다.

사용자 선호와 과거 사실을 기억해 두는 것은 메모리입니다.

실제로 검색하고 계산하고 실행하는 것은 도구입니다.

그리고 특정 작업을 어떤 절차와 기준으로 처리해야 하는지 알려주는 재사용 가능한 플레이북이 바로 Agent Skill입니다.

이 구분이 선명해지면 설계도 쉬워집니다. 무엇을 Skill로 빼야 하고, 무엇을 도구로 만들어야 하고, 무엇을 메모리에 넣어야 하는지가 보이기 시작합니다.

좋은 비유 하나로 끝내기

작은 디자인 회사를 상상해 봅시다.

사장의 즉석 지시는 프롬프트입니다. "오늘 안에 시안 하나 더 만들어 주세요."

사무실 운영 원칙은 커스텀 인스트럭션입니다. "항상 고객에게는 존중하는 말투를 쓴다."

고객 취향 메모는 메모리입니다. "이 고객은 파란색보다 녹색을 좋아한다."

포토샵과 피그마는 도구입니다. 실제 작업을 수행합니다.

그리고 "브랜드 제안서 만들기 매뉴얼"은 Skill입니다. 표지 구성, 문제 정의, 시안 수, 색상 설명 방식, 마지막 제안 문구까지 정리된 문서죠.

이 비유에서 가장 중요한 사실은, Skill이 혼자 일하지 않는다는 점입니다. Skill은 도구를 대신하지도 않고, 메모리를 대신하지도 않으며, 프롬프트를 없애지도 않습니다. 대신 이 모든 것 사이에서 전문성과 일관성을 더해 줍니다.

이 장의 요점

이제 Agent Skills를 한 문장으로 다시 정리해 봅시다.

Agent Skill은 에이전트가 특정 유형의 일을 더 잘, 더 일관되게 수행하도록 돕는 재사용 가능한 절차 지식 패키지다.

프롬프트보다 오래가고, 커스텀 인스트럭션보다 더 작업 특화되어 있으며, 메모리보다 절차 중심이고, 도구보다 상위의 작업 지침에 가깝습니다.

이 차이를 구분할 수 있어야만 Skill을 올바른 위치에 둘 수 있습니다. 그래야 에이전트를 설계할 때 모든 문제를 프롬프트에 몰아넣지 않고, 반대로 모든 것을 도구나 메모리로 잘못 해결하려 들지도 않게 됩니다.

다음 장에서는 이 Skill이 실제로 어떻게 발견되고, 로드되고, 동작하는지를 살펴보겠습니다. 그 순간부터 Skill은 추상적인 개념이 아니라, 에이전트 안에서 움직이는 실제 부품처럼 보이기 시작할 것입니다.

참고

1Agent Skills Explained: What They Are, What They Aren't, and How to Use Them

2Overview - Agent Skills

3AI Skills for LLM Agents — What They Are and How to Use Them | AI Agent Architecture

4How to Write and Implement Agent Skills

5Building Effective AI Agents

6Effective context engineering for AI agents

7Agent Skills - llm-council

8Agent Skills vs Prompts: What's the Difference and Why It Matters

9Skills explained: How Skills compares to prompts, Projects, MCP, and subagents

책 목록

처음부터 이해하는 Agent Skills: AI 에이전트를 제대로 일하게 만드는 설계법

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기