시작하기
소개
Skynet이 무엇인지, 무엇을 최적화하는지, 어디서 시작하는지 알아봅니다.
Skynet은 이미 가지고 있는 아티팩트를 개선합니다. 시작 버전, 케이스 세트, 메트릭을 제공하면 Skynet이 새 버전을 제안하고, 각 버전을 케이스에서 실행하고, 메트릭으로 출력을 채점한 뒤 가장 좋은 버전을 유지합니다.
Skynet이 최적화하는 대상
Skynet은 네 가지 아티팩트 종류를 다룹니다.
| 아티팩트 종류 | 변경되는 부분 |
|---|---|
| 프롬프트 | 프롬프트 텍스트 |
| 코드 | 소스 코드 |
| DSPy 프로그램 | dspy.Module 안에 있는 예측기(predictor)의 지시문 |
| 텍스트 | 그 밖의 모든 텍스트(예: 문서나 구성 파일) |
모든 실행은 같은 계약을 따릅니다. 실행 코드는 run(artifact, input)을 정의합니다. 메트릭은 score(input, output, expected=None)을 정의합니다. 메트릭은 점수와 서술형 피드백을 반환합니다. 옵티마이저는 이 피드백을 읽고 다음 버전을 더 좋게 만듭니다.
하나의 제품, 여러 엔진
Skynet은 Optimize Anything입니다. 어떤 엔진이 작업할 수 있는지는 아티팩트 종류에 따라 정해집니다.
- 프롬프트, 코드, 텍스트 아티팩트는 네이티브 엔진을 사용합니다: GEPA, Best-of-N, Meta-Harness, AutoResearch, AutoSaddler, ShinkaEvolve.
- DSPy 프로그램 아티팩트는 DSPy 옵티마이저를 사용합니다: DSPy GEPA, DSPy MIPROv2, DSPy BootstrapFewShot.
Auto가 대신 선택합니다. DSPy 프로그램에서는 Auto가 DSPy GEPA를 사용합니다. 다른 아티팩트 종류에서는 Auto가 다섯 개의 네이티브 엔진을 조합합니다. 최적화의 작동 방식과 엔진을 읽어 보세요.
실행의 작동 방식
- 작업을 설명하고 시작 버전을 설정합니다.
- 케이스를 제공합니다. Skynet은 케이스를 학습, 검증, 테스트 세트로 분할합니다.
- 옵티마이저, 모델, 예산을 선택합니다.
- 실행 코드와 메트릭을 작성합니다. 계약 검사가 샘플 케이스에서 둘을 실행합니다.
- Skynet이 최적화를 실행하고 결과를 보여 줍니다.
Skynet은 검증 케이스에서 버전을 선택합니다. 최종 점수는 테스트 케이스에서 보고합니다. 엔진은 테스트 케이스를 절대 보지 않습니다.