에이전트와 자동화

최종 업데이트

홈 어시스턴트 아침 요약: 센서 기록을 로컬 LLM 문장으로 받기

요약의 품질은 모델보다, 어떤 값을 문장에 넣었는지에서 갈려요.

로컬 LLM1은 실시간 센서 값을 스스로 읽지 않아요. 그래서 자동화가 센서·일정 값을 문장으로 만들어 conversation.process에 넘기고, 돌아온 답을 알림으로 보내는 방식이 필요해요. 어떤 값을 넣고 어떻게 실패를 대비하는지 담았어요.

실행 조건과 핵심 내용
  • 대화 모델은 실시간 센서 값을 읽지 않아요. 값을 문장에 넣어 넘겨야 해요.
  • conversation.process에 문장을 넘기면 지정한 에이전트가 답을 만들어요.
  • 답은 변수로 받아 알림으로 보내고, 실패하면 기본 문장으로 대체해요.

모델은 지금 집 상태를 몰라요

대화 모델은 문장에 적힌 것만 봐요. 방 온도가 26도인지 19도인지, 창문이 열려 있는지 닫혀 있는지는 스스로 알지 못해요. 그래서 요약을 부탁할 때는 확인한 값을 문장 안에 적어 넣어야 해요.

홈 어시스턴트의 conversation.process는 이 문장을 지정한 대화 에이전트에 넘기고 답을 돌려줘요. 자동화에서는 이 답을 변수로 받아 알림 문구로 쓸 수 있어요.

문서 더미와 검색 시스템을 실행하는 소형 컴퓨터
모델은 문장에 적힌 값만 보고 요약을 만들어요.

문장에 넣을 값을 고르기

값은 다섯에서 여덟 개면 충분해요. 실내 온·습도, 어제 쓴 전력, 열린 문·창, 오늘 첫 일정, 미세먼지처럼 하루를 판단하는 데 쓰는 값만 넣으세요.

숫자에는 단위를 붙이고, 값이 없는 센서는 문장에서 빼세요. 빈칸이 남으면 모델이 그 자리를 추측해서 엉뚱한 문장을 만들어요.

아침 요약에 넣기 좋은 값
값어디서 가져오나주의
실내 온·습도온습도 센서 엔티티단위를 붙여요
어제 전력 사용량전력 센서의 누적값합계인지 순간값인지 구분해요
열린 문·창문·창 센서 상태없으면 문장에서 빼요
오늘 첫 일정달력 엔티티시각과 이름만 넣어요

자동화에 연결해요

트리거는 시간이에요. 아침 7시처럼 집안일이 시작되는 시각에 맞추고, 문장을 만드는 동작과 conversation.process를 차례로 넣어요. 답이 돌아오면 그 답을 알림으로 보내요.

문장은 짧게 유지하세요. '다음 값을 보고 오늘 준비할 일을 세 문장으로 알려줘'처럼 지시와 값을 한 문단에 담으면 모델이 형식을 덜 흔들어요.

노트북 앞 작업자 주변에 문서, 표, 폴더, 이미지, 설정 창과 작은 로봇이 연결돼 있다
넣을 값은 다섯에서 여덟 개로 줄이고, 단위를 붙여 넘기세요.

답을 짧게 만드는 지침

대화 에이전트의 지침에 문장 수와 형식을 정해 두세요. '인사말 없이 세 문장', '숫자를 그대로 다시 말할 것', '목록을 쓰지 말 것' 같은 규칙이 알림에 어울려요.

지침이 길어지면 첫 응답이 늦어져요. 요약용 지침은 대화용과 분리해서, 별도 에이전트로 두는 편이 관리하기 쉬워요.

실패했을 때를 정해 둬요

모델 서버가 꺼져 있거나 답이 비어 있으면 알림이 오지 않아요. 자동화에 조건을 넣어, 답이 없으면 '오늘 요약을 만들지 못했어요. 센서 값을 확인하세요' 같은 기본 문장을 보내게 하세요.

일주일치 알림을 모아 보면 어떤 값이 자주 비는지 보여요. 빠지는 센서가 있다면 문장에서 빼거나, 그 값을 대신할 센서를 찾으세요.

마이크 옆의 노트북에 음성 파형이 표시된 화면
답이 비어 있을 때를 대비해 기본 문장을 준비해 두세요.

용어 각주

  1. 대규모 언어 모델 — 대규모 텍스트 데이터에서 언어 패턴을 학습해 문맥에 맞는 텍스트를 처리하고 생성하는 모델입니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
로컬 LLM은 실시간 센서 값을 스스로 읽지 않아요. 그래서 자동화가 센서·일정 값을 문장으로 만들어 conversation.process에 넘기고, 돌아온 답을 알림으로 보내는 방식이 필요해요. 어떤 값을 넣고 어떻게 실패를 대비하는지 담았어요.