Tag: Empirical
All the articles with the tag "Empirical".
-
프록시는 한 번도 쓸 일이 없었다
네이버 크롤링 중 겪은 IP 차단(403) 대응으로, 집 PC의 다른 IP를 프록시 폴백으로 쓰면 어떻겠냐는 제안이 나왔다. 실제로 VPS가 막혀있는 순간에도 그 IP는 바로 뚫렸다. 그런데 정작 코드에 붙이고 나니 프록시는 한 번도 발동하지 않았다 — 진짜 병목은 차단이 아니라 순수한 물량이었고, 네이버 뉴스 검색 API의 `field=1`(제목만 검색) 파라미터로 그 물량 자체를 88% 줄였다.
-
식은 IP도 순식간에 막혔다, 고쳤더니 이번엔 너무 느렸다
3일 식힌 IP로 다시 돌려봤다. 완전 실패는 아니었지만 극초반 몇 건만 통과하고 곧바로 거의 다 막혔다. 알고 보니 이 코드엔 요청 딜레이도 재시도도 전혀 없었다 — 둘 다 추가했더니 정말로 5초만 쉬면 거의 항상 뚫렸다. 문제는 47분 동안 첫 키워드 하나도 못 끝낼 만큼 느렸다는 것이었다.
-
차단됐다는 증거부터 없었다
동시성 10만 재현해보면 될 줄 알았다. 그런데 질문 하나가 먼저 나왔다 — 우리가 겪은 게 정확히 뭐였지? 파헤쳐보니 '403이었다'는 전제 자체가 원본 증거로 확인된 적이 없었다. 실제 파이프라인으로 처음 재현했더니 진짜 막혔는데, 몇 분 뒤 완전히 같은 조건을 손으로 재현하니 멀쩡했다.
-
네이버 뉴스 검색 403, 3개월치를 순차로 돌렸는데 한 번도 안 막혔다
네이버 뉴스 검색을 돌리다가 실전 규모에서 결과가 55,366건에서 100건으로 붕괴했다. 원인이 요청량인지, 속도인지, 동시성인지조차 알 수 없어서 하나씩 지워나가는 실험을 시작했다. 그런데 세 번을 조심스럽게 재현해봐도 단 한 번도 막히지 않았다.
-
확신을 실측 앞에 세워봤다 9편 — 답은 두 문서 안이 아니라, 밖에 있었다
Obsidian 플러그인 `/refactor`에서 병합(merge) 시점에 개입하는 것도, 판단을 생성 대신 검증으로 바꾸는 것도 안 됐다. 본문 전체를 줘도 모델은 계속 확신에 차서 틀렸다. 문제는 판단력 부족이 아니라 근거 부족 — 그 판단에 필요한 증거가 애초에 그 두 문서 안에 없었다는 것이었다.
-
확신을 실측 앞에 세워봤다 8편 — 격리할수록 좋아진다는 것도 절반만 맞았다
Obsidian 플러그인 `/refactor`에서, 노트 하나만 있는 카탈로그에서는 92% 성공, 오탐은 0건이었다. 그대로 실전 규모(노트 145개)에 넣었더니 25%로 주저앉았다. reasoning effort(추론 강도)를 올리면 나아질 줄 알았는데, 시도하는 족족 더 나빠졌다.
-
agent-browser를 설치하면서 — 1편에서 이미 검토했던 도구라는 걸 까먹고 있었다
7편에서 agent-browser를 설치한 지 며칠 만에, 1편에서 이미 Playwright MCP로 같은 문제(VPS에 GUI가 없어서 렌더링 확인을 못 하는 것)를 검토했었다는 걸 완전히 잊고 있었다는 걸 알아챘다. Honcho에 저장된 실제 대화 로그를 뒤져 agent-browser를 처음 물어본 순간을 찾아보니, 1편이나 Playwright MCP 언급은 전혀 없었다. 그런데 Playwright MCP가 '이미 있었다'던 것도 Hermes 한정이었고 Claude Code엔 연결된 적이 없었다는 것까지 같이 확인했다.
-
agent-browser를 리뷰하다가 — 헤드리스라 가벼울 줄 알았는데 아니었다
VPS라 브라우저로 직접 확인 못 하던 걸 해결해줄까 싶어 agent-browser(Vercel Labs)를 리뷰했다. 헤드리스가 정확히 뭘 뜻하는지부터, 실제로 설치해서 돌려보니 페이지 하나 여는 데 Chrome 프로세스 18개·RSS 1.6GB가 뜨는 걸 실측으로 확인했다. 그래서 몰아서 쓰고 명시적으로 닫는 쪽으로 운영 방식을 정했다.
-
재현율을 다시 쟀더니 5배가 나왔다 — 그런데 그 이유를 설명하다가, 설명부터 틀렸다
한글 제목이 가끔 깨진 UTF-8 바이트로 나오는 버그를 GPT-5.6 Luna로 표본 20개씩 다시 재봤다. 재현율이 원래 추정의 몇 배로 나왔는데, 왜 실제로는 못 느꼈는지 설명하다가 그 설명 자체가 절반은 틀렸다는 걸 코드에서 다시 확인했다.
-
디폴트값으로 돌리고 있었다 — GPT-5.6 Luna 추론 옵션을 medium과 high로 나눠서 비교해본 결과
GPT-5.6 Luna의 reasoning_effort 기본값을 발견하고 medium/high를 프롬프트 보강과 엮어 벤치마크를 돌렸다. 결과표는 그럴듯했다. 그런데 그 표를 만든 도구를 다시 열어보니, 표에 있는 숫자 중 상당수는 애초에 그 코드가 잴 수 없는 값이었다 — 그리고 그걸 고친 정정 문서에도, 또 다른 정정이 필요했다.