실행 코드 스킬 라이브러리
스킬을 프롬프트가 아닌 실행 함수 코드로 정의해 생성·실행·업데이트·저장 루프로 축적한다.

arXiv:2512.17102에서는 스킬을 여러 행동(action)으로 이루어진 리스트로 보고, 에이전트가 여러 행동으로 구성된 스킬 함수를 정의한 뒤 즉시 호출해 실행하는 통합 포맷을 사용한다. 에이전트는 이 스킬을 생성→실행→실패 시 업데이트→성공 시 저장 흐름으로 온라인에서 다룬다. 여기서 초점은 “프롬프트 조각”이 아니라 “실행 코드”를 자산으로 쌓는 데 있다. 이 논문은 실행 단위를 라이브러리로 만들겠다는 접근을 제안한다.
세 줄 요약
- 무슨 변화/핵심이슈인가? 프롬프트 중심 스킬 관리 대신, 실행 가능한 함수 형태 스킬을 라이브러리에 저장하고 RL 보상에 스킬 생성/활용을 포함해 재사용을 학습시키는 접근을 다룬다.
- 왜 중요한가? 스킬을 “텍스트 지식”이 아니라 “행동 묶음”으로 다루면, 재현성·검증 가능성·장기적 개선을 한 설계 안에서 다룰 여지가 생긴다.
- 독자는 뭘 하면 되나? 스킬을 문서/프롬프트가 아니라 실행 코드(함수) + 자동 채점 eval + 카나리/롤백 운영 단위로 재설계한다. “저장/업데이트”가 일어나는 로그를 남기고, 스킬별 신뢰도 게이팅을 시험한다.
현황
이 논문(“Reinforcement Learning for Self-Improving Agent with Skill Library”, arXiv:2512.17102)에서 스킬은 정책 설명이 아니라 함수 형태의 실행 코드다. 스킬은 “여러 행동으로 구성된 리스트”로 표현된다. 호출하면 복잡한 행동 시퀀스를 더 짧은 재사용 단위로 압축한다는 문제의식이 깔려 있다. “롱 컨텍스트에 절차를 길게 적어두기”보다 “반복되는 절차를 실행 단위로 만들고 호출하기”에 가깝다.
라이브러리 인터페이스는 엄격한 스펙 표로 제시됐다기보다(이 글에서 다룬 범위에서는), 태스크마다 라이브러리에서 일부 스킬을 검색해 컨텍스트에 넣고 에이전트가 네 가지 조작을 수행하는 흐름으로 설명된다. 네 가지는 (1) 스킬 사용, (2) 스킬 생성(함수 정의 후 즉시 호출), (3) 실패 시 스킬 업데이트 후 재호출, (4) 오류 없이 실행되면 스킬 저장이다. 즉 “작성한 걸 저장해두고 다음에 쓰는”을 넘어, 실패 로그를 바탕으로 스킬을 고치고 다시 실행하는 루프를 인터페이스 수준에서 다룬다.
일반화 메커니즘도 프롬프트 재사용만으로 설명하지 않고 학습 신호로 묶는다. 이 글에서 다룬 범위에서는 Sequential Rollout(앞 태스크에서 만든 스킬을 뒤 태스크에서 재사용하게 하는 유사 태스크 체인)과 Skill-integrated Reward(보상에 스킬 생성/활용을 포함)가 핵심 장치로 언급된다. 스킬을 “만드는 것”에서 끝나지 않고, 다음 문제에서 재사용되는지가 보상과 연결되는 구조다.
분석
이 접근의 요지는 “실행을 안정적으로 반복하는 능력”을 스킬로 만들고, 이를 라이브러리에 쌓자는 주장이다. 프롬프트 기반 스킬 축적은 재현성 문제가 생길 수 있다. 컨텍스트 길이, 프롬프트 위치, 표현 차이로 행동이 달라질 수 있고, 동일 작업이 시점에 따라 실패하는 상황도 발생할 수 있다. 실행 코드(함수) 형태로 스킬을 고정하면 “무엇을 실행했는지”가 더 분명해진다. 실패했을 때 업데이트 대상도 상대적으로 특정하기 쉽다.
위험도 있다. 첫째, “스킬 저장”이 “스킬 신뢰”를 뜻하지 않는다. 한 번의 성공은 안전성이나 견고함을 보장하지 않는다. 둘째, RL 신호를 붙이면 비용이 든다. 온라인 탐색은 실제 환경에서 실패 비용이 발생할 수 있고, 안전 이슈도 동반할 수 있다. 운영 관점에서는 기술 요소와 함께 파이프라인이 필요하다. 구조화된 자동 채점 eval을 계속 돌려 회귀를 감지하고, 안전·강건성 점검을 위한 자동 레드팀 체계를 함께 둔다. 자동 채점이 놓치는 부분은 수동 리뷰로 보정한다.
실전 적용
개발자가 바꾸기 쉬운 시작점은 “스킬의 형태”다. 팀 위키에 프롬프트를 저장하는 대신, 스킬을 함수(실행 코드) + 입력/출력 + 실패 시 업데이트 규칙으로 정의한다. 라이브러리 호출도 “검색 결과를 컨텍스트에 넣는” 수준에서 끝내지 않는다. 실패할 때 업데이트 후 재호출이 일어나도록 제어 흐름을 고정한다. 논문이 제시하는 네 가지 조작(사용/생성/업데이트/저장)을 운영 인터페이스로 올리면, 스킬 라이프사이클을 문서보다 로그로 추적하기 쉬워진다.
예: 고객지원 에이전트가 내부 API로 환불 상태를 조회한다고 하자. 프롬프트에 절차를 길게 적는 대신 check_refund_status() 같은 스킬을 만든다. 에러가 나면 스킬을 업데이트(예: 파라미터 누락, 호출 순서 수정)한 뒤 재호출한다. 성공하면 스킬을 저장한다. 배포 단계에서는 자동 eval과 안전 점검을 통과한 스킬만 “기본 추천 스킬”로 올린다. 배포 실패 감지는 “한 번의 성공”이 아니라 카나리와 컨트롤 지표를 분리해 관측하는 방식으로 다룬다.
오늘 바로 할 일 체크리스트
- 스킬을 “프롬프트 템플릿”이 아니라 **실행 함수 + 행동 시퀀스(action list)**로 정의한다. 저장 시점에 입력/출력/에러 로그를 함께 남긴다.
- 자동 채점 가능한 구조화 eval을 만들고, 스킬 생성/업데이트마다 계속 돌려 회귀(regression)를 잡는다.
- 배포는 카나리로 분리 관측한다. 지표가 나빠지면 스킬/정책을 롤백할 수 있게 릴리즈 경로를 단순화한다.
FAQ
Q1. 스킬을 “함수 코드”로 만들면 프롬프트 스킬보다 뭐가 달라집니까?
A1. 프롬프트는 같은 목표라도 실행 경로가 달라질 수 있습니다. 함수 코드는 실행 경로와 실패 지점이 더 명확해집니다. 그래서 재현성 테스트, 디버깅, 업데이트가 수월해질 수 있습니다.
Q2. 스킬 검증은 결국 사람이 봐야 하는 것 아닙니까?
A2. 일부는 사람이 봐야 합니다. 다만 자동 채점 가능한 eval을 계속 돌리고, 자동 레드팀 도구로 최소 기준선을 두면 수동 검토 범위를 줄일 수 있습니다.
Q3. 온라인 RL로 스킬을 계속 고치면 운영 리스크가 커지지 않습니까?
A3. 커질 수 있습니다. 그래서 보상(reward)과 비용/안전(cost)을 분리해 다루는 관점, 그리고 카나리 배포·롤백 같은 운영 통제가 함께 필요합니다.
결론
RL 스킬 라이브러리는 “프롬프트를 잘 적는 법”보다 “실행을 자산으로 축적하는 법”에 가깝다. 다음 단계는 스킬 수를 늘리는 것만이 아니다. **스킬이 저장되는 조건(검증/게이팅)**과 배포에서의 실패 감지/롤백을 제품 수준으로 다루는 일이 함께 필요하다.
다음으로 읽기
- AI 자료 모음 (24h) - 2026-03-11
- VLM 실패를 만드는 퍼징 강화학습
- OCL에서 라우팅으로 망각 줄이기
- 셀 페인팅 배치 효과와 ABRA
- AI 자료 모음 (24h) - 2026-03-10
참고 자료
- Evaluation best practices | OpenAI API - developers.openai.com
- Findings from a pilot Anthropic–OpenAI alignment evaluation exercise: OpenAI Safety Tests | OpenAI - openai.com
- Improving Model Safety Behavior with Rule-Based Rewards | OpenAI - openai.com
- Reinforcement Learning for Self-Improving Agent with Skill Library (arXiv:2512.17102) - HTML - ar5iv.labs.arxiv.org
- HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal - arxiv.org
- Reinforcement Learning from Human Feedback with High-Confidence Safety Constraints - arxiv.org
- Safety-constrained reinforcement learning with a distributional safety critic | Machine Learning - link.springer.com
- arxiv.org - arxiv.org
업데이트 받기
주간 요약과 중요한 업데이트만 모아서 보내드려요.
오류를 발견했나요? 정정/오류 제보로 알려주시면 검토 후 업데이트에 반영할게요.