단일 SQLite 테이블과 소수의 크론 작업을 사용하는 해킹 가능한 AI 비서
(geoffreylitt.com)- Stevens는 SQLite 테이블과 cron 작업을 사용하여 구축된 간단한 AI 비서임
- Stevens는 매일 아침 사용자에게 일정, 날씨, 우편물 등의 정보를 제공함
- Stevens의 구조는 Val.town 플랫폼에 호스팅되며, SQLite 저장소와 HTTP 요청 처리, 이메일 송수신을 지원함
- Stevens는 다양한 데이터 소스를 통해 정보를 수집하고, 이를 통해 사용자에게 맞춤형 정보를 제공함
- Stevens는 개인 프로젝트로, 사용자가 코드를 포크하여 자신만의 AI 도구를 만들 수 있음
Stevens: 해킹 가능한 AI 비서
- Stevens는 Ishiguro의 소설 "Remains of the Day"의 집사 이름에서 따온 AI 비서임
- 매일 아침 Telegram을 통해 사용자에게 일정, 날씨, 우편물 등의 정보를 제공함
- 사용자는 Telegram 채팅을 통해 Stevens와 소통할 수 있음
Stevens의 구조
- Stevens는 Val.town 플랫폼에 호스팅되며, SQLite 테이블과 cron 작업을 사용함
- Stevens의 "노트북"은 SQLite 테이블로, 일정 및 배경 정보를 저장함
- cron 작업을 통해 Claude API를 호출하여 아침 브리프를 작성하고 Telegram으로 전송함
데이터 수집 방법
- Google Calendar API를 통해 일정 데이터를 수집함
- 날씨 API를 통해 지역 날씨 예보를 확인함
- USPS Informed Delivery를 통해 우편물 정보를 OCR 처리함
- Telegram 및 이메일 메시지를 통해 로그 항목을 추가함
- 매주 "재미있는 사실"을 추가하여 일일 업데이트에 색다른 요소를 더함
프로젝트에 대한 반성
- 개인 AI 도구는 다양한 정보 소스에 대한 접근이 중요함
- "메모리"는 간단하게 시작할 수 있으며, 필요에 따라 확장 가능함
- Stevens는 사용자에게 재미를 주기 위해 형식적인 집사처럼 말하도록 설정됨
직접 시도해보기
- Stevens는 상용 제품이 아닌 개인 프로젝트임
- 사용자는 코드를 포크하여 자신만의 유용한 도구를 만들 수 있음
- Val Town CLI를 사용하여 로컬 파일 시스템과 동기화 가능함
Hacker News 의견
-
이 기능의 유용성 때문인지, 아니면 "영국 신사 집사" 같은 표현 때문인지 모르겠음
- 왜 이 기능이 Apple이나 Google의 제품 출시가 아닌, 한 엔지니어의 블로그에서 읽히는지 궁금함
- 이 두 회사가 AI 기술을 요약이나 질문-답변 같은 '해결된 문제' 영역에 적용하지 않는 것은 실망스러움
- AI와 관련된 기회가 있다면, 이 독점적인 두 회사에 위협이 될 수 있을 것임
-
내 유틸리티 프로그램이 메일박스에 접근할 수 있다면 어떨까 생각해 봄
- 날씨를 확인하거나 시스템 명령을 실행하는 작은 유틸리티 프로그램이 있음
- 메일박스가 있다면 정보를 보내고 AI가 이를 분석해 이메일을 보내거나 새로운 메시지를 생성할 수 있음
- 이메일을 분석하고 내부 저장소에 추가한 후 메시지를 삭제함으로써 유용하게 사용할 수 있음
-
비슷한 오픈 소스 프로젝트에 대한 아이디어를 생각 중임
- 백엔드를 사용자가 접근할 수 있는 LLM으로 구성하고 싶음
- 터치스크린과 연결하여 Alexa 같은 기기로 사용할 수 있는지 궁금함
- 캘린더, 날씨, 홈브리지, Spotify 등과의 통합을 확장 가능하게 만들고 싶음
- 현재 프로젝트에 많은 시간을 할애할 수는 없지만, 이 방향으로 나아가는 사람들과 함께하고 싶음
-
실용적인 AI 해킹을 보고 싶음
- 복잡한 구조나 벡터 DB 없이 기존 데이터 소스와의 실용적인 통합을 선호함
-
"컨텍스트 토큰 스위트 스팟"을 해결하기 위한 방법을 실험 중임
- LLM이 데이터베이스와 협력하여 정보를 저장하고 요약하는 방식으로 작동함
- 요약 문서를 생성하여 컨텍스트를 유지하면서도 데이터베이스를 통해 중요한 세부사항을 보완할 수 있음
-
sqlite DB를 다음 토큰 예측에 사용한다고 생각했음
- 다른 사람들은 Claude를 사용함
-
mcp.run과 태스크를 사용하여 비슷한 것을 구축했음
- 대화가 존재하는지 확인하고 결과를 저장하는 방식으로 프롬프트를 수정함
- 레지스트리에 서블릿을 추가하여 봇의 기능을 확장할 수 있음
-
Stevens는 처음에는 Apple이나 Google 제품처럼 건조한 톤으로 말했지만, 포멀한 집사처럼 말하는 것이 더 재미있었음
- 개인 비서 세계에서 LLM이 너무 많은 말을 하는 것이 가장 큰 불만 중 하나임
- 부자가 되어 음성 비서와 친구가 될 시간이 생기기 전까지는 J.A.R.V.I.S.가 아닌 LCARS가 필요함
-
이러한 도구는 앞으로 몇 년간 해커들에게 비옥한 토양이 될 것임
- 스택의 많은 부분이 OSS 배관으로 상품화되어 있으며, 호스팅 추론은 이미 저렴하고 쉬움
- 이메일과 캘린더에 에이전트를 연결하는 데 보안 문제가 있지만, 많은 사람들이 Apple이나 Google에 통제권을 넘기는 것보다 전체 스택을 제어하는 것을 선호할 것임
-
메모리 가지치기나 요약에 대해 생각해 본 적이 있는지 궁금함
- 오래된 항목을 삭제하는 대신 LRU를 사용하거나 응답을 요약하여 같은 테이블에 저장하는 방법을 고려할 수 있음
- 원시 데이터는 사라지지만 압축된 버전은 남아 있어 메모리를 가볍게 유지하면서도 컨텍스트를 보존할 수 있음