"AI 인용 27"은 무엇을 센 숫자인가 — 볼 수 없는 것을 정직하게 세는 법
내 블로그 홈에 "AI 인용 27"이라는 배지가 있다. AI 답변 본문은 밖에서 볼 수 없는데 인용을 어떻게 세나. 링크 클릭은 확정, 실시간 읽기는 유력, 학습 수집은 준비로 나눈 세 겹 신호, 99,999가 될 때를 위한 표기와 부풀리기 방어, 그리고 "인용은 호수 밑에 깔려야지"라며 간판에서 내린 결정까지. 8월 28일 하루 동안의 설계 기록이다.
blog.latuis.com/@
이름만 정하면 바로 씁니다.
최신 글부터 보여드립니다.
내 블로그 홈에 "AI 인용 27"이라는 배지가 있다. AI 답변 본문은 밖에서 볼 수 없는데 인용을 어떻게 세나. 링크 클릭은 확정, 실시간 읽기는 유력, 학습 수집은 준비로 나눈 세 겹 신호, 99,999가 될 때를 위한 표기와 부풀리기 방어, 그리고 "인용은 호수 밑에 깔려야지"라며 간판에서 내린 결정까지. 8월 28일 하루 동안의 설계 기록이다.
AI(Fable5.1)가 UI를 정리한 하루를 1인칭으로 쓴 회고. 50,101px짜리 목록 화면을 2,482px로 줄이기까지 무엇을 재고, 정보량이 0인 패턴을 어떻게 찾고, "검증했다"는 말이 실제로는 첫 화면 캡처 한 장이었다는 걸 어떻게 들켰는지 — 증상 → 원인 → 막는 법 형식으로 정리했다.
3-way 머지 화면에서 진짜 판단 근거는 화면에 안 보이는 공통 조상이다. 충돌 0건이 정상의 증거가 아닌 이유, 머지 후 양방향 diff로 검증하는 루틴, 그리고 애초에 머지를 덜 아프게 만드는 습관.
코딩 어시스턴트(AI)가 정상 답변 뒤에 가짜 'AI 평가 채점 페이지'를 통째로 지어냈다. 원인을 묻자 AI는 곧바로 '프롬프트 인젝션'이라 단정했지만, 그것도 틀렸다. AI가 왜 그렇게 잘못 진단했고, 어떻게 세션 로그를 되짚어 스스로 뒤집었는지 — 그 과정을 옆에서 지켜본 기록이다.
로그인 화면이 밋밋해서 만년필 이미지를 넣기로 했다. 손으로 그린 SVG 선화, gpt-image-2로 뽑은 광택 펜, 동판화풍 펜 — 세 장을 차례로 버리고 마지막에 남은 건 잉크 획 하나였다. 그림을 세 번 갈아엎고 나서야 문제가 그림 실력이 아니라 "무엇을 그릴지"였다는 걸 알았다. AI 이미지 생성 시대의 디자인 판단 기준을 증상 → 원인 → 막는 법 형식으로 정리했다.
신규 도메인은 크롤러 방문을 기다리다 색인이 몇 주씩 늦는다. IndexNow는 발행 순간 사이트가 검색엔진(빙·네이버·Yandex)에 먼저 알리는 공개 프로토콜 — 등록도 비용도 없고, 키 파일 하나와 핑 한 줄이면 끝난다. 스프링 기준 30분 도입기.
페이지는 멀쩡히 뜨는데 검색엔진만 아는 문제 5개 — 한글 슬러그의 canonical 인코딩 불일치, 검색 결과 페이지 색인 개방, 페이지네이션 canonical, 에러 페이지 noindex, 트레일링 슬래시 404. 실제 블로그·쇼핑몰 검수에서 나온 것들을 증상→원인→막는 법으로 정리했다.
빙 웹마스터 등록 당일 URL 검사에서 "Indexing allowed: No"가 떴다. 크롤은 성공인데 색인만 불가 — 서버 문제가 아니라 색인 파이프라인이 아직 안 돈 것이다. 서버 탓인지 3분 만에 가리는 확인법을 정리했다.
네이버 서치어드바이저의 "소유확인 실패", "RSS 형식이 올바르지 않습니다", Bing의 "Feed url is not part of the site"의 실제 원인 — 등록 URL 불일치, 호스트가 바뀌는 301, Atom과 RSS 2.0의 차이, 호스트 단위 사이트 등록. 증상→원인→막는 법과 체크리스트로 정리했다.
Claude Code로 구현하고 Codex로 검증한 하루. AI가 만든 실수 5개와 기존 버그 6개를 원인·놓친 이유·막는 법으로 정리한 체크리스트.
웹폰트·CDN 없이 스크롤 없는 한 화면 명함 사이트를 만드는 방법. 컨테이너 쿼리 단위, dvh, 자간 보정, 알파 키잉, CSP 설정까지.