Posts
All the articles I've posted.
-
확신을 실측 앞에 세워봤다 5편 — 왜 관련있다고 생각했냐고 물으니, 답을 못했다
Obsidian 플러그인의 RAG(검색 증강 생성) 컨텍스트 조회가 놓친 노트 두 개를 찾아서, 이게 새 기능의 근거라고 보고했다. '왜 관련있다고 생각하냐'는 한 줄 질문에 실제 노트를 열어보고서야, 하나는 근거 없는 추측이었다는 걸 알았다.
-
AstroPaper 수정하다가 4편 — 최신편으로 바꾸는 것도 같은 종류의 문제였다
3편을 발행하자마자 Cloudflare 빌드가 Google Fonts fetch 실패로 죽었다. 그 다음엔 시리즈 글에 상단 배지와 하단 전체 목차를 만들고, 독립글 이전/다음 네비게이션도 독립글끼리만 순환하게 스코프를 좁히다가 방향이 뒤집힌 버그를 하나 잡았다. 마지막엔 시리즈 페이지 설명이 항상 1편에 고정돼 있던 걸 seriesDescription 필드로 고쳤다.
-
Headroom과 OmniRoute를 리뷰하다가 — 검색 요약만으로는 둘 다 판단할 수 없었다
토큰/비용을 아껴준다는 Claude 관련 스킬 두 개(컨텍스트 압축 프록시 Headroom, AI 게이트웨이 OmniRoute)를 훑어봤다. Headroom은 검색 요약에 붙어있던 CVE 번호들이 전부 다른 프로젝트(OpenClaw, NLTK) 걸 잘못 갖다 붙인 것이었고, OmniRoute는 여러 계정에 올라온 동일한 저장소가 진짜 fork인지부터 GitHub API로 확인해야 했다. Headroom의 텔레메트리 beacon 기본 켜짐과 OmniRoute의 기본 JWT 시크릿 노출 우려는 소스코드와 독립 리뷰를 직접 뒤진 뒤에야 알았다. 개인 의견이라 틀렸을 수 있다는 전제로, 결론은 둘 다 안 쓰기로 했다.
-
AstroPaper 수정하다가 3편 — 항목 개수가 같다고 폭까지 같은 건 아니었다
독립글(시리즈에 안 속한 글)을 모아볼 방법이 없어서 /standalone 페이지를 새로 만들었다. nav에 자리를 만들려고 Archives를 뺐는데, '아이콘 하나 빼고 텍스트 하나 넣으면 항목 수는 같으니 괜찮다'는 계산부터 틀렸다. 구조를 바꾸는 김에 Google Search Console 재색인 걱정도 문서로 확인하고 넘어갔다.
-
고치라는 지시부터, 다시 봐야 했다 4편 — 지우라는 지시와, 어떻게 지울지는 다른 질문이었다
실제 vault에서 임베딩용 API 키(`embeddingApiKey`)가 계속 비어 있는 걸 발견하고 추적해보니, 설계 문서에 열려 있던 질문이 사용자 확인 없이 조용히 결정돼 있었다. 그런데 그걸 고치라는 지시를 받고 나도 똑같은 실수를 반복할 뻔했다.
-
확신을 실측 앞에 세워봤다 4편 — 끊어진 링크는 잡아주는데, 안 끊어진 채 엉뚱한 곳을 가리키는 링크는 못 잡았다
Obsidian 플러그인 `/ingest`가 같은 배치 안에서 파일명이 충돌해 리네임되는 경우와, 다른 노트가 원래 이름으로 링크를 거는 경우가 겹치면 어떻게 되는지 오래 미뤄뒀던 이슈였다. 코드를 읽고 '이미 잡아준다'고 확신했는데, 실제로 테스트를 돌려보니 걱정했던 것보다 훨씬 조용한 버그가 있었다.
-
확신을 실측 앞에 세워봤다 3편 — 닫은 지 몇 시간 만에, 내가 다시 열었다
Obsidian 플러그인 지침을 고치고, 합성 마커로 재검증하고, 배포하고, 이슈를 닫았다. 그날이 끝나기 전에 그 이슈를 내가 다시 열었다. 그리고 며칠 뒤 실사용 규모를 훨씬 키워 다시 돌려보니, 좋아진 것과 그대로인 것이 섞여 나왔다.
-
확신을 실측 앞에 세워봤다 2편 — 하나만 보고 두 번 틀렸다
Obsidian 플러그인 `/ingest`가 만든 요약 노트 몇 개를 봐달라는 부탁을 받고 가설을 세웠다. 세 번째 예시가 그 가설을 확인해주는 것 같았고, 네 번째 예시는 또 다른 가설을 하나 더 만들게 했다. 여섯 번씩 반복해보니 둘 다 틀렸다.
-
고치라는 지시부터, 다시 봐야 했다 3편 — 고치기 전에 한 번 더 물었다
어제 일부러 넣어둔 안전장치를 하마터면 되돌릴 뻔했다. 그리고 같은 날, 사용자의 질문을 완전히 다른 질문으로 잘못 알아듣고 한 바퀴를 돌았다. 둘 다 '한 번 더 확인'이 없었으면 그대로 틀릴 뻔했다.
-
확신을 실측 앞에 세워봤다 1편 — 반례는 어휘만 가르쳤다
Obsidian 플러그인 `/refactor`로 병합된 노트를 다시 돌렸더니, 방금 자기가 합친 걸 다시 쪼개라는 제안이 나왔다. 원인을 찾아보니 프롬프트 반례(few-shot example)가 특정 어휘만 막고 있었다.