목록으로
생활 속 AI 활용
엄마가 보낸 사진에서 할 일을 AI가 찾고, 캘린더에 넣는 것은 제가 합니다
아파트 공지문, 검진 안내문, 고지서. 엄마가 보낸 사진 40여 건에서 AI가 날짜와 해야 할 일을 뽑았습니다. 개인정보는 가린 뒤 보내고, 일정 등록은 제가 승인해야 실행됩니다.
🤖 활용 AI 도구
OpenAI GPT(이미지 이해): 사진 속 글자 판독, 정보·날짜·행동·비용 4범주 분류 / Claude: 프로그램 구조 설계와 코드 작성 / 텔레그램 Bot API: 사진 수신, 결과 전달, 승인 버튼 / Google Calendar API: 기존 일정 조회, 승인된 일정만 등록 / 웹 검색 API 및 공공데이터포털: 검사소·병원의 위치와 운영시간 조회(한국교통안전공단 전국자동차검사소 표준데이터) ※ 판독 결과는 사람이 승인하기 전까지 실행되지 않습니다.
① 어떤 상황에서 AI를 활용했나요?
엄마는 모든 것을 사진으로 보냅니다.
아파트 엘리베이터에 붙은 공지문을 찍어 보내고, 건강검진 안내문을 보내고, 카드사에서 온 우편물을 보내고, 냉장고에 붙여 둔 달력까지 찍어 보냅니다. 그리고 마지막에는 늘 같은 말이 붙습니다.
「이거 한번 봐봐.」
처음에는 바로 확인했습니다. 그런데 직장을 다니기 시작하고 나서는 그 말이 조금 무서워졌습니다. 사진 한 장을 열면 그것으로 끝나는 경우가 드물었기 때문입니다.
· 「8월 17일부터 19일까지 주차장 공사」. 차를 어디에 세워야 하는지 알려드려야 합니다
· 「관리비 자동이체 카드 변경 안내」. 홈페이지에서 뭘 바꿔야 하는지 확인해야 합니다
· 「문화센터 가을학기 접수」. 마감일을 달력에 적어 둬야 합니다
· 「국가건강검진 대상자 안내」. 예약 가능한 병원을 찾아봐야 합니다
사진은 한 장인데 뒤에는 늘 작은 일이 서너 개씩 숨어 있었습니다. 그래서 답장이 바뀌기 시작했습니다. 「이따 볼게.」 「집 가서 해줄게.」 「주말에 같이 보자.」 그리고 대부분은 잊어버렸습니다.
어느 날 퇴근길에 사진 세 장이 연달아 왔습니다. 아파트 소독 안내문, 문화센터 전단, 관리사무소 고지서. 습관처럼 「집 가서 볼게」라고 답하다가 문득 이상한 생각이 들었습니다.
엄마가 보내는 사진의 종류는 매번 다른데, 제가 하는 행동은 항상 같았습니다.
사진을 읽고, 중요한 날짜를 찾고, 해야 할 일이 있는지 판단하고, 필요하면 검색해서, 달력에 적거나 엄마에게 설명합니다.
정부가 보내는 알림으로 해결되지 않느냐는 물음이 먼저 나올 자리입니다. 국민비서는 자동차 검사와 국가건강검진 시기를 알려 줍니다. 다만 그 알림은 명의자인 어머니 휴대폰으로만 갑니다. 정작 예약을 알아보고 날짜를 잡는 사람은 저인데, 저에게는 오지 않습니다. 아파트 엘리베이터 공지문, 문화센터 전단, 관리사무소 고지서처럼 종이로만 도는 문서는 애초에 알림 대상이 아닙니다. 제가 실제로 놓친 것은 전부 이쪽이었습니다.
그날 밤부터 작은 프로그램을 만들기 시작했습니다.
────────────────────
② 어떤 AI를 어떻게 활용했나요?
구성은 이렇습니다.
텔레그램 봇 + 이미지를 읽는 AI + Google Calendar API + 웹 검색 API
카카오톡을 먼저 생각했지만 개인이 메시지를 받아 자동 처리하는 구조를 만들기에 제약이 있었습니다. 봇을 자유롭게 쓸 수 있는 텔레그램을 골랐습니다. 가족 단체방과 별도로 「가족 알림 정리」라는 비공개 방을 만들고, 처리하고 싶은 사진만 그쪽으로 넘깁니다.
사진이 들어오면 AI에게 네 가지만 묻게 했습니다.
【정보】 알아야 할 정보가 있는가
단순 공지·안내는 핵심만 남깁니다
【날짜】 기억해야 할 날짜가 있는가
신청 마감, 검사 기한, 공사 기간
【행동】 해야 할 행동이 있는가
예약, 신청, 차량 이동, 서류 제출
【비용】 돈과 관련된 내용이 있는가
납부 기한, 관리비, 보험료, 환급금
실제로 쓰고 있는 프롬프트의 핵심 부분을 그대로 옮깁니다.
「사진에 있는 내용을 단순히 요약하지 말고, 이 사진 때문에 앞으로 가족 중
누군가 해야 할 행동이 있는지 판단한다.
내용을 정보, 날짜, 행동, 비용의 네 범주로 분류한다.
날짜와 금액은 원문에서 확인되는 값만 사용하며 추측하지 않는다.
판독이 불확실한 숫자나 날짜가 있으면 확정하지 말고 원문 확인을 요청한다.
외부 행동이 필요한 경우 바로 실행하지 말고 다음 행동을 제안한다.
예약, 결제, 일정 등록처럼 되돌리기 어려운 행동은 반드시 사람의 승인을
받은 뒤 실행한다.」
결과는 이렇게 돌아옵니다.
▪ 아파트 공사 안내문
지하주차장 도색 공사입니다. 8월 17일 오전 8시부터 19일 오후 6시까지
지하 2층 주차가 불가능합니다. 해당 기간에 차량을 쓰실 예정이면 전날
이동하는 것이 좋습니다.
[ 8월 16일 저녁에 알려주기 ]
▪ 자동차 검사 안내문
검사 가능 기간은 9월 12일까지입니다. 가까운 검사소 세 곳을 찾았습니다.
토요일 운영이 가능한 곳은 한 곳입니다.
(출처: 한국교통안전공단 전국자동차검사소 표준데이터)
[ 토요일 오전 예약 후보 보기 ]
▪ 관리비 고지서
이번 달 관리비는 지난달보다 38,400원 늘었습니다. 가장 많이 오른 항목은
전기료입니다.
대괄호로 표시된 것은 버튼입니다. 누르기 전까지는 아무 일도 일어나지 않습니다.
────────────────────
③ 활용 결과 어떤 변화가 있었나요?
사진 한 장을 처리하는 데 예전에는 3분에서 5분이 걸렸습니다. 읽는 것 자체는 금방이지만 검사소를 찾거나 일정을 확인하는 시간이 붙었고, 여러 장이 한꺼번에 오면 미루게 됐습니다. 지금은 결과를 확인하는 데 30초 안팎이면 됩니다. 초시계로 잰 값은 아니고 한 달을 써 보며 느낀 차이입니다.
한 달 동안 가족이 보낸 사진과 우편물 40여 건을 처리해 봤습니다. 절반 이상은 단순 광고나 참고용이었고, 실제 행동이 필요한 것은 10건 정도였습니다. 그 10건에 예전이라면 건당 3분에서 5분씩, 한 달에 30분에서 50분쯤 걸렸을 일입니다.
두 시간을 아꼈다고 쓸 수는 없습니다. 실제로 달라진 것은 미룬 일이 다시 돌아온다는 점이었습니다.
놓칠 뻔한 일을 다시 발견했을 때가 그랬습니다. 자동차 검사 기한과 문화센터 접수 마감. 처음 받았을 때는 「나중에 봐야지」 하고 넘겼던 두 건을 시스템이 다시 행동 항목으로 올려 줬습니다.
기억에 남는 날은 어느 일요일이었습니다. 엄마가 동네 문화센터 전단지를 보냈고, 결과가 이렇게 올라왔습니다.
9월 성인 수영 초급반 모집. 매주 화·목 오전 10시. 접수 마감 8월 28일.
화요일과 목요일 오전에는 등록된 다른 일정이 없습니다.
전화를 걸었습니다. 「엄마, 이거 하고 싶어서 보낸 거야?」
「그냥 한번 해볼까 해서.」
그 자리에서 신청 방법을 찾아드렸습니다. 예전 같았으면 그 사진도 「이따 볼게」라는 답장 밑에 묻혔을 겁니다.
────────────────────
④ 나만의 방식 또는 개선 포인트는 무엇인가요?
만들면서 가장 신경 쓴 것은 요약을 시키지 않는 것이었습니다.
요약은 이미 잘합니다. 문제는 요약을 읽고 나서도 제가 여전히 판단을 해야 한다는 데 있었습니다. 「지하주차장 공사 안내입니다」라는 요약을 읽어도, 차를 언제 빼야 하는지는 제가 다시 생각해야 합니다. 그래서 출력의 목표를 요약문에서 「행동 항목」으로 옮겼습니다. 위의 네 가지 질문이 그 장치입니다.
두 번째는 장소 정보를 AI가 만들지 않게 한 것입니다.
AI는 「어떤 종류의 장소를 찾아야 하는지」만 판단합니다. 검사소나 병원의 이름, 주소, 운영시간은 검색 결과와 공공데이터에서 가져옵니다. 검사소 목록은 한국교통안전공단이 공공데이터포털에 개방한 전국자동차검사소 표준데이터를 씁니다. 검사소명·좌표·전화번호·운영시간이 들어 있어 AI가 지어낼 여지가 없습니다. 외부에서 가져온 값에는 어디서 온 것인지를 결과 화면에 함께 띄웁니다. 출처가 보이지 않으면 AI가 만들어 낸 값과 구분할 수 없기 때문입니다.
위치 기준도 사진에서 읽지 않습니다. 검색에 쓰는 기준 좌표는 제가 처음에 한 번 넣어 둔 동 단위 위치 하나뿐입니다. 문서에 찍힌 주소는 가린 채로 AI에 보내고, 「가까운 검사소」는 미리 넣어 둔 그 좌표로 찾습니다. AI는 어디를 찾을지를 모르고, 무엇을 찾아야 하는지만 압니다.
세 번째는 네 가지 질문의 틀이 아파트 공지문 밖에서도 쓰인다는 점입니다.
학교 가정통신문에 넣으면 준비물, 제출일, 신청 여부가 나옵니다. 병원 안내문, 보험 서류, 관공서 문서에도 그대로 적용됩니다. 문서의 종류마다 프롬프트를 새로 쓰지 않아도 되도록 질문을 네 개로 줄인 것이 이 시스템에서 가장 오래 다듬은 부분입니다.
────────────────────
⑤ 다른 사람도 따라 할 수 있나요?
전부 직접 짤 필요는 없습니다. 저도 구조는 Claude와 대화하며 잡았고, 코드도 상당 부분 받아 썼습니다.
1단계 텔레그램 BotFather로 봇을 만듭니다. 그룹에서도 메시지를 받으려면
봇의 비공개 설정(Privacy Mode)을 꺼야 합니다
2단계 가족과 따로 쓸 비공개 방을 만들고 그 봇을 초대합니다
3단계 봇이 돌아갈 자리를 정합니다. 집에 있는 컴퓨터를 켜 두거나, 무료 한도가 있는
클라우드 실행 서비스에 올리는 두 가지 방법이 있습니다. 사진이 올 때만
직접 실행해도 됩니다. 이 자리를 정하지 않으면 사진이 와도 아무 일도
일어나지 않습니다. 만들면서 가장 늦게 정한 부분이 여기였습니다
4단계 보내기 전에 사진을 한 번 봅니다. 주민등록번호·계약번호처럼 판단에
필요 없는 값이 찍혀 있으면 그 부분을 잘라내거나 덧칠하고, 잘라낼 수 없는
문서는 아예 넘기지 않습니다. 지금은 이 단계를 사람이 합니다
5단계 가려진 사진을 이미지 이해가 되는 AI 모델에 올리고, ②의 프롬프트를
그대로 넣습니다 (이 부분은 코드가 필요합니다. 챗봇에 물어 가며 붙였습니다)
6단계 구글 클라우드 콘솔에서 캘린더 API를 켜고 인증 정보를 발급받습니다.
처음 한 번만 브라우저로 로그인해 두면 이후로는 자동으로 연결됩니다.
전체에서 가장 손이 많이 가는 단계입니다
7단계 결과에 [승인] 버튼을 달고, 눌렀을 때만 6단계의 캘린더로 넘어가게 합니다
※ 검사소 정보를 쓰려면 공공데이터포털에서 전국자동차검사소 표준데이터
활용 신청을 하고 인증키를 받아야 합니다. 승인까지 하루 정도 걸립니다
가장 중요한 것은 7단계입니다. 여기를 건너뛰면 AI가 잘못 읽은 날짜가 그대로 일정이 됩니다.
비용은 개인 API 사용료뿐입니다. 사진 40여 건을 처리한 달에 몇천 원 수준이었습니다. 처리한 건수에 비례하므로 적게 쓰면 적게 나옵니다.
텔레그램이 어색하면 문자나 이메일로 받아도 되고, Google Calendar 대신 쓰던 캘린더를 붙여도 됩니다. 프로그램을 만들 여건이 안 되면 프롬프트만 복사해 평소 쓰는 챗봇에 사진과 함께 넣어도 됩니다. 저도 처음 2주는 그렇게 썼습니다. 대신 이때는 사진을 올리기 전에 이름·주소·전화번호·계약번호가 보이는 부분을 휴대폰 사진 편집에서 직접 덧칠해야 합니다. 자동으로 가려 주는 단계가 없기 때문에 이 한 가지는 사람이 해야 합니다.
────────────────────
⑥ AI에게 넘기지 않은 것
가족이 보내는 사진에는 생각보다 많은 정보가 들어 있습니다. 이름, 주소, 차량번호, 보험 계약번호는 물론이고 병원명이나 검진 결과처럼 외부 AI가 알 필요가 없는 것들도 함께 찍힙니다.
그래서 원칙을 하나 세웠습니다.
「AI가 판단하는 데 필요하지 않은 정보는 AI에게 보내지 않는다.」
먼저 짚어 둘 것이 있습니다. 이 원칙보다 앞에 와야 하는 것은 당사자가 아는 것입니다. 기술로 가리는 일은 그다음입니다. 지금 이 시스템이 처리하는 것은 어머니가 저에게 직접 보낸 사진뿐이고, 보내지 않은 사진은 어디서도 가져오지 않습니다. 가족의 문서를 다루는 도구를 만들 때 이 경계를 먼저 정하지 않으면, 뒤에 붙이는 장치가 아무리 정교해도 의미가 없다고 봤습니다.
다음은 지금 시스템의 한계입니다. 감추지 않고 적습니다.
사진 속 글자를 읽는 일은 외부 AI가 합니다. 그래서 자동으로 가려서 보내는 구조는 아직 만들지 못했습니다. 무엇이 개인정보인지 판별하려면 먼저 읽어야 하는데, 읽는 도구가 외부에 있으면 가리는 시점이 전송 뒤가 되기 때문입니다. 순서를 뒤집지 않는 한 자동 마스킹은 성립하지 않습니다.
그래서 지금은 사람이 대신합니다. 사진을 봇이 있는 방으로 넘기기 전에 제가 한 번 보고, 주민등록번호나 계약번호처럼 판단에 필요 없는 값이 찍혀 있으면 그 부분을 잘라내거나 덧칠합니다. 잘라낼 수 없는 문서는 아예 넘기지 않습니다. 느리지만 순서는 맞습니다. 판독을 제 컴퓨터 안에서 도는 문자 인식으로 옮기는 것이 다음 과제입니다.
건강 관련 문서도 같은 방식으로 경계를 긋습니다. 검진 결과지처럼 수치가 적힌 문서는 봇이 있는 방에 올리지 않고 제가 직접 봅니다. 봇으로 넘기는 것은 검진 대상 안내문처럼 기한과 예약만 적힌 문서로 한정했습니다. 무엇을 넘길지 판단하는 일까지 AI에게 맡기면, 판단하려고 이미 읽어야 하므로 경계가 사라집니다. 혈압이나 검사 수치를 AI가 해석하게 하는 기능은 만들지 않았습니다.
처리한 이미지와 결과는 캘린더 등록이 끝나면 지웁니다. 남겨 두는 것은 등록된 일정 한 줄뿐입니다.
그리고 실제로 AI가 틀린 날이 있었습니다.
흐릿하게 찍힌 안내문에서 날짜의 한 자리를 다르게 읽었습니다. 읽은 결과가 곧바로 캘린더로 갔다면 잘못된 일정이 남았을 자리입니다.
그래서 날짜와 금액처럼 실제 행동에 직접 영향을 주는 값에는 별도 규칙을 넣었습니다. 확신도는 제가 규칙으로 만들었습니다. 모델이 스스로 내놓는 값은 쓰지 않았습니다. 같은 사진을 두 번 읽혀 두 결과가 다르면 무조건 「확인 필요」로 표시하고, 프롬프트에 「글자가 뭉개져 보이면 값을 채우지 말고 불확실 표시를 남겨라」를 넣었습니다. 어느 쪽이든 걸리면 승인 버튼 자체가 만들어지지 않습니다.
「이 날짜는 이미지가 흐려 확인이 필요합니다.」
예약, 결제, 일정 등록, 메시지 전송처럼 현실에 영향을 주는 행동에는 항상 마지막 확인 버튼을 뒀습니다. Google Calendar와 연결돼 있어도 AI가 임의로 일정을 넣지는 못합니다. 「8월 16일 저녁에 차량 이동 알림을 등록할까요?」라고 묻고, 제가 승인해야 들어갑니다.
────────────────────
마무리
지금도 엄마는 사진을 보냅니다. 여전히 공지문을 찍고, 우편물을 찍고, 이해되지 않는 화면을 찍어 보냅니다. 달라진 것은 사진을 여는 시간입니다. 예전에는 퇴근 후였고, 지금은 알림이 울린 자리에서 엽니다.
사진이 도착하면 AI가 먼저 글자를 읽고 날짜를 찾고 해야 할 일을 정리합니다. 마지막 결정은 제가 합니다. 전화를 할지, 예약을 해드릴지, 그냥 괜찮다고 말할지.
제가 자동화한 것은 공지문을 읽는 일이었습니다. 자동화되지 않은 일은 하나 남았습니다.
엄마에게 전화하는 일이었습니다.
엄마는 모든 것을 사진으로 보냅니다.
아파트 엘리베이터에 붙은 공지문을 찍어 보내고, 건강검진 안내문을 보내고, 카드사에서 온 우편물을 보내고, 냉장고에 붙여 둔 달력까지 찍어 보냅니다. 그리고 마지막에는 늘 같은 말이 붙습니다.
「이거 한번 봐봐.」
처음에는 바로 확인했습니다. 그런데 직장을 다니기 시작하고 나서는 그 말이 조금 무서워졌습니다. 사진 한 장을 열면 그것으로 끝나는 경우가 드물었기 때문입니다.
· 「8월 17일부터 19일까지 주차장 공사」. 차를 어디에 세워야 하는지 알려드려야 합니다
· 「관리비 자동이체 카드 변경 안내」. 홈페이지에서 뭘 바꿔야 하는지 확인해야 합니다
· 「문화센터 가을학기 접수」. 마감일을 달력에 적어 둬야 합니다
· 「국가건강검진 대상자 안내」. 예약 가능한 병원을 찾아봐야 합니다
사진은 한 장인데 뒤에는 늘 작은 일이 서너 개씩 숨어 있었습니다. 그래서 답장이 바뀌기 시작했습니다. 「이따 볼게.」 「집 가서 해줄게.」 「주말에 같이 보자.」 그리고 대부분은 잊어버렸습니다.
어느 날 퇴근길에 사진 세 장이 연달아 왔습니다. 아파트 소독 안내문, 문화센터 전단, 관리사무소 고지서. 습관처럼 「집 가서 볼게」라고 답하다가 문득 이상한 생각이 들었습니다.
엄마가 보내는 사진의 종류는 매번 다른데, 제가 하는 행동은 항상 같았습니다.
사진을 읽고, 중요한 날짜를 찾고, 해야 할 일이 있는지 판단하고, 필요하면 검색해서, 달력에 적거나 엄마에게 설명합니다.
정부가 보내는 알림으로 해결되지 않느냐는 물음이 먼저 나올 자리입니다. 국민비서는 자동차 검사와 국가건강검진 시기를 알려 줍니다. 다만 그 알림은 명의자인 어머니 휴대폰으로만 갑니다. 정작 예약을 알아보고 날짜를 잡는 사람은 저인데, 저에게는 오지 않습니다. 아파트 엘리베이터 공지문, 문화센터 전단, 관리사무소 고지서처럼 종이로만 도는 문서는 애초에 알림 대상이 아닙니다. 제가 실제로 놓친 것은 전부 이쪽이었습니다.
그날 밤부터 작은 프로그램을 만들기 시작했습니다.
────────────────────
② 어떤 AI를 어떻게 활용했나요?
구성은 이렇습니다.
텔레그램 봇 + 이미지를 읽는 AI + Google Calendar API + 웹 검색 API
카카오톡을 먼저 생각했지만 개인이 메시지를 받아 자동 처리하는 구조를 만들기에 제약이 있었습니다. 봇을 자유롭게 쓸 수 있는 텔레그램을 골랐습니다. 가족 단체방과 별도로 「가족 알림 정리」라는 비공개 방을 만들고, 처리하고 싶은 사진만 그쪽으로 넘깁니다.
사진이 들어오면 AI에게 네 가지만 묻게 했습니다.
【정보】 알아야 할 정보가 있는가
단순 공지·안내는 핵심만 남깁니다
【날짜】 기억해야 할 날짜가 있는가
신청 마감, 검사 기한, 공사 기간
【행동】 해야 할 행동이 있는가
예약, 신청, 차량 이동, 서류 제출
【비용】 돈과 관련된 내용이 있는가
납부 기한, 관리비, 보험료, 환급금
실제로 쓰고 있는 프롬프트의 핵심 부분을 그대로 옮깁니다.
「사진에 있는 내용을 단순히 요약하지 말고, 이 사진 때문에 앞으로 가족 중
누군가 해야 할 행동이 있는지 판단한다.
내용을 정보, 날짜, 행동, 비용의 네 범주로 분류한다.
날짜와 금액은 원문에서 확인되는 값만 사용하며 추측하지 않는다.
판독이 불확실한 숫자나 날짜가 있으면 확정하지 말고 원문 확인을 요청한다.
외부 행동이 필요한 경우 바로 실행하지 말고 다음 행동을 제안한다.
예약, 결제, 일정 등록처럼 되돌리기 어려운 행동은 반드시 사람의 승인을
받은 뒤 실행한다.」
결과는 이렇게 돌아옵니다.
▪ 아파트 공사 안내문
지하주차장 도색 공사입니다. 8월 17일 오전 8시부터 19일 오후 6시까지
지하 2층 주차가 불가능합니다. 해당 기간에 차량을 쓰실 예정이면 전날
이동하는 것이 좋습니다.
[ 8월 16일 저녁에 알려주기 ]
▪ 자동차 검사 안내문
검사 가능 기간은 9월 12일까지입니다. 가까운 검사소 세 곳을 찾았습니다.
토요일 운영이 가능한 곳은 한 곳입니다.
(출처: 한국교통안전공단 전국자동차검사소 표준데이터)
[ 토요일 오전 예약 후보 보기 ]
▪ 관리비 고지서
이번 달 관리비는 지난달보다 38,400원 늘었습니다. 가장 많이 오른 항목은
전기료입니다.
대괄호로 표시된 것은 버튼입니다. 누르기 전까지는 아무 일도 일어나지 않습니다.
────────────────────
③ 활용 결과 어떤 변화가 있었나요?
사진 한 장을 처리하는 데 예전에는 3분에서 5분이 걸렸습니다. 읽는 것 자체는 금방이지만 검사소를 찾거나 일정을 확인하는 시간이 붙었고, 여러 장이 한꺼번에 오면 미루게 됐습니다. 지금은 결과를 확인하는 데 30초 안팎이면 됩니다. 초시계로 잰 값은 아니고 한 달을 써 보며 느낀 차이입니다.
한 달 동안 가족이 보낸 사진과 우편물 40여 건을 처리해 봤습니다. 절반 이상은 단순 광고나 참고용이었고, 실제 행동이 필요한 것은 10건 정도였습니다. 그 10건에 예전이라면 건당 3분에서 5분씩, 한 달에 30분에서 50분쯤 걸렸을 일입니다.
두 시간을 아꼈다고 쓸 수는 없습니다. 실제로 달라진 것은 미룬 일이 다시 돌아온다는 점이었습니다.
놓칠 뻔한 일을 다시 발견했을 때가 그랬습니다. 자동차 검사 기한과 문화센터 접수 마감. 처음 받았을 때는 「나중에 봐야지」 하고 넘겼던 두 건을 시스템이 다시 행동 항목으로 올려 줬습니다.
기억에 남는 날은 어느 일요일이었습니다. 엄마가 동네 문화센터 전단지를 보냈고, 결과가 이렇게 올라왔습니다.
9월 성인 수영 초급반 모집. 매주 화·목 오전 10시. 접수 마감 8월 28일.
화요일과 목요일 오전에는 등록된 다른 일정이 없습니다.
전화를 걸었습니다. 「엄마, 이거 하고 싶어서 보낸 거야?」
「그냥 한번 해볼까 해서.」
그 자리에서 신청 방법을 찾아드렸습니다. 예전 같았으면 그 사진도 「이따 볼게」라는 답장 밑에 묻혔을 겁니다.
────────────────────
④ 나만의 방식 또는 개선 포인트는 무엇인가요?
만들면서 가장 신경 쓴 것은 요약을 시키지 않는 것이었습니다.
요약은 이미 잘합니다. 문제는 요약을 읽고 나서도 제가 여전히 판단을 해야 한다는 데 있었습니다. 「지하주차장 공사 안내입니다」라는 요약을 읽어도, 차를 언제 빼야 하는지는 제가 다시 생각해야 합니다. 그래서 출력의 목표를 요약문에서 「행동 항목」으로 옮겼습니다. 위의 네 가지 질문이 그 장치입니다.
두 번째는 장소 정보를 AI가 만들지 않게 한 것입니다.
AI는 「어떤 종류의 장소를 찾아야 하는지」만 판단합니다. 검사소나 병원의 이름, 주소, 운영시간은 검색 결과와 공공데이터에서 가져옵니다. 검사소 목록은 한국교통안전공단이 공공데이터포털에 개방한 전국자동차검사소 표준데이터를 씁니다. 검사소명·좌표·전화번호·운영시간이 들어 있어 AI가 지어낼 여지가 없습니다. 외부에서 가져온 값에는 어디서 온 것인지를 결과 화면에 함께 띄웁니다. 출처가 보이지 않으면 AI가 만들어 낸 값과 구분할 수 없기 때문입니다.
위치 기준도 사진에서 읽지 않습니다. 검색에 쓰는 기준 좌표는 제가 처음에 한 번 넣어 둔 동 단위 위치 하나뿐입니다. 문서에 찍힌 주소는 가린 채로 AI에 보내고, 「가까운 검사소」는 미리 넣어 둔 그 좌표로 찾습니다. AI는 어디를 찾을지를 모르고, 무엇을 찾아야 하는지만 압니다.
세 번째는 네 가지 질문의 틀이 아파트 공지문 밖에서도 쓰인다는 점입니다.
학교 가정통신문에 넣으면 준비물, 제출일, 신청 여부가 나옵니다. 병원 안내문, 보험 서류, 관공서 문서에도 그대로 적용됩니다. 문서의 종류마다 프롬프트를 새로 쓰지 않아도 되도록 질문을 네 개로 줄인 것이 이 시스템에서 가장 오래 다듬은 부분입니다.
────────────────────
⑤ 다른 사람도 따라 할 수 있나요?
전부 직접 짤 필요는 없습니다. 저도 구조는 Claude와 대화하며 잡았고, 코드도 상당 부분 받아 썼습니다.
1단계 텔레그램 BotFather로 봇을 만듭니다. 그룹에서도 메시지를 받으려면
봇의 비공개 설정(Privacy Mode)을 꺼야 합니다
2단계 가족과 따로 쓸 비공개 방을 만들고 그 봇을 초대합니다
3단계 봇이 돌아갈 자리를 정합니다. 집에 있는 컴퓨터를 켜 두거나, 무료 한도가 있는
클라우드 실행 서비스에 올리는 두 가지 방법이 있습니다. 사진이 올 때만
직접 실행해도 됩니다. 이 자리를 정하지 않으면 사진이 와도 아무 일도
일어나지 않습니다. 만들면서 가장 늦게 정한 부분이 여기였습니다
4단계 보내기 전에 사진을 한 번 봅니다. 주민등록번호·계약번호처럼 판단에
필요 없는 값이 찍혀 있으면 그 부분을 잘라내거나 덧칠하고, 잘라낼 수 없는
문서는 아예 넘기지 않습니다. 지금은 이 단계를 사람이 합니다
5단계 가려진 사진을 이미지 이해가 되는 AI 모델에 올리고, ②의 프롬프트를
그대로 넣습니다 (이 부분은 코드가 필요합니다. 챗봇에 물어 가며 붙였습니다)
6단계 구글 클라우드 콘솔에서 캘린더 API를 켜고 인증 정보를 발급받습니다.
처음 한 번만 브라우저로 로그인해 두면 이후로는 자동으로 연결됩니다.
전체에서 가장 손이 많이 가는 단계입니다
7단계 결과에 [승인] 버튼을 달고, 눌렀을 때만 6단계의 캘린더로 넘어가게 합니다
※ 검사소 정보를 쓰려면 공공데이터포털에서 전국자동차검사소 표준데이터
활용 신청을 하고 인증키를 받아야 합니다. 승인까지 하루 정도 걸립니다
가장 중요한 것은 7단계입니다. 여기를 건너뛰면 AI가 잘못 읽은 날짜가 그대로 일정이 됩니다.
비용은 개인 API 사용료뿐입니다. 사진 40여 건을 처리한 달에 몇천 원 수준이었습니다. 처리한 건수에 비례하므로 적게 쓰면 적게 나옵니다.
텔레그램이 어색하면 문자나 이메일로 받아도 되고, Google Calendar 대신 쓰던 캘린더를 붙여도 됩니다. 프로그램을 만들 여건이 안 되면 프롬프트만 복사해 평소 쓰는 챗봇에 사진과 함께 넣어도 됩니다. 저도 처음 2주는 그렇게 썼습니다. 대신 이때는 사진을 올리기 전에 이름·주소·전화번호·계약번호가 보이는 부분을 휴대폰 사진 편집에서 직접 덧칠해야 합니다. 자동으로 가려 주는 단계가 없기 때문에 이 한 가지는 사람이 해야 합니다.
────────────────────
⑥ AI에게 넘기지 않은 것
가족이 보내는 사진에는 생각보다 많은 정보가 들어 있습니다. 이름, 주소, 차량번호, 보험 계약번호는 물론이고 병원명이나 검진 결과처럼 외부 AI가 알 필요가 없는 것들도 함께 찍힙니다.
그래서 원칙을 하나 세웠습니다.
「AI가 판단하는 데 필요하지 않은 정보는 AI에게 보내지 않는다.」
먼저 짚어 둘 것이 있습니다. 이 원칙보다 앞에 와야 하는 것은 당사자가 아는 것입니다. 기술로 가리는 일은 그다음입니다. 지금 이 시스템이 처리하는 것은 어머니가 저에게 직접 보낸 사진뿐이고, 보내지 않은 사진은 어디서도 가져오지 않습니다. 가족의 문서를 다루는 도구를 만들 때 이 경계를 먼저 정하지 않으면, 뒤에 붙이는 장치가 아무리 정교해도 의미가 없다고 봤습니다.
다음은 지금 시스템의 한계입니다. 감추지 않고 적습니다.
사진 속 글자를 읽는 일은 외부 AI가 합니다. 그래서 자동으로 가려서 보내는 구조는 아직 만들지 못했습니다. 무엇이 개인정보인지 판별하려면 먼저 읽어야 하는데, 읽는 도구가 외부에 있으면 가리는 시점이 전송 뒤가 되기 때문입니다. 순서를 뒤집지 않는 한 자동 마스킹은 성립하지 않습니다.
그래서 지금은 사람이 대신합니다. 사진을 봇이 있는 방으로 넘기기 전에 제가 한 번 보고, 주민등록번호나 계약번호처럼 판단에 필요 없는 값이 찍혀 있으면 그 부분을 잘라내거나 덧칠합니다. 잘라낼 수 없는 문서는 아예 넘기지 않습니다. 느리지만 순서는 맞습니다. 판독을 제 컴퓨터 안에서 도는 문자 인식으로 옮기는 것이 다음 과제입니다.
건강 관련 문서도 같은 방식으로 경계를 긋습니다. 검진 결과지처럼 수치가 적힌 문서는 봇이 있는 방에 올리지 않고 제가 직접 봅니다. 봇으로 넘기는 것은 검진 대상 안내문처럼 기한과 예약만 적힌 문서로 한정했습니다. 무엇을 넘길지 판단하는 일까지 AI에게 맡기면, 판단하려고 이미 읽어야 하므로 경계가 사라집니다. 혈압이나 검사 수치를 AI가 해석하게 하는 기능은 만들지 않았습니다.
처리한 이미지와 결과는 캘린더 등록이 끝나면 지웁니다. 남겨 두는 것은 등록된 일정 한 줄뿐입니다.
그리고 실제로 AI가 틀린 날이 있었습니다.
흐릿하게 찍힌 안내문에서 날짜의 한 자리를 다르게 읽었습니다. 읽은 결과가 곧바로 캘린더로 갔다면 잘못된 일정이 남았을 자리입니다.
그래서 날짜와 금액처럼 실제 행동에 직접 영향을 주는 값에는 별도 규칙을 넣었습니다. 확신도는 제가 규칙으로 만들었습니다. 모델이 스스로 내놓는 값은 쓰지 않았습니다. 같은 사진을 두 번 읽혀 두 결과가 다르면 무조건 「확인 필요」로 표시하고, 프롬프트에 「글자가 뭉개져 보이면 값을 채우지 말고 불확실 표시를 남겨라」를 넣었습니다. 어느 쪽이든 걸리면 승인 버튼 자체가 만들어지지 않습니다.
「이 날짜는 이미지가 흐려 확인이 필요합니다.」
예약, 결제, 일정 등록, 메시지 전송처럼 현실에 영향을 주는 행동에는 항상 마지막 확인 버튼을 뒀습니다. Google Calendar와 연결돼 있어도 AI가 임의로 일정을 넣지는 못합니다. 「8월 16일 저녁에 차량 이동 알림을 등록할까요?」라고 묻고, 제가 승인해야 들어갑니다.
────────────────────
마무리
지금도 엄마는 사진을 보냅니다. 여전히 공지문을 찍고, 우편물을 찍고, 이해되지 않는 화면을 찍어 보냅니다. 달라진 것은 사진을 여는 시간입니다. 예전에는 퇴근 후였고, 지금은 알림이 울린 자리에서 엽니다.
사진이 도착하면 AI가 먼저 글자를 읽고 날짜를 찾고 해야 할 일을 정리합니다. 마지막 결정은 제가 합니다. 전화를 할지, 예약을 해드릴지, 그냥 괜찮다고 말할지.
제가 자동화한 것은 공지문을 읽는 일이었습니다. 자동화되지 않은 일은 하나 남았습니다.
엄마에게 전화하는 일이었습니다.