Foundation Models Evaluations 테스트는 대표 입력과 제품 목표에 맞는 지표·평가기를 먼저 정한 뒤, Swift Testing에서 실행하고 개별 결과와 집계 결과를 함께 검토하는 방식으로 진행합니다. 기존 결정적 단위 테스트를 대체하지는 않습니다. 실제 통합 검증에는 Xcode를 실행할 macOS 환경이 필요하며, 원격 Mac을 쓸지는 로컬 환경과 반복 테스트 필요성으로 판단하세요.
Foundation Models로 생성 또는 도구 호출 기능을 만드는 iOS·macOS 독립 개발자라면 평가 설계와 회귀 확인 기준을 얻을 수 있습니다.
프롬프트나 모델 설정을 비교하려는 소규모 팀, Xcode 테스트를 지속 실행할 환경을 검토하는 개발자에게도 적합합니다.
마지막 업데이트: 2026년 10월 16일. Evaluations와 Xcode 관련 설명은 Apple 공식 Evaluations 문서와 Xcode 시스템 요구 사항을 기준으로 확인했습니다.
01 생성 품질을 판정할 때 단위 테스트와 평가를 분리합니다
결정적 단위 테스트는 입력이 같을 때 코드가 예상한 경계 조건을 처리하는지 확인하는 데 적합합니다. 하지만 생성 문장이 제품 요구에 맞는지, 표현이 지나치게 단정적인지 같은 품질을 그 테스트만으로 판단하기는 어렵습니다. 생성 결과 평가에는 대표 샘플, 측정 지표, 평가기, 전체 결과를 요약하는 집계가 필요합니다.
Apple의 Evaluations 프레임워크 문서는 스마트 기능의 품질을 평가하는 틀을 설명합니다. WWDC26의 Evaluations 소개 영상도 평가 샘플과 지표, 평가 결과를 통해 품질을 살펴보는 흐름을 다룹니다. 따라서 일반 테스트의 통과 여부와 생성 품질에 대한 판단은 별개의 증거로 기록해야 합니다.
| 선택지 | 주로 확인하는 내용 | 적합한 사용 |
|---|---|---|
| 결정적 단위 테스트 | 반환값, 오류 처리, 경계 조건 | 코드 로직이 약속한 동작을 하는지 확인 |
| Foundation Models Evaluations | 생성 결과와 정한 평가 기준의 부합 여부 | 프롬프트·설정 변경 전후의 품질 비교 |
| 사람의 검토 | 맥락, 표현의 적절성, 제품상 허용 여부 | 평가기가 놓칠 수 있는 사례와 출시 판단 점검 |
집계 점수가 좋아도 모든 샘플이 적절하다는 뜻은 아닙니다. 반대로 특정 샘플 하나의 차이만으로 모델이나 프롬프트 전체가 나빠졌다고 단정할 수도 없습니다. 개별 결과와 전체 지표를 나란히 보세요.
02 프롬프트나 모델 설정을 비교할 때는 평가 조건을 고정합니다
프롬프트를 바꿨을 때 품질 회귀가 있는지 확인하려면 비교 대상 외의 조건을 가능한 한 같게 유지해야 합니다. 같은 입력 샘플, 같은 평가기, 같은 채점 기준을 사용하고 변경한 요소를 기록하세요. 결과 차이는 해당 샘플과 평가 조건에서 관찰된 사실로만 해석합니다. 단일 실행 결과를 일반적인 성능 우위로 확대하면 안 됩니다.
Apple의 Evaluations 문서는 전략 간 비교와 품질 변화 추적에 이 평가 방식을 활용할 수 있다고 설명합니다. 다만 점수 변화만으로 원인을 확정하지는 마세요. 달라진 샘플별 응답을 다시 읽고, 평가기가 의도한 품질 기준을 제대로 반영하는지 함께 확인해야 합니다.
주의: 프롬프트와 평가기, 샘플을 한꺼번에 바꾸면 어느 변경이 결과에 영향을 줬는지 분리하기 어렵습니다. 비교 기록에는 변경한 항목과 그대로 둔 조건을 각각 남기세요.
생성 결과 평가 지표가 제품 목표에 맞는지 확인하는 방법
지표는 제품에서 중요하게 여기는 품질을 실제로 구별해야 합니다. 예를 들어 응답 형식 준수가 핵심인 기능이라면 형식 오류를 놓치지 않는 평가 기준이 필요합니다. 답변의 맥락 적합성이 중요하다면 단순한 형식 검사가 이를 대신할 수 없습니다. 하나의 점수를 만능 기준으로 삼기보다, 평가기가 어떤 특성을 보고 어떤 실패를 놓칠 수 있는지 적어 두세요.
Apple의 평가 데이터셋 설계 안내는 데이터셋을 설계할 때 샘플의 대표성과 평가 목적을 고려하도록 안내합니다. 실제 사용 입력의 차이를 반영하고, 쉬운 예시만 모이지 않았는지 검토하세요. SampleGenerator로 만든 합성 샘플도 실제 사용 상황을 대표한다고 가정하지 말고 직접 확인해야 합니다.
03 도구 호출 기능은 응답뿐 아니라 실행 경로도 평가합니다
도구 호출을 포함한 기능에서 최종 문장만 비교하면 중요한 실패를 놓칠 수 있습니다. 필요한 도구를 선택했는지, 호출 과정이 기대한 흐름을 따랐는지, 도구 실행 뒤 결과가 요청에 맞게 정리됐는지를 각각 살펴보세요. 샘플에는 기대하는 행동과 허용할 결과를 구체적으로 표현해야 합니다.
Apple의 도구 호출 평가 안내는 도구 호출 동작을 평가하는 방법을 다룹니다. 도구를 잘못 선택했는데 우연히 그럴듯한 최종 답변이 나온 사례와, 도구는 올바르게 호출했지만 결과 설명이 부정확한 사례는 구분해 검토해야 합니다. 평가기가 실행 궤적과 최종 답변을 모두 적절히 판정하는지도 확인하세요.
도구 호출용 샘플에 넣을 기대 행동
샘플에는 사용자의 요청뿐 아니라 해당 요청에서 기대하는 도구 선택과 결과 처리 기준을 담으세요. 입력이 모호하거나 도구 실행 결과가 예상과 다를 때 어떤 동작을 허용할지도 정리해야 합니다. 제품 정책이나 맥락에 따라 판단이 달라지는 사례는 자동 평가 결과만으로 결론을 내리지 말고 사람이 검토하세요.
04 Xcode 27과 Swift Testing에서 평가 결과를 추적합니다
Apple은 Evaluations를 Swift Testing과 함께 사용할 수 있도록 설명합니다. EvaluationTrait 문서를 참고해 테스트 목표에서 평가를 실행하는 방법을 확인하세요. Apple은 Xcode 27.1을 2026년 10월 15일 출시했다고 공식 출시 기록에 안내했습니다. 다만 실제 프로젝트에서는 사용하는 Xcode와 대상 운영 체제의 호환성을 현재 시스템 요구 사항에서 먼저 확인해야 합니다.
Swift Testing과 함께 실행하는 목적은 일반 단위 테스트를 품질 평가로 바꾸는 것이 아닙니다. 단위 테스트 결과는 코드 경계와 예상 동작을, 평가 보고서와 집계는 선택한 샘플과 평가 기준에서 관찰한 생성 품질을 보여줍니다. 어떤 지표도 모든 앱에 공통으로 적용되는 출시 임계값이라고 가정하지 마세요.
Swift Testing에 평가를 연결하는 작업 순서
- 프로젝트에서 평가할 기능과 제품상 허용할 결과를 적습니다. 일반 코드 로직 테스트와 생성 품질 평가를 분리합니다.
- 실제 사용 입력의 차이를 반영하는 대표 샘플을 모읍니다. 민감하거나 특이한 사례도 필요하다면 의도적으로 포함하고, 합성 샘플은 검토 후 사용합니다.
- 각 샘플에서 무엇을 판정할지 정하고 평가기를 선택합니다. 점수가 의미하는 품질과 놓칠 수 있는 실패를 문서화합니다.
- 평가를 Swift Testing 흐름에 연결하고 테스트 목표에서 실행합니다. Xcode와 대상 시스템의 요구 사항은 실행 환경별로 확인합니다.
- 평가 보고서에서 개별 샘플을 살펴본 다음 집계 결과를 검토합니다. 낮은 점수나 예상 밖의 응답을 확인하고 원인을 분류합니다.
- 프롬프트나 모델 설정을 바꾼 뒤에는 같은 샘플과 채점 기준으로 다시 실행합니다. 변경 사항, 실행 조건, 결과를 함께 보관해 이전 결과와 비교할 수 있게 합니다.
- 평가기가 놓친 사례와 제품상 중요한 판단은 사람이 재검토합니다. 자동 평가 결과만으로 출시 적합성을 확정하지 않습니다.
참고: 보고서의 집계 결과는 평가에 사용한 샘플과 기준에 한정됩니다. 샘플이 실제 이용 상황을 대표하지 못하면 점수가 좋아도 실제 품질을 보장하지 않습니다.
05 원격 macOS 검증은 반복 재현이 필요한지부터 판단합니다
원격 Mac에서 평가를 실행하려면 우선 프로젝트가 실제 테스트 목표에서 동작하는지 확인해야 합니다. Xcode와 대상 운영 체제의 요구 사항, 평가 입력의 보관 위치, 실행 결과를 다시 확인할 수 있는 기록 방식을 점검하세요. 한 번 실행한 결과만으로 지속적인 실행 가능성이나 성능을 단정하지 마세요.
로컬에 이미 호환되는 Mac이 있고 평가를 가끔 실행한다면 로컬 검증이 간단할 수 있습니다. 반면 여러 개발자가 같은 macOS 환경에 접근해야 하거나 빌드와 평가를 반복 실행해야 한다면 원격 환경을 비교할 이유가 있습니다. 원격 실행에서는 프로젝트 접근 권한과 비밀 정보 관리, 결과 보관 정책도 팀 기준에 맞춰 확인해야 합니다. 실제 프로젝트로 테스트 목표가 실행되고 결과를 추적할 수 있는지 확인하기 전에는 환경을 확정하지 마세요.
원격 Mac을 검토한다면 CALMVPS의 요금 안내에서 선택 가능한 이용 조건을 확인하고, 실제 프로젝트로 필요한 검증을 할 수 있는지 먼저 판단하세요. 원격 환경이 적합한지 확인할 때는 한국 이용 안내도 참고할 수 있습니다.
현재 로컬 개발 환경만 쓰면 전용 Mac을 계속 켜 둘 필요는 없지만, 팀 공용 실행 환경을 유지하기 어렵고 개발자의 로컬 설정 차이가 재현을 방해할 수 있습니다. 다른 클라우드 환경도 대안이지만, Xcode 실행 가능 여부와 프로젝트 요구 사항을 직접 검증해야 합니다. 반복되는 macOS 검증을 위해 실물을 즉시 구매하기보다는, 일정 기간 원격 환경으로 실제 테스트 절차를 검증하는 편이 비용과 운영 부담을 비교하기 쉽습니다. 다만 장기간 무거운 작업을 상시 수행하거나 물리 기기와 직접 연결해야 한다면 로컬 Mac이 더 적합할 수 있습니다. 필요한 기간에만 macOS 테스트 환경을 사용하려면 CALMVPS의 원격 Mac 이용 조건을 확인하고, 첫 작업에서 Xcode 테스트와 평가 결과의 재현 가능성을 검증하세요.