Articlehuggingface.co·2025년 11월 20일·0

Introducing AnyLanguageModel: One API for Local and Remote LLMs on Apple Platforms

Quick Summary

AnyLanguageModel은 Apple 플랫폼에서 로컬 모델과 클라우드 LLM을 하나의 Swift API로 다루게 해 통합 부담을 줄이려는 패키지다.

Introducing AnyLanguageModel: One API for Local and Remote LLMs on Apple Platforms 관련 대표 이미지

🖼️ 인포그래픽

Introducing AnyLanguageModel: One API for Local and Remote LLMs on Apple Platforms 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Introducing AnyLanguageModel: One API for Local and Remote LLMs on Apple Platforms 내용을 설명하는 본문 이미지

💡 한 줄 요약

AnyLanguageModel은 Apple 플랫폼에서 로컬 모델과 클라우드 LLM을 하나의 Swift API로 다루게 해 통합 부담을 줄이려는 패키지다.

📌 핵심 요약

  • 글은 Apple 개발자가 AI 앱을 만들 때 Core ML·MLX 기반 로컬 모델, OpenAI·Anthropic 같은 클라우드 모델, Apple Foundation Models를 함께 고려해야 해 통합 부담이 커진다는 문제에서 출발한다.
  • 저자는 모델마다 API, 요구사항, 통합 방식이 달라 실험 비용이 높아지고, 이 때문에 개발자가 로컬 오픈소스 모델이 실제 사용 사례에 충분히 맞는지 확인하기도 전에 포기할 수 있다고 설명한다.
  • AnyLanguageModel은 Foundation Models와 유사한 API를 제공하면서 여러 모델 제공자를 지원하는 Swift 패키지로, 핵심 사용 방식은 import FoundationModelsimport AnyLanguageModel로 바꾸는 수준의 낮은 전환 비용을 목표로 한다.
  • 지원 범위에는 Apple Foundation Models, Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic, Google Gemini, Hugging Face Inference Providers가 포함되며, 특히 Hugging Face Hub에서 내려받아 로컬에서 실행할 수 있는 모델에 초점을 둔다.
  • 프로젝트는 아직 1.0 이전 단계지만, 향후 도구 호출, MCP 통합, 구조화 출력을 위한 guided generation, 로컬 추론 성능 최적화를 확장해 Apple 플랫폼에서 더 자연스러운 에이전트형 워크플로의 기반을 만들겠다고 밝힌다.

🧩 주요 포인트

  1. 글은 Apple 개발자가 AI 앱을 만들 때 Core ML·MLX 기반 로컬 모델, OpenAI·Anthropic 같은 클라우드 모델, Apple Foundation Models를 함께 고려해야 해 통합 부담이 커진다는 문제에서 출발한다.
  2. 저자는 모델마다 API, 요구사항, 통합 방식이 달라 실험 비용이 높아지고, 이 때문에 개발자가 로컬 오픈소스 모델이 실제 사용 사례에 충분히 맞는지 확인하기도 전에 포기할 수 있다고 설명한다.
  3. AnyLanguageModel은 Foundation Models와 유사한 API를 제공하면서 여러 모델 제공자를 지원하는 Swift 패키지로, 핵심 사용 방식은 import FoundationModelsimport AnyLanguageModel로 바꾸는 수준의 낮은 전환 비용을 목표로 한다.
  4. 지원 범위에는 Apple Foundation Models, Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic, Google Gemini, Hugging Face Inference Providers가 포함되며, 특히 Hugging Face Hub에서 내려받아 로컬에서 실행할 수 있는 모델에 초점을 둔다.
  5. 프로젝트는 아직 1.0 이전 단계지만, 향후 도구 호출, MCP 통합, 구조화 출력을 위한 guided generation, 로컬 추론 성능 최적화를 확장해 Apple 플랫폼에서 더 자연스러운 에이전트형 워크플로의 기반을 만들겠다고 밝힌다.

🧠 상세 정리

1. Apple 개발자의 LLM 통합 부담

글은 LLM이 소프트웨어 개발에 중요한 도구가 되었지만, Apple 플랫폼에서 이를 앱에 통합하는 과정은 여전히 불필요하게 복잡하다고 지적한다. 개발자는 보통 개인정보 보호와 오프라인 사용을 위해 Core ML이나 MLX 기반 로컬 모델을 쓰고, 더 강력한 성능이 필요할 때 OpenAI나 Anthropic 같은 클라우드 제공자를 사용하며, 시스템 수준의 대안으로 Apple Foundation Models도 고려한다. 문제는 이 선택지들이 서로 다른 API와 요구사항, 통합 패턴을 갖고 있어 작은 실험조차 빠르게 부담으로 커진다는 점이다. 저자가 인터뷰한 개발자도 간단한 데모 테스트를 하려다 많은 시간을 낭비했다고 말하며, 이런 마찰이 실제 개발 경험에서 즉시 드러난다고 설명한다.

2. AnyLanguageModel의 핵심 목표

AnyLanguageModel은 이러한 마찰을 낮추기 위해 발표된 Swift 패키지로, Apple Foundation Models 프레임워크를 대체하듯 사용할 수 있으면서 여러 모델 제공자를 지원한다. 저자가 제시한 핵심 아이디어는 매우 단순하다. 기존 코드에서 import FoundationModelsimport AnyLanguageModel로 바꾸고, 같은 LanguageModelSession 흐름으로 모델에 질의하는 방식이다. 예시에서는 Apple의 기본 시스템 모델을 사용하는 코드와 MLX를 통해 로컬에서 실행되는 Qwen3 4B 4bit 모델을 사용하는 코드가 거의 같은 구조로 제시된다. 목표는 Apple 플랫폼에서 LLM을 다루는 진입 장벽을 낮추고, 로컬 오픈소스 모델을 더 쉽게 시도하게 만드는 것이다.

3. 지원하는 모델 제공자와 로컬 모델 중심성

패키지는 Apple Foundation Models, Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic, Google Gemini, Hugging Face Inference Providers를 지원한다고 소개된다. Apple Foundation Models는 macOS 26 이상과 iOS 26 이상에서 시스템 모델과의 네이티브 통합을 제공하고, Core ML은 변환된 모델을 Neural Engine 가속으로 실행하는 경로를 맡는다. MLX는 Apple Silicon에서 양자화된 모델을 효율적으로 실행하는 선택지이며, llama.cpp는 GGUF 모델 로딩을 위한 백엔드를 제공한다. Ollama는 로컬 HTTP API를 통해 서빙되는 모델에 연결하고, 클라우드 제공자는 비교와 fallback, 그리고 시작 장벽을 낮추는 용도로 포함된다. 저자는 특히 Hugging Face Hub에서 내려받아 로컬에서 실행할 수 있는 모델에 초점을 둔다고 밝힌다.

4. Foundation Models API를 기반으로 삼은 이유

저자는 새로운 추상화를 만들기보다 Apple Foundation Models 프레임워크를 템플릿으로 삼았다고 설명한다. 그 이유는 Foundation Models가 Swift의 매크로 같은 기능을 활용해 개발자 경험이 좋고, 세션·도구·생성이라는 추상화가 LLM의 실제 작동 방식과 잘 맞기 때문이다. 또한 이 API는 의도적으로 제한되어 있어 여러 모델 제공자가 공통으로 맞출 수 있는 안정적인 최소 공통분모처럼 쓰일 수 있다고 본다. 모든 Apple 플랫폼 대상 Swift 개발자가 결국 이 API를 접하게 된다는 점도 선택의 근거다. 저자는 추상화 계층이 늘어날수록 실제 해결하려는 문제에서 멀어질 수 있으므로, 기존 API 위에 얹는 방식이 더 예측 가능하고 단순하다고 주장한다.

5. 패키지 traits와 의존성 관리

여러 백엔드를 지원하는 라이브러리에서 큰 문제는 필요하지 않은 의존성까지 함께 가져오는 비대화다. AnyLanguageModel은 Swift 6.1의 package traits를 사용해 이 문제를 다룬다. 예를 들어 MLX 모델만 실행하려는 개발자는 MLX trait만 지정해 MLX 관련 의존성만 가져올 수 있고, llama.cpp나 그에 딸린 의존성은 포함하지 않아도 된다. 제공되는 trait에는 CoreML, MLX, Llama가 있으며, 기본 설정에서는 무거운 의존성이 포함되지 않는다. 기본 API와 클라우드 제공자는 표준 URLSession 네트워킹만 필요하므로 가볍게 시작할 수 있고, Xcode 프로젝트에서 trait 선언이 직접 지원되지 않는 경우에는 내부 Swift 패키지를 하나 만들어 필요한 trait을 지정한 뒤 로컬 의존성으로 추가하는 방식을 안내한다.

6. 이미지 지원, 데모 앱, 향후 방향

글은 vision-language 모델이 이미지 설명, 스크린샷의 텍스트 추출, 차트 분석, 시각 콘텐츠 질의응답에 널리 쓰이지만, 현재 Apple Foundation Models 프레임워크는 프롬프트와 함께 이미지를 보내는 기능을 지원하지 않는다고 설명한다. AnyLanguageModel은 기존 API의 제약을 받아들이면서도, 이미지 입력이 너무 유용하기 때문에 Foundation Models가 제공하지 않는 영역까지 확장한다. 예시로 Anthropic 모델에 이미지 파일 URL을 함께 보내 질문하는 코드가 제시되며, 저자는 Apple의 미래 구현과 충돌할 위험이 있지만 필요한 API를 먼저 작성하는 선택이라고 말한다. 이어서 chat-ui-swift라는 SwiftUI 채팅 앱을 통해 Foundation Models 통합, Hugging Face OAuth 인증, 스트리밍 응답, 채팅 저장 기능을 확인할 수 있다고 소개한다. 마지막으로 프로젝트가 아직 pre-1.0 단계이며, 도구 호출, MCP 통합, guided generation, 로컬 추론 최적화를 추가해 Apple 플랫폼의 더 큰 에이전트형 워크플로로 확장하려 한다고 밝힌다.

🧾 핵심 주장 / 시사점

  • 이 글의 핵심은 최고 성능 모델을 하나 고르는 문제가 아니라, Apple 앱 안에서 로컬·클라우드·시스템 모델을 같은 개발 경험으로 교체하고 비교할 수 있게 만드는 데 있다.
  • Foundation Models API를 기반으로 삼은 선택은 기능을 모두 포괄하려는 범용 추상화보다, Apple 개발자가 이미 접하게 될 제한적이지만 안정적인 공통 API를 활용하는 전략에 가깝다.
  • package traits와 이미지 지원 확장은 서로 다른 방향의 현실적 절충이다. 하나는 불필요한 의존성을 줄여 도입 비용을 낮추고, 다른 하나는 기존 Foundation Models에 없는 기능을 먼저 제공해 실제 사용 사례를 따라가려는 선택이다.

✅ 액션 아이템

  • AnyLanguageModel 통합 전환의 실효를 보려면 기존 앱의 API 의존을 Swift 계층에서 점검해 호환 범위를 먼저 정한다.
  • 로컬 오픈소스 모델 실험에서는 실제 사용 사례 적합성 판단을 위해 중도 포기 요건, 비용 한도, 반복 횟수 규칙을 함께 정한다.
  • 1.0 이전 특성을 고려해 도구 호출·MCP·guided generation·로컬 추론 성능 최적화의 도입 순서와 대상 모델 범위를 사전에 정한다.

❓ 열린 질문

  • AnyLanguageModel로의 import 전환이 기존 FoundationModels 코드의 동작을 기존 앱에서 실제로 어디까지 그대로 유지하는가?
  • 로컬 오픈소스 모델을 사용 사례 검증 단계에서 포기하지 않으려면 어떤 실험 지표가 종료 시점을 정당화할 것인가?
  • 도구 호출·MCP·guided generation 기능이 합쳐질 때 Apple 플랫폼에서 에이전트형 워크플로로 전환할 적정 기준은 무엇인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.