AI 시스템이 단순한 질의응답에서 자율적인 작업 실행으로 진화함에 따라, **에이전트**와 **스킬**에 대한 이해가 필수적입니다. 이 장에서는 프롬프트가 AI 에이전트의 기본 구성 요소로서 어떻게 작동하는지, 그리고 스킬이 어떻게 전문 지식을 재사용 가능하고 포괄적인 지침 세트로 패키징하는지 살펴봅니다.

<div className="my-8 p-6 bg-muted/20 rounded-xl border">
  <div className="flex flex-col items-center gap-6">
    <div className="text-center">
      <div className="inline-flex items-center justify-center w-20 h-20 rounded-full bg-blue-100 dark:bg-blue-900/50 border-2 border-blue-300 dark:border-blue-700">
        <IconSettings className="w-10 h-10 text-blue-600 dark:text-blue-400" />
      </div>
      <p className="font-semibold mt-2 m-0!">에이전트</p>
      <p className="text-xs text-muted-foreground m-0!">자율적인 AI 시스템</p>
    </div>
    <div className="flex items-center gap-2 text-muted-foreground text-sm">
      <span>기반 기술</span>
      <span>↓</span>
    </div>
    <div className="flex flex-wrap justify-center gap-4">
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">스킬</p>
        <p className="text-xs text-muted-foreground m-0!">재사용 가능한 전문 지식</p>
      </div>
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">스킬</p>
        <p className="text-xs text-muted-foreground m-0!">재사용 가능한 전문 지식</p>
      </div>
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">스킬</p>
        <p className="text-xs text-muted-foreground m-0!">재사용 가능한 전문 지식</p>
      </div>
    </div>
    <div className="flex items-center gap-2 text-muted-foreground text-sm">
      <span>구성 요소</span>
      <span>↓</span>
    </div>
    <div className="flex flex-wrap justify-center gap-2">
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">프롬프트</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">프롬프트</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">프롬프트</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">프롬프트</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">프롬프트</span>
      </div>
    </div>
    <p className="text-xs text-muted-foreground text-center m-0! mt-2">프롬프트는 원자 → 스킬은 분자 → 에이전트는 완성된 구조물</p>
  </div>
</div>

## AI 에이전트란 무엇인가?

**AI 에이전트**는 자율적으로 계획을 세우고, 실행하며, 작업을 반복할 수 있는 AI 시스템입니다. 단순한 프롬프트-응답 상호작용과 달리, 에이전트는 다음과 같은 작업을 수행할 수 있습니다:

- **계획** - 복잡한 목표를 실행 가능한 단계로 분해
- **실행** - 도구를 사용하고 실제 세계에서 행동 수행
- **관찰** - 행동의 피드백을 처리
- **적응** - 결과에 따라 접근 방식 조정
- **지속** - 상호작용 전반에 걸쳐 컨텍스트와 메모리 유지

<div className="my-6 flex items-center justify-center p-6 bg-muted/30 rounded-lg">
  <div className="relative">
    <div className="flex items-center gap-3">
      <div className="px-4 py-3 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-center text-sm">
        <p className="font-medium text-blue-700 dark:text-blue-300 m-0!">목표</p>
      </div>
      <div className="text-muted-foreground">→</div>
      <div className="flex flex-col items-center gap-2">
        <div className="flex items-center gap-2 px-4 py-3 bg-muted/50 border border-dashed rounded-lg">
          <div className="px-3 py-2 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded text-center text-sm">
            <p className="font-medium text-purple-700 dark:text-purple-300 m-0!">계획</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded text-center text-sm">
            <p className="font-medium text-amber-700 dark:text-amber-300 m-0!">실행</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-teal-100 dark:bg-teal-900/50 border border-teal-200 dark:border-teal-800 rounded text-center text-sm">
            <p className="font-medium text-teal-700 dark:text-teal-300 m-0!">관찰</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-rose-100 dark:bg-rose-900/50 border border-rose-200 dark:border-rose-800 rounded text-center text-sm">
            <p className="font-medium text-rose-700 dark:text-rose-300 m-0!">적응</p>
          </div>
        </div>
        <div className="text-xs text-muted-foreground flex items-center gap-1">
          <span>↺</span> 완료될 때까지 반복
        </div>
      </div>
      <div className="text-muted-foreground">→</div>
      <div className="px-4 py-3 bg-green-100 dark:bg-green-900/50 border border-green-200 dark:border-green-800 rounded-lg text-center text-sm">
        <p className="font-medium text-green-700 dark:text-green-300 m-0!">완료</p>
      </div>
    </div>
  </div>
</div>

## 구성 요소로서의 프롬프트

아무리 정교한 에이전트라도 프롬프트로 구축됩니다. 원자가 결합하여 분자를 형성하고, 분자가 결합하여 복잡한 구조를 형성하는 것처럼, 프롬프트가 결합하여 지능적인 에이전트 행동을 만들어냅니다.

<div className="my-6 grid md:grid-cols-4 gap-3 text-center text-sm">
  <div className="border rounded-lg p-4 bg-blue-50/50 dark:bg-blue-950/20 border-blue-200 dark:border-blue-900">
    <p className="font-semibold text-blue-700 dark:text-blue-300 m-0!">시스템 프롬프트</p>
    <p className="text-xs text-blue-600 dark:text-blue-400 m-0! mt-1">정체성 & 역할</p>
  </div>
  <div className="border rounded-lg p-4 bg-purple-50/50 dark:bg-purple-950/20 border-purple-200 dark:border-purple-900">
    <p className="font-semibold text-purple-700 dark:text-purple-300 m-0!">계획 프롬프트</p>
    <p className="text-xs text-purple-600 dark:text-purple-400 m-0! mt-1">사고 방식</p>
  </div>
  <div className="border rounded-lg p-4 bg-amber-50/50 dark:bg-amber-950/20 border-amber-200 dark:border-amber-900">
    <p className="font-semibold text-amber-700 dark:text-amber-300 m-0!">도구 프롬프트</p>
    <p className="text-xs text-amber-600 dark:text-amber-400 m-0! mt-1">행동 방식</p>
  </div>
  <div className="border rounded-lg p-4 bg-rose-50/50 dark:bg-rose-950/20 border-rose-200 dark:border-rose-900">
    <p className="font-semibold text-rose-700 dark:text-rose-300 m-0!">복구 프롬프트</p>
    <p className="text-xs text-rose-600 dark:text-rose-400 m-0! mt-1">복구 방법</p>
  </div>
</div>

이러한 프롬프트 유형이 함께 쌓여 완전한 에이전트 행동을 형성합니다:

### 시스템 프롬프트 (에이전트의 정체성)

에이전트가 누구이며 어떻게 행동하는지 설정하는 기초 프롬프트입니다:

```markdown
You are a code review assistant. Your role is to:
- Analyze code for bugs, security issues, and performance problems
- Suggest improvements following best practices
- Explain your reasoning clearly
- Be constructive and educational in feedback

You have access to tools for reading files, searching code, and running tests.
```

### 계획 프롬프트 (사고 방식)

에이전트의 추론과 계획 과정을 안내하는 지침입니다:

```markdown
Before taking action, always:
1. Understand the complete request
2. Break it into smaller, verifiable steps
3. Identify which tools you'll need
4. Consider edge cases and potential issues
5. Execute step by step, validating as you go
```

### 도구 사용 프롬프트 (행동 방식)

사용 가능한 도구를 언제, 어떻게 사용할지에 대한 안내입니다:

```markdown
When you need to understand a codebase:
- Use grep_search for finding specific patterns
- Use read_file to examine file contents
- Use list_dir to explore directory structure
- Always verify your understanding before making changes
```

### 복구 프롬프트 (실패 처리 방법)

문제가 발생했을 때의 지침입니다:

```markdown
If an action fails:
1. Analyze the error message carefully
2. Consider alternative approaches
3. Ask for clarification if the task is ambiguous
4. Never repeat the same failed action without changes
```

<Callout type="info" title="프롬프트 스택">
에이전트의 행동은 함께 작동하는 프롬프트 계층에서 나타납니다. 시스템 프롬프트가 기반을 설정하고, 계획 프롬프트가 추론을 안내하며, 도구 프롬프트가 행동을 가능하게 하고, 복구 프롬프트가 실패를 처리합니다. 이 모든 것이 함께 일관되고 유능한 행동을 만들어냅니다.
</Callout>

## 스킬이란 무엇인가?

프롬프트가 원자라면, **스킬은 분자**입니다—에이전트에게 특정 기능을 제공하는 재사용 가능한 구성 요소입니다.

**스킬**은 AI 에이전트에게 특정 도메인이나 작업에 대한 전문 지식을 제공하는 포괄적이고 이식 가능한 지침 패키지입니다. 스킬은 에이전트의 재사용 가능한 블록입니다: 한 번 만들면 어떤 에이전트든 사용할 수 있습니다.

<Callout type="tip" title="스킬 = 재사용 가능한 에이전트 블록">
코드 리뷰 스킬을 한 번 작성하세요. 이제 Python, JavaScript, Rust 등 어떤 코딩 에이전트든 해당 스킬을 로드하여 즉시 전문 코드 리뷰어가 될 수 있습니다. 스킬을 사용하면 레고 블록처럼 에이전트 기능을 구축할 수 있습니다.
</Callout>

### 스킬의 구조

잘 설계된 스킬에는 일반적으로 다음이 포함됩니다:

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">📄 SKILL.md (필수)</p>
    <p className="text-sm text-muted-foreground m-0!">주요 지침 파일입니다. 스킬을 정의하는 핵심 전문 지식, 가이드라인 및 행동을 포함합니다.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">📚 참조 문서</p>
    <p className="text-sm text-muted-foreground m-0!">에이전트가 작업 중 참조할 수 있는 지원 문서, 예제 및 컨텍스트입니다.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">🔧 스크립트 & 도구</p>
    <p className="text-sm text-muted-foreground m-0!">스킬의 기능을 지원하는 헬퍼 스크립트, 템플릿 또는 도구 구성입니다.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">⚙️ 구성</p>
    <p className="text-sm text-muted-foreground m-0!">다양한 컨텍스트에 스킬을 적용하기 위한 설정, 매개변수 및 사용자 정의 옵션입니다.</p>
  </div>
</div>

### 예제: 코드 리뷰 스킬

코드 리뷰 스킬의 예시입니다:

<div className="my-6 border rounded-lg overflow-hidden bg-muted/20">
  <div className="px-3 py-2 bg-muted/50 border-b flex items-center gap-2">
    <span className="text-sm">📁</span>
    <span className="text-sm font-medium">code-review-skill/</span>
  </div>
  <div className="p-3 space-y-1 text-sm font-mono">
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span className="font-medium">SKILL.md</span>
      <span className="text-muted-foreground text-xs ml-auto">핵심 리뷰 가이드라인</span>
    </div>
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span>security-checklist.md</span>
      <span className="text-muted-foreground text-xs ml-auto">보안 패턴</span>
    </div>
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span>performance-tips.md</span>
      <span className="text-muted-foreground text-xs ml-auto">최적화 가이드</span>
    </div>
    <div className="mt-2 border-t pt-2">
      <div className="flex items-center gap-2 px-2 py-1">
        <span>📁</span>
        <span className="font-medium">language-specific/</span>
      </div>
      <div className="ml-6 space-y-1">
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>python.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Python 모범 사례</span>
        </div>
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>javascript.md</span>
          <span className="text-muted-foreground text-xs ml-auto">JavaScript 패턴</span>
        </div>
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>rust.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Rust 가이드라인</span>
        </div>
      </div>
    </div>
  </div>
</div>

`SKILL.md` 파일은 전체적인 접근 방식을 정의합니다:

```markdown
---
name: code-review
description: Comprehensive code review with security, performance, and style analysis
---

# Code Review Skill

You are an expert code reviewer. When reviewing code:

## Process
1. **Understand Context** - What does this code do? What problem does it solve?
2. **Check Correctness** - Does it work? Are there logic errors?
3. **Security Scan** - Reference security-checklist.md for common vulnerabilities
4. **Performance Review** - Check performance-tips.md for optimization opportunities
5. **Style & Maintainability** - Is the code readable and maintainable?

## Output Format
Provide feedback in categories:
- 🔴 **Critical** - Must fix before merge
- 🟡 **Suggested** - Recommended improvements
- 🟢 **Nice to have** - Optional enhancements

Always explain *why* something is an issue, not just *what* is wrong.
```

## 스킬 vs. 단순 프롬프트

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg bg-muted/30">
    <p className="text-sm font-semibold px-4 pt-3 m-0!">단순 프롬프트</p>
    <div className="text-sm p-4 pt-2 space-y-2">
      <p className="m-0!">단일 지침</p>
      <p className="m-0!">일회성 사용</p>
      <p className="m-0!">제한된 컨텍스트</p>
      <p className="m-0!">일반적인 접근 방식</p>
      <p className="m-0!">지원 자료 없음</p>
    </div>
  </div>
  <div className="border rounded-lg bg-primary/5 border-primary/20">
    <p className="text-sm font-semibold px-4 pt-3 m-0!">스킬</p>
    <div className="text-sm p-4 pt-2 space-y-2">
      <p className="m-0!">포괄적인 지침 세트</p>
      <p className="m-0!">프로젝트 간 재사용 가능</p>
      <p className="m-0!">참조 문서가 포함된 풍부한 컨텍스트</p>
      <p className="m-0!">도메인별 전문 지식</p>
      <p className="m-0!">지원 문서, 스크립트, 구성 포함</p>
    </div>
  </div>
</div>

## 효과적인 스킬 구축하기

### 1. 전문 지식을 명확하게 정의

스킬이 무엇을 가능하게 하는지 명확한 설명으로 시작합니다:

```markdown
---
name: api-design
description: Design RESTful APIs following industry best practices, 
  including versioning, error handling, and documentation standards
---
```

### 2. 지식을 계층적으로 구조화

정보를 일반에서 구체적으로 정리합니다:

```markdown
# API Design Skill

## Core Principles
- Resources should be nouns, not verbs
- Use HTTP methods semantically
- Version your APIs from day one

## Detailed Guidelines
[More specific rules...]

## Reference Materials
- See `rest-conventions.md` for naming conventions
- See `error-codes.md` for standard error responses
```

### 3. 구체적인 예제 포함

추상적인 규칙은 예제로 명확해집니다:

```markdown
## Endpoint Naming

✅ Good:
- GET /users/{id}
- POST /orders
- DELETE /products/{id}/reviews/{reviewId}

❌ Avoid:
- GET /getUser
- POST /createNewOrder
- DELETE /removeProductReview
```

### 4. 의사결정 프레임워크 제공

모호한 상황에서 에이전트가 선택할 수 있도록 도와줍니다:

```markdown
## When to Use Pagination

Use pagination when:
- Collection could exceed 100 items
- Response size impacts performance
- Client may not need all items

Use full response when:
- Collection is always small (<20 items)
- Client typically needs everything
- Real-time consistency is critical
```

### 5. 복구 패턴 추가

무엇이 잘못될 수 있는지 예상합니다:

```markdown
## Common Issues

**Problem**: Client needs fields not in standard response
**Solution**: Implement field selection: GET /users?fields=id,name,email

**Problem**: Breaking changes needed
**Solution**: Create new version, deprecate old with timeline
```

## 스킬 조합하기

여러 스킬이 함께 작동할 때 에이전트는 강력해집니다. 스킬이 어떻게 서로 보완할 수 있는지 고려해 보세요:

<div className="my-6 flex flex-wrap items-center justify-center gap-4 p-6 bg-muted/30 rounded-lg">
  <div className="px-4 py-2 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-sm font-medium text-blue-700 dark:text-blue-300">
    코드 리뷰
  </div>
  <div className="text-xl">+</div>
  <div className="px-4 py-2 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded-lg text-sm font-medium text-purple-700 dark:text-purple-300">
    보안 감사
  </div>
  <div className="text-xl">+</div>
  <div className="px-4 py-2 bg-green-100 dark:bg-green-900/50 border border-green-200 dark:border-green-800 rounded-lg text-sm font-medium text-green-700 dark:text-green-300">
    문서화
  </div>
  <div className="text-xl">=</div>
  <div className="px-4 py-2 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded-lg text-sm font-medium text-amber-700 dark:text-amber-300">
    완전한 코드 품질 에이전트
  </div>
</div>

스킬을 조합할 때 충돌하지 않도록 해야 합니다. 스킬은 다음과 같아야 합니다:

- **모듈화** - 각 스킬이 하나의 도메인을 잘 처리
- **호환성** - 스킬이 모순되는 지침을 주지 않아야 함
- **우선순위** - 스킬이 겹칠 때 어떤 것이 우선하는지 정의

## 스킬 공유 및 발견

스킬은 공유될 때 가장 가치 있습니다. [prompts.chat](https://prompts.chat/skills)과 같은 플랫폼에서 다음을 수행할 수 있습니다:

- **발견** - 일반적인 작업을 위한 커뮤니티 제작 스킬 찾기
- **다운로드** - 프로젝트에 직접 스킬 다운로드
- **공유** - 자신의 전문 지식을 재사용 가능한 스킬로 공유
- **반복** - 실제 사용에 기반하여 스킬 개선

<Callout type="tip" title="커뮤니티 스킬부터 시작하세요">
스킬을 처음부터 만들기 전에 누군가가 이미 문제를 해결했는지 확인하세요. 커뮤니티 스킬은 실전에서 검증되었으며 종종 처음부터 시작하는 것보다 낫습니다.
</Callout>

## 에이전트-스킬 생태계

에이전트와 스킬 간의 관계는 강력한 생태계를 만듭니다:

<div className="my-6 p-6 bg-muted/30 rounded-lg border">
  <div className="text-center mb-4">
    <span className="text-sm font-semibold text-muted-foreground">AI 에이전트</span>
  </div>
  <div className="flex flex-wrap justify-center gap-3 mb-4">
    <div className="px-4 py-3 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-center">
      <p className="font-medium text-blue-700 dark:text-blue-300 text-sm m-0!">코드 리뷰</p>
      <p className="text-xs text-blue-600 dark:text-blue-400 m-0!">스킬 1</p>
    </div>
    <div className="px-4 py-3 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded-lg text-center">
      <p className="font-medium text-purple-700 dark:text-purple-300 text-sm m-0!">API 설계</p>
      <p className="text-xs text-purple-600 dark:text-purple-400 m-0!">스킬 2</p>
    </div>
    <div className="px-4 py-3 bg-teal-100 dark:bg-teal-900/50 border border-teal-200 dark:border-teal-800 rounded-lg text-center">
      <p className="font-medium text-teal-700 dark:text-teal-300 text-sm m-0!">테스트 작성</p>
      <p className="text-xs text-teal-600 dark:text-teal-400 m-0!">스킬 3</p>
    </div>
  </div>
  <div className="flex justify-center mb-3">
    <div className="text-muted-foreground">↓</div>
  </div>
  <div className="flex justify-center">
    <div className="px-6 py-4 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded-lg text-center">
      <p className="font-semibold text-amber-700 dark:text-amber-300 text-sm m-0!">핵심 프롬프트</p>
      <p className="text-xs text-amber-600 dark:text-amber-400 m-0!">계획 • 도구 • 복구 • 메모리</p>
    </div>
  </div>
</div>

에이전트는 실행 프레임워크(계획, 도구 사용, 메모리)를 제공하고, 스킬은 도메인 전문 지식을 제공합니다. 이러한 분리는 다음을 의미합니다:

- **스킬은 이식 가능** - 동일한 스킬이 다른 에이전트와 함께 작동
- **에이전트는 확장 가능** - 스킬을 추가하여 새로운 기능 추가
- **전문 지식은 공유 가능** - 도메인 전문가가 전체 에이전트를 구축하지 않고도 스킬을 기여할 수 있음

## 모범 사례

### 스킬 구축을 위한

1. **구체적으로 시작하고 일반화하기** - 정확한 사용 사례에 맞는 스킬을 먼저 만든 다음 추상화
2. **실패 사례 포함** - 스킬이 할 수 없는 것과 처리 방법을 문서화
3. **스킬 버전 관리** - 에이전트가 안정적인 버전에 의존할 수 있도록 변경 사항 추적
4. **실제 작업으로 테스트** - 이론이 아닌 실제 작업에 대해 스킬 검증

### 에이전트와 함께 스킬 사용을 위한

1. **스킬을 먼저 읽기** - 배포하기 전에 스킬이 무엇을 하는지 이해
2. **신중하게 사용자 정의** - 필요할 때만 스킬 기본값 재정의
3. **성능 모니터링** - 컨텍스트에서 스킬이 얼마나 잘 수행되는지 추적
4. **개선 사항 기여** - 스킬을 개선하면 다시 공유하는 것을 고려

<Callout type="info" title="미래는 조합 가능합니다">
AI 에이전트가 더 유능해짐에 따라, 스킬을 조합하고, 공유하고, 사용자 정의하는 능력이 핵심 역량이 될 것입니다. 미래의 프롬프트 엔지니어는 단순히 프롬프트를 작성하는 것이 아니라 AI 에이전트를 특정 도메인에서 진정한 전문가로 만드는 스킬 생태계를 설계할 것입니다.
</Callout>

<Quiz 
  question="단순 프롬프트와 스킬의 핵심 차이점은 무엇인가요?"
  options={[
    "스킬은 프롬프트보다 더 깁니다",
    "스킬은 에이전트에게 도메인 전문 지식을 제공하는 재사용 가능한 다중 파일 패키지입니다",
    "스킬은 특정 AI 모델에서만 작동합니다",
    "스킬은 프롬프트가 필요하지 않습니다"
  ]}
  correctIndex={1}
  explanation="스킬은 여러 프롬프트, 참조 문서, 스크립트 및 구성을 결합하는 포괄적이고 이식 가능한 패키지입니다. 특정 기능을 제공하기 위해 모든 에이전트에 추가할 수 있는 재사용 가능한 구성 요소입니다."
/>

<Quiz 
  question="에이전트 루프란 무엇인가요?"
  options={[
    "AI 오류에 대한 디버깅 기술",
    "목표가 달성될 때까지 반복되는 계획 → 실행 → 관찰 → 적응",
    "여러 프롬프트를 함께 연결하는 방법",
    "새로운 AI 모델을 훈련하는 방법"
  ]}
  correctIndex={1}
  explanation="AI 에이전트는 연속적인 루프로 작동합니다: 작업 접근 방법을 계획하고, 행동을 실행하고, 결과를 관찰하고, 피드백에 따라 접근 방식을 적응합니다—목표가 완료될 때까지 반복합니다."
/>

<Quiz 
  question="스킬이 '에이전트의 재사용 가능한 블록'으로 설명되는 이유는 무엇인가요?"
  options={[
    "한 번만 사용할 수 있기 때문",
    "블록 프로그래밍 언어로 작성되기 때문",
    "모든 에이전트가 스킬을 로드하여 해당 기능을 즉시 얻을 수 있기 때문",
    "스킬이 에이전트의 필요성을 대체하기 때문"
  ]}
  correctIndex={2}
  explanation="스킬은 이식 가능한 전문 지식 패키지입니다. 코드 리뷰 스킬을 한 번 작성하면 모든 코딩 에이전트가 해당 스킬을 로드하여 전문 코드 리뷰어가 될 수 있습니다—어떤 구조에든 끼울 수 있는 레고 블록처럼요."
/>
