Talorys – Cloudflare 무료 티어에서 돌리는 개인 AI 에이전트
Talorys – A self-hosted personal AI agent on Cloudflare's free tier
TL;DR Highlight
npx 명령 하나로 내 Cloudflare 계정에 개인 AI 에이전트를 배포한다
Who Should Read
서버 없이 Cloudflare 무료 티어에서 채팅·메모리·알림 기능이 있는 에이전트를 직접 띄워 보고 싶은 풀스택 개발자
Core Mechanics
- 명령 하나로 내 계정에 배포
- `npx create-talorys@latest`를 실행하면 Worker, Pages, Durable Object가 내 Cloudflare 계정에 만들어진다.
- Talorys 개발자가 운영하는 서버·DB·계정은 없다고 한다.
- 데이터는 SQLite Durable Object 하나에 저장
- 대화, 메모리, 태스크, 노트, 프로젝트, 자동화, 설정이 전부 한 곳에 들어간다.
- R2, D1, KV, Vectorize 같은 서비스는 쓰지 않는다.
- 모델은 Workers AI의 glm-4.7-flash
- 모델은 `@cf/zai-org/glm-4.7-flash`이고 스트리밍과 tool calling(모델이 도구를 호출하는 기능)을 쓴다.
- 프론트는 Pages Function이 service binding(공개 URL 없는 내부 연결)으로 비공개 Worker에 요청을 넘긴다.
- 메모리는 관련된 것만 모델에 보낸다
- 매 턴마다 가장 관련 있는 메모리만 프롬프트에 넣는다.
- 시맨틱 recall(의미 기반 검색)은 기본 꺼짐이고, 설정이나 `--semantic` 옵션으로 켠다.
- 비용 가드레일이 내장돼 있다
- 최대 출력 토큰, 컨텍스트 토큰, 도구 호출 수, 하루 AI 요청 수를 설정에서 조절한다.
- 단순 리마인더와 태스크 다이제스트는 AI를 쓰지 않는다.
Community Reactions
- Cloudflare 종속은 self-hosted가 아니라는 반론
- 전부 Cloudflare에 의존하니 self-hosted라 부르면 안 된다는 의견이 많았다.
- Durable Objects와 KV 바인딩 때문에 Cloudflare 밖에서는 못 돌려 결국 직접 배포일 뿐이었다는 경험도 있었다.
- 오픈소스라 로컬 모델로 바꿀 수 있다는 의견
- AI 호출을 로컬 모델 서버로 바꾸면 나머지는 wrangler로 로컬에서 돈다는 의견이 있었다.
- 무료 AI 티어에서 과금됐다는 경험
- 유료 Workers를 쓰면서 neuron 사용량이 무료 한도 안이어야 하는데 청구됐다는 경험이 올라왔다.
- 지원팀에서 답을 못 받았다고 한다.
- 실제로 잘 동작하는지 근거가 없다는 지적
- 메모리 recall이나 태스크 완료율에 대한 eval이 없으면 작동 여부를 알 수 없다는 의견이 있었다.
- 채식주의자 메모리를 넣고 저녁 메뉴를 물었더니 닭고기와 연어를 추천했다는 테스트 경험도 있었다.
- Workers AI가 느리다는 의견
- 사용자 대화형 용도에는 매우 느리고 백그라운드 작업이나 eval에 적합하다는 의견이 있었다.
How to Apply
- 로컬 mock 모드로 먼저 돌려 보기
- `git clone` 후 `npm install && npm run dev`를 실행한다.
- Cloudflare 로그인 없이 mock AI로 UI, 메모리, 태스크 구조를 확인한다.
- 메모리 recall 테스트 케이스 만들기
- 메모리 3~5개를 넣고 관련 질문 10개를 던져 반영되는지 표로 기록한다.
- 시맨틱 recall을 껐을 때와 켰을 때를 비교한다.
- AI 사용량 상한을 낮춰 시작하기
- Settings → AI에서 하루 AI 요청 수와 최대 출력 토큰을 낮게 설정한다.
- Usage 패널로 neuron 사용량을 확인한 뒤 올린다.
- 에이전트 구조를 내 서비스에 가져오기
- Durable Object 하나에 SQLite와 alarm을 묶는 구조를 참고해 사용자별 에이전트를 설계한다.
- AI 없이 도는 기능과 AI 기능을 분리해 쿼터 소진에도 서비스가 유지되게 한다.
Try It
# 터미널에 붙여넣기 (Node.js 22+ 필요, 먼저 로컬 mock 모드로 실행)
git clone https://github.com/rociiu/talorys.git
cd talorys
npm install
npm run dev
# 접속: http://localhost:5173 (비밀번호 기본값: talorys-dev-password)
# 이어서 해 볼 것: 실제 배포는 아래 명령, 시맨틱 recall은 --semantic 옵션
# npx create-talorys@latest --semanticTerminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓