본문으로 건너뛰기
Skynet문서
페이지

개념

최적화의 작동 방식

실행 및 점수 계약, 아티팩트 유형, 유형별 엔진.

Skynet은 Optimize Anything입니다. 사용자의 데이터와 메트릭을 기준으로 어떤 아티팩트든 개선하는 하나의 제품입니다. 모든 실행은 같은 실행 계약과 같은 메트릭 계약을 사용합니다. 어떤 엔진이 작업할 수 있는지는 아티팩트 종류에 따라 정해집니다.

공통 계약

모든 실행에는 파일이 두 개 있습니다. run.py는 케이스 하나에서 아티팩트를 실행합니다. metric.py는 출력을 채점합니다.

from skynet import llm


def run(artifact, input):
    return llm(artifact, input=input)
  • artifact는 옵티마이저가 제안한 현재 버전입니다.
  • input은 케이스 하나의 입력 필드를 담은 dict입니다.
  • expected는 케이스의 기댓값이며, 케이스에 기댓값이 없으면 None입니다.
  • score는 쌍을 반환합니다. 숫자 하나와 "feedback" 문자열이 있는 dict 하나입니다.

skynet 헬퍼 모듈은 llm, Image, log를 제공합니다. 실행 코드에서 llm을 호출하면 작업 모델로 갑니다. 메트릭에서 llm을 호출하면 메트릭 모델로 갑니다.

전체 메트릭 계약은 지표와 채점기를 읽어 보세요.

아티팩트 종류와 엔진

아티팩트 종류엔진
프롬프트Auto, GEPA, Best-of-N, AutoResearch, Meta-Harness, AutoSaddler, ShinkaEvolve
코드프롬프트와 같음
텍스트프롬프트와 같음
DSPy 프로그램Auto, DSPy GEPA, DSPy MIPROv2, DSPy BootstrapFewShot

엔진은 두 계열로 나뉩니다.

  • 네이티브 엔진은 아티팩트를 블랙박스로 다룹니다. 프롬프트, 코드, 텍스트 아티팩트에서 작동합니다.
  • DSPy 옵티마이저는 DSPy 프로그램 내부에서 작동합니다. DSPy 프로그램 아티팩트에서만 작동합니다.

DSPy MIPROv2와 DSPy BootstrapFewShot에는 쌍(기대 출력이 있는 케이스)이 필요합니다. 입력이 하나뿐이면 DSPy 프로그램은 Auto와 DSPy GEPA만 사용할 수 있습니다.

프롬프트, 코드, 텍스트 아티팩트

네이티브 엔진은 아티팩트를 블랙박스로 다룹니다. 엔진은 새 버전을 제안하고, 케이스에서 run(artifact, input)을 실행하고, 점수와 피드백을 읽습니다.

여섯 개의 네이티브 엔진은 서로 다른 탐색 방법을 사용합니다.

  • GEPA는 리플렉션으로 버전을 진화시키고 파레토 프런트를 유지합니다.
  • Best-of-N은 리플렉션 모델에 독립적인 제안을 요청하고 가장 좋은 것을 유지합니다.
  • AutoResearch, Meta-Harness, AutoSaddler, ShinkaEvolve는 코딩 에이전트로 버전을 제안합니다.

각 엔진과 설정은 엔진을 읽어 보세요.

DSPy 프로그램 아티팩트

DSPy 프로그램은 아티팩트 종류 중 하나입니다. run.py는 모듈 수준에서 dspy.Module을 만들고 run 안에서 이를 호출합니다. 파일에 모듈이 두 개 이상 있으면, 최적화할 모듈의 이름을 program으로 지정하세요.

DSPy 옵티마이저가 실행될 때 일어나는 일은 다음과 같습니다.

  1. Skynet이 모듈을 찾아 run 함수로 감쌉니다. 모든 케이스는 사용자가 작성한 run을 거칩니다.
  2. DSPy 옵티마이저가 학습 케이스에서 프로그램을 컴파일합니다.
  3. 검증 케이스에서 선택합니다.
  4. 우승 결과는 각 예측기의 지시문 텍스트와 모듈의 전체 컴파일 상태입니다. 이 상태에는 퓨샷(few-shot) 데모가 포함됩니다.

최종 점수는 Skynet이 저장하는 바로 그 프로그램을 측정합니다.

옵티마이저피드백 텍스트 읽기
DSPy GEPA예
DSPy MIPROv2아니요, 점수만
DSPy BootstrapFewShot아니요, 점수만

DSPy BootstrapFewShot은 리플렉션 모델을 사용하지 않습니다.

Auto

Auto는 마법사의 기본 선택입니다.

  • 프롬프트, 코드, 텍스트 아티팩트에서 Auto는 다섯 개의 네이티브 엔진으로 탐색한 다음, 최고 버전에서 GEPA로 이어서 진행합니다.
  • DSPy 프로그램에서 Auto는 DSPy GEPA를 실행합니다.

두 형태의 Auto 모두 메트릭의 피드백 텍스트를 읽습니다.

어떤 엔진을 고를까요

상황사용할 것
모델이 실행하는 프롬프트가 있습니다프롬프트 아티팩트. Auto로 시작하세요.
더 빠르게, 더 저렴하게, 더 정확하게 만들 코드가 있습니다코드 아티팩트. Auto로 시작하세요.
문서나 구성 파일이 있습니다텍스트 아티팩트. Auto로 시작하세요.
DSPy 프로그램이 있습니다DSPy 프로그램 아티팩트. Auto로 시작하세요.
데이터에서 퓨샷 데모를 고르고 싶습니다DSPy BootstrapFewShot 또는 DSPy MIPROv2를 사용하는 DSPy 프로그램 아티팩트

관련 페이지