본문으로 건너뛰기

Claude 및 에이전트 스킬 최적화를 위한 코드 품질 개선 가이드 (스크레이핑 사례 중심)

Claude 에이전트의 스킬 성능을 높이기 위해 스크립트 코드를 최적화하고 토큰 사용량을 줄이는 실전 기법을 웹 스크레이핑 사례를 통해 다룹니다.

챕터별 상세

00:00

에이전트 스킬의 부상과 오픈 표준

Claude Skills가 Agent Skills라는 이름의 오픈 표준으로 자리 잡았다. OpenAI와 Google DeepMind 등 주요 기업들이 이 표준을 채택하고 있으며, 전용 마켓플레이스도 등장했다. 이는 모델이 외부 도구를 사용하는 방식을 표준화하여 이식성을 높인다.
01:38

스킬 작동 원리: 컨텍스트 엔지니어링과 점진적 공개

스킬은 '점진적 공개(Progressive Disclosure)' 원칙에 기반한다. 처음에는 100토큰 내외의 인덱스만 메모리에 두었다가, 모델이 특정 기능을 사용하기로 결정했을 때만 상세 지침(SKILL.md)과 스크립트를 로드한다. 이 방식은 컨텍스트 윈도우를 효율적으로 관리하여 모델의 추론 성능을 유지한다.
02:48

에이전트 스킬의 디렉토리 구조

스킬 디렉토리는 필수인 SKILL.md 파일과 선택 사항인 scripts, references, assets 폴더로 구성된다. SKILL.md는 메타데이터와 지침을 담고 있으며, scripts 폴더의 실행 코드는 샌드박스 환경에서 실행된다. 실행 결과는 모델에 추가 컨텍스트로 제공되거나 사용자에게 직접 출력된다.
06:51

스크레이핑 스킬의 흔한 실수: Web Fetch 도구 오용

많은 개발자가 전체 HTML을 그대로 가져오는 실수를 범한다. 이는 수만 개의 불필요한 토큰을 소모하게 하므로, 스크립트 단계에서 script, style, nav, footer 태그를 제거해야 한다. 실제 테스트 결과, 태그 제거만으로 토큰량을 8,000개에서 1,000개 미만으로 90% 가량 줄였다.
python
SKIP_TAGS = ["script", "style", "nav", "footer", "header", "noscript", "svg", "iframe"]

class ContentExtractor(HTMLParser):
    def __init__(self):
        super().__init__()
        self.result = []
        self.skip_depth = 0

    def handle_starttag(self, tag, attrs):
        if tag in SKIP_TAGS:
            self.skip_depth += 1

    def handle_endtag(self, tag):
        if tag in SKIP_TAGS:
            self.skip_depth -= 1

    def handle_data(self, data):
        if self.skip_depth == 0:
            self.result.append(data.strip())

불필요한 HTML 태그를 제거하여 토큰 사용량을 줄이는 파이썬 스크립트 예시

09:58

SKILL.md를 오케스트레이터로 활용하기

SKILL.md는 무엇을 할지 결정하는 오케스트레이터 역할을 수행하고, 실제 무거운 작업은 스크립트가 담당해야 한다. 모델이 페이지 구조를 매번 분석하게 하지 말고, 스크립트에서 CSS 선택자를 사용해 구조화된 JSON으로 결과를 반환하는 것이 최선이다. 이를 통해 모델의 추론 부하를 줄이고 응답의 일관성을 확보했다.
12:00

병렬 처리 및 실행 제한 설정

여러 검색을 수행할 때 순차적 요청 대신 스레드를 이용한 병렬 처리를 구현해야 한다. 또한 무한 루프나 과도한 토큰 소모를 방지하기 위해 최대 호출 횟수(Max Call Limits)와 페이지네이션 제한을 SKILL.md에 명시해야 한다. 이는 에이전트가 통제 불능 상태로 토큰을 소모하는 것을 방지한다.
python
with ThreadPoolExecutor(max_workers=5) as executor:
    futures = {
        executor.submit(fetch_one, topic, url): topic 
        for topic, url in searches.items()
    }
    for future in as_completed(futures):
        result = future.result()
        all_results.append(result)

여러 웹 요청을 병렬로 처리하여 에이전트의 실행 속도를 높이는 코드

13:42

증분 실행(Incremental Runs) 설계

매번 처음부터 다시 스크레이핑하는 대신, 마지막 실행 상태를 저장하고 새로운 데이터만 가져오도록 설계해야 한다. 스크립트가 로컬 파일이나 데이터베이스에서 이전 URL 목록을 확인하여 중복을 피하게 한다. 이 방식은 실행 속도를 획기적으로 높이고 중복 데이터 처리에 드는 비용을 없앤다.

용어 해설

에이전트 스킬(Agent Skills)
AI 에이전트의 기능을 확장하기 위한 오픈 표준 프레임워크이다. 지침(Instructions), 스크립트, 리소스를 폴더 구조로 패키징하여 모델이 특정 도구를 사용하거나 복잡한 작업을 수행할 수 있도록 지원한다.
점진적 공개(Progressive Disclosure)
사용자나 모델에게 필요한 정보만 단계적으로 제공하는 설계 원칙이다. LLM 컨텍스트 관리에서는 처음에 최소한의 인덱스만 로드하고, 모델이 특정 기능을 사용하기로 결정했을 때만 상세 지침과 코드를 주입하여 토큰을 절약한다.
컨텍스트 엔지니어링(Context Engineering)
모델의 응답 품질을 최적화하기 위해 입력되는 토큰(컨텍스트)을 전략적으로 구성하는 기술이다. 적절한 시점에 정확한 정보를 주입하여 모델의 추론 효율성을 극대화하는 것이 핵심이다.
토큰 최적화(Token Optimization)
LLM 사용 시 발생하는 비용과 지연 시간을 줄이기 위해 입력 및 출력 토큰 수를 최소화하는 기법이다. 불필요한 데이터 필터링, 구조화된 데이터 사용, 캐싱 등을 통해 구현한다.

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 03. 27.수집 2026. 03. 29.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.