“로컬 우선 반란”: 홈어시스턴트가 집에서 가장 중요한 프로젝트가 된 방법

“로컬 우선 반란”: 홈어시스턴트가 집에서 가장 중요한 프로젝트가 된 방법

Frenck로 더 잘 알려진 Franck Nijhof는 주목을 받았기 때문이 아니라 지구상에서 가장 활동적이고 문화적으로 중요하며 기술적으로 까다로운 오픈 소스 생태계 중 하나를 통합하는 데 도움을 주었기 때문에 대규모 오픈 소스 프로젝트의 중심에 서게 된 관리자 중 한 명입니다. 로서 리드 홈어시스턴트 그리고 GitHub 스타Frenck는 단순히 성장하지 않은 프로젝트를 안내합니다. 폭발했다.

올해 Octoverse 보고서는 이를 확인합니다: Home Assistant는 기여자별 가장 빠르게 성장하는 오픈 소스 프로젝트vLLM, Ollama 및 Transformers와 같은 AI 인프라 거대 기업과 함께 순위를 매겼습니다. 에도 등장했어요 최초 기여자를 유치하는 최고의 프로젝트VS Code와 같은 대규모 개발자 플랫폼 옆에 앉아 있습니다. AI 도구, 에이전트 워크플로우 및 유형화된 언어 성장이 지배했던 1년 동안 Home Assistant는 완전히 다른 것, 즉 AI 시대의 속도로 성장한 물리적 세계를 위한 오픈 소스 시스템으로 두각을 나타냈습니다.

규모는 엄청납니다. 홈어시스턴트가 현재 실행 중입니다. 2백만 가구 이상온도 조절 장치와 도어 잠금 장치부터 모션 센서와 조명에 이르기까지 모든 것을 조정합니다. 클라우드가 아닌 사용자 자체 하드웨어에 모두 있습니다. 이러한 성장을 뒷받침하는 기여자 기반도 마찬가지로 놀랍습니다. 1년에 21,000명의 기여자매초 새로운 개발자가 GitHub에 합류하는 동시에 GitHub의 가장 활발한 생태계 중 하나에 참여합니다.

팟캐스트 인터뷰에서 Frenck는 이에 대해 거의 아무렇지도 않게 설명합니다.

Home Assistant는 무료 오픈 소스 홈 자동화 플랫폼입니다. 브랜드에 관계없이 모든 장치를 함께 연결할 수 있으며 로컬에서 실행됩니다.

홈어시스턴트의 리더인 Franck Nijhof

그는 그것이 얼마나 접근하기 쉬운지를 설명하면서 미소를 지었습니다. “Flash Home Assistant를 SD 카드에 삽입하면 집 검색이 시작됩니다.”라고 그는 말합니다.

이것이 홈어시스턴트를 개발자에게 매력적으로 만드는 역설입니다. 사용하기는 쉽지만 기술적으로는 엄청납니다. 로컬 우선, 전 세계적으로 유지 관리되는 가정용 자동화 엔진입니다. 그리고 Frenck는 이 모든 것을 계속 운영하는 사람들 중 한 명입니다.

수천 개의 장치 생태계를 길들이기 위해 구축된 아키텍처

홈어시스턴트의 핵심 문제는 조합 폭발입니다. Frenck는 이 플랫폼이 “수백, 수천 개의 장치… 3,000개가 넘는 브랜드”를 지원한다고 말합니다. 각각은 다르게 동작하며 이를 정규화하는 유일한 방법은 공급업체 이탈, 잘못된 API 및 일관되지 않은 펌웨어에서 살아남을 수 있는 범용 추상화 계층을 구축하는 것입니다.

장치를 클라우드 계정 뒤의 격리된 개체로 처리하는 대신 모든 것이 상태 및 이벤트가 있는 엔터티로 로컬로 표시됩니다. 차고문은 단순히 공급업체별 API가 아닙니다. 이는 자동화 엔진에 기능을 노출하는 구조화된 장치입니다. 온도 조절 장치는 클라우드 엔드포인트가 아닙니다. 추론할 수 있는 메타데이터가 포함된 센서/액추에이터 쌍입니다.

이러한 일관성이 바로 사람들이 고도로 발전된 자동화를 구축할 수 있는 이유입니다.

Frenck는 특히 독창적인 예를 하나 설명합니다. “어떤 사람들은 앉았는지 다시 일어섰는지 실제로 알 수 있도록 소파에 무게 센서를 설치합니다. 영화를 보다가 일어서면 잠시 멈췄다가 음료를 마셨을 때 실제로 볼 수 있도록 조명이 조금 더 밝아집니다. 돌아와서 앉으면 조명이 어두워지고 영화가 계속됩니다.”

이러한 상호 작용을 조율할 수 있는 시스템은 기본적으로 물리적 공간을 위한 분산형 이벤트 중심 런타임입니다. 홈어시스턴트는 대시보드처럼 보이지만 내부적으로는 가정용 실시간 OS처럼 작동합니다.

모든 것을 로컬에서 실행하는 것은 기능이 아닙니다. 어려운 제약입니다.

거의 모든 주류 장치 제조업체는 클라우드 중심 모델로 전환했습니다. Frenck는 부조리함을 지적합니다.

요즘 온도 조절 장치를 바꾸려면 인터넷이 필요하다는 것은 말도 안되는 일입니다.

로컬 우선 아키텍처는 Home Assistant가 Raspberry Pi만큼 작은 하드웨어에서 실행될 수 있지만 장치 검색, 이벤트 디스패치, 상태 지속성, 자동화 예약, 음성 파이프라인 추론(로컬인 경우), 실시간 센서 판독, 통합 업데이트 및 보안 제약 조건과 같이 상용 시스템이 클라우드로 오프로드하는 작업 부하를 처리해야 함을 의미합니다.

이 아키텍처는 소수의 소비자 시스템 시도에 최적화를 강제합니다. 이들 중 하나라도 공급업체 클라우드로 오프로드되면 시스템을 구축하기가 더 쉬울 것입니다. 그러나 홈어시스턴트의 철학은 패러다임을 뒤집습니다. 집은 데이터 센터입니다.

Pi의 SSD 웨어 레벨링부터 MQTT 처리량, Zigbee 네트워크 토폴로지에 이르기까지 모든 것이 소프트웨어 문제가 됩니다. 그리고 시스템은 계속 오프라인으로 작동해야 하므로 대체가 없습니다.

이는 안전망이 없는 엔지니어링입니다.

오픈 홈 재단: 기술 요구사항으로서의 거버넌스

수백만 가구에서 실행되는 시스템을 구축할 때 가장 큰 장기적 위험은 버그가 아닙니다. 소유권입니다.

Frenck는 Home Assistant가 Open Home Foundation으로 전환한 것에 대해 “결코 살 수도 없고 팔 수도 없습니다.”라고 말합니다. “우리는 결국 대기업으로부터 홈어시스턴트를 보호하고 싶습니다.”

이 거버넌스 모델은 철학적이지 않습니다. 그것은 건축학적 필요성이다. Home Assistant가 상업적인 인수가 된다면 클라우드 잠금이 뒤따를 것입니다. API가 중단됩니다. 통합은 더 이상 사용되지 않습니다. 수년에 걸쳐 구축된 자동화는 무너질 것입니다.

기여자별 가장 빠르게 성장하는 오픈 소스 프로젝트 목록입니다. 홈 어시스턴트/코어는 10번입니다.

Foundation은 모든 설계 결정에 영향을 미치는 세 가지 엔지니어링 제약 조건을 인코딩합니다.

  • 은둔: “로컬 제어와 개인 정보 보호가 최우선입니다.” 모든 처리는 기기 내에서 이루어져야 합니다.
  • 선택: “당신은 당신 자신의 장치를 선택할 수 있어야 하며” 그것들이 상호 운용될 것으로 기대해야 합니다.
  • 지속 가능성: 공급업체가 클라우드 서비스를 중단하더라도 장치는 계속 작동해야 합니다.

Frenck는 Nest를 예로 들었습니다. “일부 제조업체가 클라우드 서비스를 끄면… 전자 폐기물로 변합니다.”

이는 거버넌스 이상의 것입니다. 기술 인프라입니다. 이는 API 수명, 통합 전략, 리버스 엔지니어링 우선 순위 및 로컬 추론 선택을 결정합니다. 이는 또한 프로젝트가 개별 장치 제조업체보다 오래 지속되도록 하는 청사진이기도 합니다.

우리는 홈어시스턴트를 구축하지 않고 커뮤니티가 구축합니다.

“우리는 수백, 수천 개의 장치 통합을 구축할 수 없습니다. 집에 수만 개의 장치가 없습니다”라고 Frenck는 말합니다.

이것이 바로 프로젝트가 진정으로 독특해지는 곳입니다.

개발자는 장치에 대한 통합을 작성합니다. 그들은 개인적으로 소유하고 있다. 리뷰어는 장치에 대한 기여를 테스트합니다. 각자의 집에서. 무언가를 부수면 자신의 집도 부수게 됩니다. 무언가를 개선하면 일상 생활이 개선됩니다.

Frenck는 “여기서 품질이 나옵니다.”라고 말합니다. “사람들은 자신의 집에서 이것을 운영하고 있습니다… 그리고 그들은 그것이 좋을 필요가 있는지 주의를 기울입니다.”

이것이 홈어시스턴트의 엔지니어링 속도 뒤에 숨은 전례 없는 비밀입니다. 모든 기여자는 프로덕션 하드웨어에 액세스할 수 있습니다. 모든 검토자는 보호해야 할 위험이 높은 환경을 가지고 있습니다. 어떤 준비 환경도 각각 고유한 이상한 사례가 있는 수백만 개의 실제 주택을 복제할 수 없습니다.

지원: AI 과대광고 이전에 구축된 로컬 음성 비서

Assist는 홈어시스턴트에 내장된 음성 어시스턴트입니다. 클라우드 제공자에게 오디오나 기록을 보내지 않고도 음성을 사용하여 집을 제어할 수 있는 모듈형 시스템입니다. 프렌크(Frenck)가 말했듯이:

우리는 AI가 과대평가되기 전에 음성 비서를 구축하고 있었습니다. 우리는 개인 정보 보호가 가능한 로컬 비서를 구축하고 싶습니다.

Assist는 Alexa 또는 Google Assistant와 같은 상용 비서를 복사하는 대신 결정성, 속도 및 사용자 선택을 우선시하는 2계층 접근 방식을 취합니다.

1단계: 결정론적, AI가 없는 명령

Assist는 커뮤니티에서 제공한 손으로 작성한 문구를 기반으로 하는 구조화된 의도 엔진으로 시작되었습니다. “주방 조명 켜기” 또는 “거실 팬 끄기”와 같은 명령은 기계 학습을 전혀 사용하지 않고 알려진 작업과 직접 일치됩니다. 이를 통해 매우 빠르고 안정적이며 완전히 로컬입니다. 네트워크 통화가 없습니다. 클라우드가 없습니다. 모델 환각이 없습니다. 구문에서 자동화로 직접 매핑하면 됩니다.

2단계: 자연어를 원하는 경우의 선택적 AI

Assist의 가장 특이한 부분 중 하나는 AI가 필수가 아니라는 것입니다. Frenck는 개발자와 사용자가 추론 경로를 선택할 수 있다고 강조합니다. “자신의 OpenAI 계정이나 Google Gemini 계정을 연결하고 싶다고 말할 수도 있습니다. 아니면 집에서 로컬로 실행되는 Llama를 얻을 수도 있습니다.”

Assist는 각 명령을 평가하고 AI가 필요한지 여부를 결정합니다. 명령이 알려진 경우 모델을 완전히 우회합니다.

“홈어시스턴트는 AI에게 물어볼 필요가 없을 것 같습니다.”라고 Frenck는 말합니다. “이게 뭔지 알아요. 불을 끌게요.”

시스템은 명령에 유연한 해석이 필요한 경우에만 AI를 사용하므로 AI를 기초가 아닌 대체 수단으로 만듭니다.

시스템을 지원하는 개방형 하드웨어

개발을 부트스트랩하고 기여자에게 참조 장치를 제공하기 위해 팀은 완전 오픈 소스 스마트 스피커인 음성 길잡이 미리보기 버전.

Frenck는 “우리는 마이크 배열이 포함된 소형 스피커를 만들었습니다.”라고 말했습니다. “완전한 오픈 소스입니다. 하드웨어는 오픈 소스이고, 여기서 실행되는 소프트웨어는 ESPHome입니다.”

이를 통해 개발자는 다양한 마이크, DSP 파이프라인 또는 깨우기 언어 구성이 공급업체에서 어떻게 작동하는지 추측하는 대신 음성 기능을 구축하고 테스트하기 위한 예측 가능한 하드웨어 대상을 제공합니다.

소프트웨어 가속기로서의 하드웨어

대부분의 오픈 소스 프로젝트는 하드웨어를 피합니다. 홈어시스턴트는 실용적인 필요성 때문에 이를 수용했습니다.

“하드웨어용 소프트웨어를 구축하는 소프트웨어 인력을 확보하려면 하드웨어를 구축해야 합니다.”라고 Frenck는 말합니다.

사전 구축된 플러그 앤 플레이 허브인 Home Assistant Green은 온보딩에 안정적인 하드웨어가 필요하기 때문에 존재합니다. Voice Assistant Preview Edition은 음성 파이프라인에 알려진 마이크 및 스피커 구성이 필요하기 때문에 존재합니다.

이는 드문 패턴입니다. 하드웨어는 소프트웨어 발전을 위한 발판 역할을 합니다. 이는 기여자가 코드 경로를 예측 가능하게 최적화할 수 있도록 컴파일러를 구축한 다음 참조 CPU를 설계하는 것과 유사합니다.

그 결과 더욱 안정적이고 테스트 가능성이 높으며 개발자 친화적인 소프트웨어 생태계가 탄생했습니다.

미래 엿보기: 로컬 에이전트 및 프로그래밍 가능한 주택

궤도는 분명하다. 로컬 AI 모델, 결정론적 자동화, 집 전체에 대한 상태 저장 보기를 갖춘 다음 논리적 단계는 완전히 오프라인으로 실행되는 에이전트 동작입니다.

소파가 영화 자동화를 실행할 수 있고 양조장이 발효 파이프라인을 실행할 수 있다면 집 자체를 프로그래밍할 수 있게 됩니다. 모든 센서는 입력입니다. 모든 장치는 액추에이터입니다. 모든 자동화는 기능입니다. 집 전체가 런타임이 됩니다.

클라우드 기반 경쟁업체와 달리 Home Assistant의 런타임은 서비스 제공업체가 아닌 주택 소유자에게 속합니다.

Frenck는 이러한 정신을 다음과 같이 요약합니다. “우리는 이러한 통제권을 우리 커뮤니티에 부여합니다.”

한 발 앞서 나가고 싶으신가요? 최신 Octoverse 보고서를 읽고 Copilot CLI를 사용해 보세요.

작성자:

안드레아 그리피스

Andrea는 개발자 도구 분야에서 10년 이상의 경험을 보유한 GitHub의 수석 개발자 옹호자입니다. 그녀는 기술적 깊이와 첨단 기술에 대한 접근성을 높이는 사명을 결합했습니다. 육군 복무 및 건설 관리에서 소프트웨어 개발로 전환한 후 그녀는 복잡한 엔지니어링 개념과 실제 구현을 연결하는 독특한 관점을 제시합니다. 그녀는 웨일스 파트너, 두 아들, 두 마리의 개와 함께 플로리다에 거주하며 GitHub의 글로벌 이니셔티브를 통해 계속해서 혁신을 주도하고 오픈 소스를 지원하고 있습니다. 온라인 @acolombiadev에서 그녀를 찾아보세요.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다