LLM 글쓰기 + 문서 검색(RAG). 서비스를 쓰다 막힌 질문을 받아 aileelab 서비스 문서에서 관련 부분을 찾고, 그 근거로 언어 모델이 설명하고 같이 풉니다
대화 기록과 불편 신호: 모든 대화를 Cloudflare Pages Function + D1에 저장하고, 대화 속 말투에서 욕설·짜증·헷갈림·개선 의견을 낱말 사전으로 읽어 신호로 표시합니다. 따로 의견을 받는 화면은 없습니다. 욕설·짜증·의견에는 대답 앞에 한 줄로 알아들었다고 말하고, 헷갈림은 조용히 적기만 합니다. 말투를 지적하지 않습니다
리틀 소트: 브라우저 안 낱말 고르기. 공개한 서비스 7곳마다 낱말 목록과 질문을 맞춰 맞은 개수로 줄 세움. 낱말 = 손으로 고른 것 + 딥 소트가 읽는 문서에서 그 서비스에만 자주(3번 이상) 나오는 낱말 최대 12개(자동, 딥 소트와 같은 원본 `services.json`에서 만듦). 한 글자 낱말(예: 뇌)은 그 글자로 시작하는 3자 이하 어절에만 맞춤. LLM 없음, 대답 문장은 정해 둔 틀
'삶, 우주, 그리고 모든 것' 연출: 묻기 창에서 그 질문을 하면 대화 말풍선 안에서 돔. 750만 년·1,000만 년을 각각 약 7초로 줄인 정한 값. 기록 문장은 손으로 씀
학습 없음 · 하드웨어 DGX Spark(128GB 통합 메모리) · Ollama + FastAPI/uvicorn · 실행 ID: 가동 후 기록
LLM: gpt-oss:120b(Ollama, DGX Spark 로컬, 생각 깊이 low). AI가 쓰는 부분 = 답변 문장. 코드가 하는 부분 = 서비스 판별·상태 확인·문서 검색(BM25, 서비스 제목·열린 서비스 가산)·직전 대화 3번 전달·요청 제한·대답 아래 '참고한 곳'(근거 문단이 나온 서비스 첫 화면·구축 방법 링크, 최대 3개)
■ 데이터
aileelab.com에 공개한 서비스 7곳의 README·구축 방법 페이지 · 2026-10-25 · 자체 작성. 공개 전 서비스는 넣지 않음
성격: 손으로 작성한 문서. 요청 시 조회
사용자 입력 저장: 모든 대화를 저장(화면 안내 "모든 대화는 딥 소트에 저장됩니다."). 한 번 묻고 답할 때마다 질문(최대 1,000자)·대답(최대 2,000자)·관련 서비스·불편 신호·누가 답했나(딥 소트/리틀 소트)·언어·시각. IP·브라우저 정보는 저장하지 않음
■ 검증
페이지: 영어 사전 누락 0(문장 111개), 다루는 서비스 = 공개한 7곳, 360·390·1280px 가로 넘침 없음 (헤드리스 Chromium, 2026-10-25)
리틀 소트: 질문 28개 중 28개가(그중 5개는 자동 낱말로만 맞힐 수 있는 질문) 기대한 서비스·대답 종류. 직전 서비스 이어 받기 확인. 불편 신호: 문장 7개 중 7개가 기대한 신호(평범한 질문 2개는 신호 없음). 기록 함수: 저장·거절 규칙 9개 통과(가짜 D1). 의견함 함수: 저장·거절 규칙 8개 통과(가짜 D1).
질문 묶음은 설계자가 만든 것이라 같은 사람이 낱말 목록도 씀 — 처음 보는 질문에서의 정답률은 아님
딥 소트 문서 검색(LLM 없이, 공개 서비스 문서 25개·문단 795개, 질문 8개): Top-1 8/8. 대답 서버 시험(가짜 Ollama) 14개 통과
대답 시간: DGX Spark gpt-oss:120b, 질문 2개 29·37초(2026-10-27, Spark 안에서). 대답 품질: 아직 측정하지 않음(질문 묶음으로 '맞는 서비스를 가리켰는가'를 셀 예정)
학습·평가 분리: 해당 없음
■ 범위
aileelab.com에 공개한 서비스를 쓰다가 생긴 질문과 그 서비스에 대한 의견. 그 밖의 일반 질문은 범위 밖이라고 답하게 설계
■ 출처
딥 소트 그림(지구라트 위 컴퓨터): 사용자 제공
Adams, D. (1979). The Hitchhiker's Guide to the Galaxy. Pan Books. — 설정의 출처(오마주). 원문 인용 없음
aileelab 공개 서비스 README · 2026-10-25
■ 이력
2026-10-27 · v1.0 · 공개
How it's built — Deep Thought · v1.0 · 2026-10-27
■ Method
LLM writing + document retrieval (RAG). Questions from people stuck in a service are matched against aileelab service documents, and a language model explains and works through the problem from those passages
Conversation log and frustration signals: every conversation is stored via a Cloudflare Pages Function in D1, and a keyword lexicon tags swearing, annoyance, confusion, and suggestions. There is no separate feedback form. For swearing, annoyance, and suggestions the reply opens with a one-line acknowledgement; confusion is recorded silently. It never comments on anyone's language
Structure: static intro page (Cloudflare Pages) + answering server, 'Deep Thought' (DGX Spark, FastAPI, via Cloudflare Tunnel). The page checks `/health`; when it is off, 'Little Thought' answers
Little Thought: keyword picking in the browser. Each of the 7 public services has a keyword list; services are ranked by matched keywords. Keywords = hand-picked ones + up to 12 words that appear 3+ times only in that service's documents that Deep Thought reads (generated automatically from the same source, `services.json`). Single-character keywords (e.g. 뇌, brain) match only words of 3 characters or fewer that start with them. No LLM; replies use fixed templates
'Life, the Universe, and Everything' replay: runs inside a chat bubble when you ask that question. 7.5 and 10 million years each squeezed into about 7 seconds (set values). Log lines are hand-written
No training · Hardware DGX Spark (128 GB unified memory) · Ollama + FastAPI/uvicorn · Run ID: recorded once running
LLM: gpt-oss:120b (Ollama, local on DGX Spark, low reasoning effort). AI writes the answer text. Code handles service detection, status checks, retrieval (BM25 with title and current-service boosts), passing the last three exchanges, rate limits, and the 'Sources' line under each answer (links to the service page or How it's built page the passages came from, up to 3)
■ Data
README and How it's built pages of the 7 services published on aileelab.com · 2026-10-25 · written in-house. Unreleased services are not included
Nature: hand-written documents, looked up on request
User input stored: every conversation is saved (stated on screen: "All conversations are saved by Deep Thought."). Each turn stores the question (up to 1,000 characters), the reply (up to 2,000), related service, frustration signal, who answered (Deep Thought / Little Thought), language, and time. No IP or browser data
■ Validation
Page: 0 missing English strings (111 sentences), services covered = the 7 public ones, no horizontal overflow at 360/390/1280 px (headless Chromium, 2026-10-25)
Little Thought: 28 of 28 questions (5 of them answerable only through the automatic keywords) gave the expected service or reply type. Carrying over the previous service checked. Frustration signals: 7 of 7 sentences gave the expected signals (2 ordinary questions gave none). Storage function: 9 storage and rejection rules pass (mock D1). Feedback function: 8 storage and rejection rules pass (mock D1).
The same person wrote the questions and the keyword lists, so this is not accuracy on unseen questions
Deep Thought retrieval (no LLM, 25 public-service documents, 795 passages, 8 questions): Top-1 8/8. Answer-server tests (mock Ollama): 14 pass
Answer time: 29 s and 37 s for 2 questions on DGX Spark with gpt-oss:120b (2026-10-27, inside Spark). Answer quality: not yet measured (a question set will score whether the right service was pointed to)
Train/test split: not applicable
■ Scope
Questions that come up while using services published on aileelab.com, and feedback on them. General questions outside that are answered as out of scope by design
■ Sources
Deep Thought image (computer on a ziggurat): supplied by the owner
Adams, D. (1979). The Hitchhiker's Guide to the Galaxy. Pan Books. — source of the premise (homage). No passages quoted