연구12 분출처 확인 2026년 7월 26일

@Generable에서 SwiftData까지: 온디바이스 견적 품질 파이프라인

RiseHush의 기초 모델 생성기 뒤에 있는 프로덕션 아키텍처: 유형화된 스트리밍, 계층화된 거부, 로컬 도구, 행위자로부터 안전한 지속성 및 중요한 실패 경로.

@Generable에서 SwiftData까지: 온디바이스 견적 품질 파이프라인 — RiseHush editorial illustration — risehush.comrisehush.com

제약은 "모델에게 명언을 쓰게 하는 것"이 아니었습니다.

단일 프롬프트로 문장을 생성할 수 있습니다. 시스템 모델이 준비되었는지 여부를 설정하고, 인터페이스 응답성을 유지하고, 생성된 줄을 과거 인용문과 구별하고, 거의 중복된 내용이 라이브러리에 들어가는 것을 방지하거나, 추론이 실패할 때 제품을 유용하게 남겨둘 수 없습니다. 주변 결정이 특징입니다.

RiseHush에는 추론 백엔드가 없습니다. 지원되는 Apple Intelligence 장치에서 앱은 제한된 프롬프트를 Apple의 장치 내 시스템 언어 모델에 보내고 허용된 결과를 로컬 SwiftData에 저장합니다. 제품 관련 인텔리전스 페이지는 사람이 보는 내용을 설명합니다. 이 문서에서는 구현 경로와 해당 제한 사항을 설명합니다. Apple의 자체 가용성 API는 현재 모델을 실행할 수 있는지 여부에 대한 권한을 유지합니다.

여기서 "재현 가능"이란 다른 엔지니어가 준비 매트릭스, 거부 장치, 시간 초과 경로 및 지속성 확인을 반복할 수 있음을 의미합니다. 비결정적 언어 모델이 비트마다 동일한 산문 비트를 반환한다는 의미는 아닙니다. 이 페이지는 새로운 물리적 장치 품질 지표가 아닌 검사된 소스 아키텍처를 보고합니다. 테스트 스크립트에서는 벤치마크 결과가 추론되지 않습니다.

  • 추론:기기의 Apple 시스템 언어 모델입니다.
  • 출력 계약:안내된 Swift 유형과 결정론적 검증입니다.
  • 스토리지:생성된 것으로 표시된 로컬 SwiftData 행.
  • 네트워크 경로:RiseHush 생성 서버 또는 타사 모델이 없습니다.

[1][2]

프롬프트에서 라이브러리까지: 제작 경로

이는 현재 앱 소스에서 검사된 RiseHush의 온디바이스 견적 생성기 뒤에 있는 아키텍처입니다. 개발자가 재현할 수 있는 게이트, 오류 경로 및 검사를 문서화합니다. 이는 모델 벤치마크나 모든 초안이 좋다는 주장이 아닙니다.

주문은 의도적입니다. 추가 추론 전에 저렴하고 설명 가능한 검사가 실행됩니다. 모든 필수 게이트가 후보를 승인할 때까지는 쓰기가 발생하지 않습니다. 스트리밍된 답변은 저장된 인용문이 아닌 임시 인터페이스 텍스트입니다.

  1. 준비 상태 입증

    서비스는 세션을 생성하기 전에 시스템 모델의 가용성과 요청된 로케일을 확인합니다. 장치 자격, Apple Intelligence 상태, 모델 자산 준비 및 언어 지원은 별도의 결과입니다.

  2. 구배 구속

    @Generable Swift 유형은 저작자표시, 마크다운, 해시태그, 이모티콘 또는 줄바꿈 따옴표 없이 일반적으로 10~16단어이며 18개를 넘지 않는 하나의 원본 문장을 요구합니다.

  3. 주연 배우 스트리밍

    요청에 대해 새로운 LanguageModelSession이 미리 준비되어 있습니다. 부분적으로 구조화된 스냅샷은 기초 모델 루프가 주요 행위자와 떨어져 있는 동안 인터페이스를 업데이트할 수 있습니다.

  4. 명백한 실패를 거부하라

    모델 기반 심사에 앞서 결정론적 게이트는 문장 및 단어 제한, 언어 일치, 금지된 문장, 구두점 줄 바꿈 및 다국어 진부한 패턴을 확인합니다.

  5. 참신함과 품질 테스트

    비교 임베딩을 사용할 수 있는 경우 생존자는 의미론적으로 거의 중복된 검사를 받은 다음 별도의 안내된 판단 및 구별성 점수를 받게 됩니다. 필수 임계값을 놓친 스트리밍 초안은 자동으로 유지되지 않고 삭제됩니다.

  6. 생존자를 유지

    메타데이터는 주연 배우와는 별도로 계산됩니다. SwiftData 삽입은 주요 행위자에게 반환되고, 라인에 공개 도메인이 아닌 생성된 라벨을 지정하고, 저장에 실패하면 임시 삽입을 롤백합니다.

  7. 로컬 상태 재사용

    앱과 시스템 표면은 저장된 견적을 사용합니다. 위젯은 지속된 데이터를 읽습니다. 확장 타임라인 내에서 언어 모델을 깨우지 않습니다.

[2][3][4][5]

안내된 출력으로 모양이 좁아집니다. 코드는 여전히 정책을 소유하고 있습니다.

초안은@Generable로 표시된 Swift 유형입니다. 가이드는 하나의 원본 문장(일반적으로 10~16단어, 하드 프롬프트 최대 18개)을 요구하며 귀속, 따옴표 줄 바꿈, 해시태그, 이모티콘, 마크다운 및 줄 바꿈을 금지합니다. 제작 옵션은 온도 0.7과 40토큰 한도를 사용합니다. 즉, 단락 길이의 출력을 유도하지 않고 구조화된 래퍼와 짧은 문장을 위한 충분한 공간입니다.

이는 유효성 검사를 선택 사항으로 만들지 않습니다. Apple은 안내 생성을 구조화된 Swift 데이터를 생성하는 방법으로 설명하지만 콘텐츠가 모든 제품 규칙을 충족한다는 보장은 아닙니다. 따라서 RiseHush는 모델의 입력된 값을 신뢰할 수 없는 초안으로 처리합니다. 아래의 요약된 스케치는 프로덕션 순서 및 임계값을 유지하면서 앱별 프롬프트 및 지속성 세부정보를 생략합니다.

Architecture sketch — abridged from the current app sourceswift
@Generable
private struct GeneratedQuoteDraft {
    @Guide(description: "One original sentence; 10–16 words; no attribution")
    var text: String
}

guard availability(locale: locale) == .available else {
    throw GenerationError.unavailable
}

let stream = session.streamResponse(
    to: prompt,
    generating: GeneratedQuoteDraft.self,
    options: generationOptions
)

for try await snapshot in stream {
    yield(snapshot.content.text)          // interface update
}

guard deterministicGate.passes(text, locale: locale),
      await noveltyGate.isNearDuplicate(text) == false,
      await judge.score(text).overall >= 6,
      distinctiveness.score(text).overall >= 5
else {
    throw GenerationError.noCandidate
}

return try persistAsGeneratedQuote(text)

This is explanatory code, not a drop-in package. It intentionally omits app-private prompt construction, error mapping, and SwiftData model definitions.

[4][5]

두 번째 패스가 여전히 충분하지 않은 이유

첫 번째 거부 레이어는 결정론적입니다. 즉, 빈 출력, 금지된 프롬프트 잔여물, 인용부호 줄바꿈, 단어 및 문장 제한, 언어 불일치, 다국어 진부한 표현 등입니다. 로컬 Core ML 미각 필터는 영어, 독일어, 스페인어, 프랑스어, 이탈리아어 및 포르투갈어에 대해 학습된 신호를 추가할 수 있습니다. 보정된 로케일 외부에서 잘못 적용되는 것이 아니라 의도적으로 건너뛰는 것입니다.

다음으로, 비교 임베딩을 사용할 수 있는 경우 의미론적 신규성 게이트는 후보를 제한된 로컬 카탈로그와 비교하고 코사인 유사성 임계값 0.90에서 거의 중복된 항목을 거부합니다. 카탈로그가 비어 있거나 임베딩을 생성할 수 없는 경우 해당 레이어는 참신함을 주장하기보다는 통과하는 것으로 입증되었습니다. 그런 다음 새로운 기초 모델 세션을 통해 전반적인 품질, 독창성 및 따뜻함을 평가합니다. 해당 심사위원은 동일한 시스템 모델을 사용하는 별도의 세션으로, 독립적인 모델이나 인적 검토가 아닙니다. 사용할 수 없거나 거부하거나 구조화된 출력을 생성할 수 없는 경우 결정론적 점수는 제한된 대체를 제공합니다.

마지막으로, 독특성 점수는 구체적인 이미지, 행동, 정서적 특이성 및 선택 의지를 보상하는 동시에 공식과 최근의 부정적인 기준에 불이익을 줍니다. 승인을 위해서는 현재 최소 6점 이상의 심사위원 점수와 최소 5점의 차별성이 필요합니다. 이는 제품 임계값일 뿐 글로벌 독창성이나 안전성을 증명하는 것은 아닙니다.

생산 결정과 각 결정으로 인한 실패 방지
우려구현그것이 존재하는 이유
가용성각 생성 경로 전에 모델 상태 및 로캘 지원을 확인하세요. 준비가 실패한 이유를 기록합니다."Apple Intelligence 가능"은 모델이 현재 준비되었거나 방문자의 활성 언어를 지원한다는 의미는 아닙니다.
구조고안된 JSON 응답을 구문 분석하는 대신 초안 모양에 @Generable 및 @Guide를 사용하세요.Swift 유형은 출력 계약인 반면 결정적 코드는 여전히 제품 규칙을 소유합니다.
동시성모델 스트리밍 및 메타데이터 작업을 주연 배우로부터 멀리하세요. 로컬 모델 지속성을 위해서만 크로스백합니다.기초 모델 전환에는 몇 초가 걸릴 수 있지만 SwiftData 모델 객체는 행위자 바인딩된 상태로 유지됩니다.
품질결정론적 규칙, 의미론적 참신함, 별도의 판단 및 구별성 임계값을 계층화합니다.유도된 생성으로 형태가 좁아집니다. 이는 진실성, 독창성, 어조 또는 제품 품질을 보장하지 않습니다.
대기 시간생성 가능한 전경 표면에서만 미리 준비하고 한정된 예산을 적용합니다(인터페이스에서 45초, Siri의 경우 20초, 배경 풀의 경우 120초).사용자 대상 요청은 자산, 속도 제한 또는 느린 모델 전환을 영원히 기다려서는 안 됩니다.
지속성허용된 행은 공개 도메인 작성자 인용문이 아닌 로컬 생성 레코드로 저장됩니다. 저장 실패 후 롤백합니다.생성된 글은 지속적인 출처가 필요하며 실제 사람의 속성을 상속받아서는 안 됩니다.

[7]

모델이 주연 배우에게서 멀어지도록 유지하세요.

공용 서비스는 SwiftData 모델 객체를 반환하므로 진입점은 주요 행위자에 바인딩된 상태로 유지됩니다. 비용이 많이 드는 Foundation Models 응답 루프는 그렇지 않습니다. 각 요청은 새로운LanguageModelSession를 소유합니다. 스트리밍 및 메타데이터 계산은 행위자 바인딩 프롬프트 신호 및 지속성을 위한 작은 명시적 홉을 사용하여 주요 행위자에서 벗어납니다.

스트리밍은 인터페이스에 대한 부분적으로 구조화된 스냅샷을 생성한 다음 풀 경로와 동일한 게이트, 참신함, 판단 및 구별성 막대를 통해 최종 텍스트를 전달합니다. 완료된 스트림은 전송할 수 없는 SwiftData 모델을 이동하는 대신 영구 식별자를 통해 행위자를 교차합니다. 호출자는 자신의 행위자에서 해당 식별자를 확인합니다.

허용되는 텍스트만 삽입됩니다. 레코드는 RiseHush로 작성되고source = .generatedisPublicDomain = false로 표시되고 해당 로케일로 태그가 지정되며 로컬로 계산된 메타데이터로 보강됩니다. 저장에 실패하면 오류가 반환되기 전에 임시 삽입이 삭제됩니다.

[5][10]

3가지 읽기 전용 도구로 컨시어지의 기초를 다지세요

Ask RiseHush는 개인의 라이브러리 상태를 만들어내는 것이 허용되지 않습니다. Apple의 도구 호출 API를 사용하면 세션에서 앱 기능의 범위를 좁히고 반환된 데이터를 통합할 수 있습니다. 앱은 세 가지 제한된 읽기 전용 도구를 노출합니다. RiseHush 서버에 도달하는 사람은 없습니다.

도구 인수 및 출력 크기가 제한됩니다. 저장된 견적 조회는 최대 8개의 결과를 반환하고, 카탈로그 검색은 최대 5개의 결과를 반환하며, 총 도구 출력은 제한됩니다. 저장된 견적 도구는 최근 일치하는 항목을 반환할 수 있지만 달력 범위를 허용하지 않습니다. 따라서 제품은 모델이 "지난주에 무엇을 저장했습니까?"라고 대답할 수 있다고 약속해서는 안 됩니다.

  • 카탈로그 견적 검색

    기분, 카테고리, 테마별로 묶음 견적 카탈로그를 검색합니다. 모델에게 소스를 만들어 달라고 요청하지 않습니다.

  • 저장된 견적 조회

    로컬 저장소에 있는 자신이 저장한 명언과 즐겨찾는 명언을 조회합니다.

  • 연속 상태

    RiseHush에게 제한된 개인적인 질문에 답할 수 있도록 지역 영감의 연속을 읽습니다.

[6]

실패 동작은 아키텍처의 일부입니다.

가용성은 부울이 아닙니다. 호환 장치에는 여전히 Apple Intelligence가 비활성화되어 있거나 모델 자산 준비 중이거나 시스템 모델이 지원하지 않는 언어가 있을 수 있습니다. 또한 런타임 생성은 거부, 가드레일 적중, 컨텍스트 초과, 제한, 동시 요청 발생, 구조화된 구문 분석 실패 또는 시간 초과가 발생할 수 있습니다.

RiseHush는 이러한 사례를 유한한 제품 동작에 매핑합니다. 전경 생성에는 45초 예산, Siri는 20초, 배경 풀 생성에는 120초가 있습니다. 엄선된 라이브러리는 정직한 대안으로 남아 있습니다. 앱은 마치 모델이 성공한 것처럼 자리 표시자 산문을 저장하지 않습니다.

관찰된 분기 및 결과 제품 동작
신호행동
기기가 적합하지 않거나 Apple Intelligence가 비활성화되었습니다.세대를 이용할 수 없습니다. 기존에 선별된 라이브러리는 모델 응답이 발생한 척하지 않고 계속 사용할 수 있습니다.
모델 자산이 준비되지 않았습니다.요청이 준비되지 않음 상태를 보고합니다. Apple의 모델 자산이 존재하면 추론 자체에는 RiseHush 서버가 필요하지 않습니다.
요청한 로캘이 지원되지 않습니다.번역 가능 경로는 영어 초안을 완전히 게이트하고 Apple의 번역 프레임워크가 쌍을 지원하는 곳에서 로컬로 번역할 수 있습니다. 그렇지 않으면 앱이 선별된 대체를 유지합니다. 번역된 텍스트는 비어 있지 않은 결과를 확인하지만 전체 대상 언어 게이트, 참신함 및 심사위원 스택을 반복하지는 않습니다.
가드레일, 거부, 비율 제한, 구문 분석, 컨텍스트, 동시성 또는 시간 초과 오류스트리밍 경로는 무제한 인라인 재시도를 통해 회전하지 않습니다. 생성된 후보를 반환하지 않으며 제품이 깔끔하게 대체됩니다.
초안이 품질 기준을 충족하지 못함유한 풀 경로는 또 다른 초안을 시도할 수 있습니다. 두 번째 답변에 애니메이션을 적용하지 않고 라이브 스트림이 중단됩니다. 거부된 텍스트는 저장되지 않습니다.
SwiftData 저장 실패이 서비스는 절반만 저장된 견적을 남기는 대신 임시 삽입을 제거하고 지속성 오류를 표시합니다.

[2][3][7]

조작된 결과가 없는 재현성 프로토콜

아래 프로토콜은 소스 검사와 라이브 장치 증명을 분리합니다. 각 실행에 대한 하드웨어, OS 빌드, 로캘, Apple Intelligence 상태, 모델 준비 상태, 프롬프트 고정 장치, 경과 시간, 터미널 분기, 거부 이유 및 지속성 결과를 기록합니다. Apple의 기초 모델 계측기는 실제 세션 중에 프롬프트, 도구, 토큰 및 대기 시간 동작을 노출할 수 있습니다.

기계 판독 가능 버전은JSON(Foundation Models Evaluation Protocol)로 제공됩니다. 여기에는 조작된 측정값이 아닌 매트릭스 및 필드 계약이 포함됩니다. 현재 물리적 장치 실행이 승인되면 익명화된 행을 추가하고 정확한 장치 및 OS와 함께 집계 허용, 시간 초과 및 대기 시간 값을 게시합니다.

  1. 지원되는 OS와 호환되는 하드웨어를 사용하세요. Apple Intelligence 활성화 및 준비, 비활성화, 여전히 다운로드 중인지 테스트합니다.
  2. 지원되는 로케일과 지원되지 않는 로케일로 반복하십시오. 앱이 모델 지원과 일반 기기 자격을 구별하는지 확인하세요.
  3. 모델 자산이 준비되면 비행기 모드를 반복하고 RiseHush 생성 엔드포인트가 필요하지 않은지 확인합니다.
  4. 인터페이스와 상호 작용하는 동안 부분 텍스트를 관찰하십시오. 모델 회전 중에 스크롤과 컨트롤이 계속 반응하는지 확인합니다.
  5. 비어 있거나, 여러 문장으로 되어 있거나, 너무 길거나, 따옴표로 묶였거나, 잘못된 언어로 되어 있거나, 진부하거나, 거의 중복된 피드 설비입니다. 어떤 것도 저장된 생성 행이 되어서는 안 됩니다.
  6. 심사위원 거부 및 제한된 시간 초과를 유발합니다. 거부된 초안이 유지되지 않고 선별된 경험이 계속 사용 가능한지 확인합니다.
  7. 테스트 저장소에서 로컬 저장 실패를 강제합니다. 삽입된 모델이 롤백되는지 확인합니다.
  8. 더 짧은 시간 예산으로 Siri를 실행하고 위젯이 확장에서 생성을 시작하지 않고 지속된 데이터만 읽는지 확인하십시오.

[8]

이 아키텍처가 증명하지 못하는 것

고품질 파이프라인은 실패를 가시화하고 잘못된 지속성을 줄일 수 있습니다. 작은 온디바이스 언어 모델을 역사적 소스로 바꿀 수 없고, 문장이 어디에도 쓰여진 적이 없다는 것을 증명할 수 없으며, 취향을 보장할 수도 없습니다. 따라서 생성된 라인은 역사적 작성자에게 귀속되지 않으며 공개 도메인 카탈로그에 포함되지 않습니다.

번역에는 별도의 경고가 필요합니다. Foundation Models에서 직접 지원하지 않는 로케일의 경우 선택적 경로는 영어 초안을 완전히 게이트한 다음 해당 쌍이 사용 가능한 Apple의 기기 내 번역 프레임워크를 사용합니다. 번역된 결과는 비어 있지 않은 응답이 있는지 확인하고 새 메타데이터로 유지되지만 현재는 번역 후 전체 대상 언어 게이트, 참신함 및 심사 순서를 반복하지 않습니다. 해당 경로는 대체이며 직접 생성 품질이 동일하다는 증거는 아닙니다.

모델 및 OS 업데이트는 가용성, 대기 시간, 거부 동작 및 출력 배포를 변경할 수 있습니다. Apple에서는 기초 모델이 변경되면 프롬프트와 평가를 다시 검토할 것을 권장합니다. 따라서 RiseHush의 테스트 매트릭스는 이 페이지를 영구적인 벤치마크 증거로 취급하는 대신 중요한 플랫폼 업데이트 후에 다시 실행되어야 합니다.

  • 시스템 모델은 과거 인용 사실이나 저자 속성의 소스로 사용되지 않습니다.
  • 구조화된 출력과 두 번째 모델 통과는 실패 모드를 줄입니다. 그것은 라인이 심오하고, 세계적인 의미에서 독창적이거나, 모든 사람에게 적합하다는 것을 증명하지 않습니다.
  • 의미론적 신규성 레이어는 제한된 카탈로그가 비어 있거나 비교 임베딩을 사용할 수 없을 때 통과됩니다. 알려진 거의 중복된 내용을 줄이지만 글로벌 독창성을 인증하지는 않습니다.
  • 오프라인 생성은 호환되는 하드웨어, 활성화된 Apple Intelligence, 지원되는 언어 동작 및 이미 준비된 모델 자산에 따라 달라집니다.
  • 선택적으로 학습된 Core ML 미각 필터는 영어, 독일어, 스페인어, 프랑스어, 이탈리아어 및 포르투갈어에 대해 보정됩니다. 다른 로케일은 이를 지원하는 결정적 및 모델 기반 레이어를 계속 수신합니다.
  • 로컬로 번역된 폴백은 직접적인 대상 언어 생성과 동일하지 않습니다. 현재 번역된 결과는 번역 후 모든 품질 레이어를 반복하지 않습니다.
  • OS 및 모델 업데이트는 대기 시간과 출력 분포를 변경할 수 있으므로 중요한 플랫폼이 변경된 후 장치 매트릭스를 다시 실행해야 합니다.
  • 이 페이지에서는 모든 플랫폼 표면이 기초 모델을 실행한다는 약속이 아닌 현재 아키텍처를 설명합니다. 위젯은 의도적으로 지속적인 결과를 소비합니다.

[3][9][11]

RiseHush는 견적 생성 프롬프트를 자체 서버로 보내나요?

아니요. 시스템 모델을 사용할 수 있는 지원 장치에서는 견적 초안 및 품질 패스가 Apple의 장치 내 프레임워크를 통해 실행됩니다. RiseHush에는 이 경로에 대한 추론 엔드포인트가 없습니다.

@Generable은 좋은 견적이나 원본 견적을 보장합니까?

아니요. 이는 구조화된 출력의 형태를 제한합니다. RiseHush는 결정론적 형식화 및 언어 규칙, 비교 임베딩이 가능한 경우 의미론적 거의 중복 감지, 별도의 심사 세션, 구별성 채점 및 유한 거부 동작을 계속 적용합니다.

다른 개발자가 생성된 문장을 정확하게 재현할 수 있나요?

안정적이지 않습니다. 언어 모델 출력은 비결정적이며 모델 또는 OS 업데이트에 따라 변경될 수 있습니다. 재현 가능한 단위는 준비 상태, 고정 장치, 게이트, 시간 초과 및 지속성 프로토콜이며 동일한 구문이 아닙니다.

지원되는 모든 언어가 동일한 품질 경로를 수신합니까?

아니요. 직접 지원되는 로캘은 공통 생성 경로를 받는 반면, 학습된 Core ML 필터는 6개 언어에 대해 보정됩니다. 선택적 로컬 번역 폴백은 제한된 영어 초안에서 시작하지만 번역 후 모든 대상 언어 품질 레이어를 반복하지는 않습니다.

  1. Apple Developer Documentation — Foundation Models framework overview: direct access to Apple’s on-device language model
  2. Apple Developer Documentation — SystemLanguageModel availability and unavailable reasons
  3. Apple Developer Documentation — supporting languages and locales with Foundation Models
  4. Apple Developer Documentation — generating Swift data structures with guided generation
  5. Apple Developer Documentation — LanguageModelSession, responses, and streaming
  6. Apple Developer Documentation — expanding generation with tool calling
  7. Apple Developer Documentation — improving the safety of generative model output
  8. Apple Developer Documentation — analyzing Foundation Models runtime performance
  9. Apple Developer Documentation — Foundation Models framework updates
  10. Apple Developer Documentation — SwiftData
  11. Apple Developer Documentation — Translation framework