요즈음 책을 구매하지 않는다.

요즘은 책을 바로 사기보다 도서관에서 먼저 빌려 읽는 편이다.

서점에서 표지와 목차만 보고 읽고 싶은 책을 발견하면 일단 표지 사진을 찍어두고, 나중에 확인한다.

사진 앱을 연다.
책 제목을 본다.
도서관 웹사이트에 들어간다.
검색창에 제목을 입력한다.
소장 도서관을 확인한다. 내가 자주 가는 도서관에 책이 있으면 대여하거나 예약을 하고, 다른 도서관에 있으면 상호대차를 신청한다.

이미지를 보고 제목을 타이핑하고 찾고 하는 작업이 어렵지 않다 한두 번은 괜찮지만 반복되면 귀찮고 미루면 까먹었다.

이 자동화 프로세스는 여기서 시작됐다.

처음에는 표지 제목을 읽으려고 했다

처음 생각은 단순했다.

책 앞표지 사진을 보내면, 이미지에서 제목을 뽑아내고, 그 제목으로 도서관을 검색하면 될 것 같았다.

그런데 실제로 해보면 생각보다 잘 안 된다.

책 표지는 사람에게는 쉽지만 기계에게는 까다롭다.
제목 서체가 제각각이고, 부제와 추천사가 섞여 있다.
저자명, 출판사명, 띠지 문구가 같이 들어온다.
디자인에 따라 글자 배치도 다르다.

책 제목을 찾는 것부터 어려움이 발생한다. 시작부터 어그러지기 시작하는 것이다.

처음에는 이미지 인식을 더 잘하게 만들면 되지 않을까 생각했다.
하지만 곧 방향을 바꿨다.

어려운 문제를 푸는 것보다는 내가 행동을 바꾸는 것이 쉽다.

문제를 다시 보니 꼭 앞표지를 찍을 필요가 없었다.

내가 알고 싶은 것은 책 제목 자체가 아니라, 도서관에서 그 책을 찾을 수 있는 고유한 키 값이다.

책에는 이미 그런 키가 있는데, 그것이 바로 ISBN이다. 대부분의 책 뒷표지에는 ISBN 바코드가 있다.

한글 제목을 이미지에서 추론하는 것보다 숫자를 읽는 쪽이 훨씬 안정적이다.

그래서 행동을 하나 바꿨다.

앞표지를 찍지 않는다.
뒷표지 바코드를 찍는다.

이 작은 변경으로 문제가 단순해졌다.

문제 해결은 어렵게 푸는 것도 있지만, 쉽게 접근해서 빠르게 푸는 것도 방법이다.

새로운 앱을 만드는 대신 있는 것들을 연결했다

이걸 위해 별도 앱을 만들지는 않았다.

최근 Codex 를 모바일로 연결하면 PC에 설정한 스킬을 호출해서 사용할 수 있다.

게다가 사진 첨부 기능이 있다. 그리고 ISBN 값 추출도 잘한다.

그래서 필요한 것은 연결이었다.

  1. Codex 앱에서 카메라로 책 표지를 찍고 전송한다.
  2. 그러면 Codex 에서는 스킬을 활용해서 ISBN 코드를 추출하고 도서관 검색 스크립트에 넘긴다.
  3. 검색 결과에서 소장 여부를 뽑는다.
  4. 내가 읽기 쉬운 형태로 정리한다.

결과는 이런 식으로 온다.

있음

자주가는 도서관: 있음

책 정보: 작별인사 (김영하 지음)
소장 도서관: A, B, C

내가 하는 일은 한 가지다.

뒷표지 바코드를 찍어서 에이전트에게 보낸다.

왜 이 방식이 마음에 들었나?

이 자동화가 마음에 들었던 이유는 작아서다.

거창한 앱도 아니고, 복잡한 시스템도 아니다. 하지만 실제로 자주 겪는 귀찮음을 줄여준다.

사진을 이해하는 일은 에이전트가 한다.
스크립트를 실행하는 일도 에이전트가 한다.
결과를 요약해서 보여주는 일도 에이전트가 한다.

나는 사진만 보낸다.

멀티모달 에이전트가 일상 자동화에 유용해지는 지점이 여기라고 생각한다.
텍스트 명령만 받을 때보다 훨씬 자연스럽다.
현실의 입력은 대부분 텍스트가 아니기 때문이다.

책은 사진으로 만난다.
영수증도 사진으로 남는다.
문서도 사진으로 찍는다.
거리의 간판도 사진으로 본다.

사진을 출발점으로 삼을 수 있으면 자동화의 입구가 넓어진다.

자동화의 핵심은 완전한 앱이 아니었다

예전에는 이런 불편함을 해결하려면 앱을 하나 만들어야 한다고 생각했다.

카메라 화면이 있어야 하고, OCR 기능이 있어야 한다.
검색 API를 붙여야 하고, 결과 화면도 만들어야 한다.
로그인이나 저장 기능도 고민해야 한다.

하지만 이번에는 그렇게 하지 않았다.

Codex 앱이 카메라 입력을 대신했다.
스킬이 반복 로직을 담았다.
도서관 웹 검색이 데이터 소스가 됐다.
에이전트가 결과 UI 역할을 했다.

완성된 제품을 만든 게 아니다.
기존 도구 사이에 얇은 연결을 하나 놓았다.

그런데 내 사용 흐름에서는 그걸로 충분했다.

다음에는 예약까지 이어가고 싶다

지금은 소장 여부 확인까지만 된다.

책이 있는지 확인하고 나면, 다시 도서관 사이트에 들어가서 예약하거나 상호대차를 신청해야 한다.
아직 흐름이 한 번 끊긴다.

다음 단계는 두 가지다.

첫 번째는 도서 정보 자동 저장이다.
사진으로 검색한 책을 목록으로 쌓아 두고 싶다.
나중에 다시 찾을 수 있어야 한다.

두 번째는 브라우저 자동화다.
저장된 책 목록을 기반으로 도서관 사이트를 열고, 예약이나 상호대차 신청까지 이어가고 싶다.

아직 끝난 자동화는 아니다.
하지만 첫 단추는 잘 끼운 것 같다.

사진 한 장으로 검색이 끝나니, 다음 단계도 자연스럽게 보인다.
검색 다음은 예약이다.

불러오는 중...