같은 날 API 키를 바꿨는데 임포트가 전부 504 — 범인은 gemini-pro-latest 별칭이었다

미리 3줄로 보면 증상: 낮까지 되던 AI 자료 임포트가 저녁부터 전부 504로 죽었습니다. 코드도 배포도 그대로 — 그날 바꾼 건 API 키뿐이라 키를 의심했어요 원인: 키는 무죄. gemini-pro-latest 별칭이 가리키는 모델이 바뀌어 같은 호출이 307초까지 걸렸고(고정 ID 모델은 15초), 함수 실행 제한 60초에 걸려 매번 죽은 것 해결: 모델을 별칭이 아닌 고정 ID로 박고, 생각 … 더 읽기

Claude Code 야간 자율 루프 — 자는 동안 AI가 PR 8건을 머지했습니다

미리 3줄로 보면 뭘 해결하나: 낮엔 AI에게 시킬 일이 밀려 있는데, 밤엔 PC가 놀고 있는 상황 — 밤을 작업 시간으로 바꿉니다 준비물: 지시서 파일 1개(금지 목록 + 규율 + 작업 목록), 루프 프롬프트 1개, 회차를 다시 띄우는 예약 1개. 오늘 밤 바로 됩니다 실제 결과: 하룻밤(03:00~09:30)에 자료 임포트 63건 실패 0, PR 8건 머지, 테스트 … 더 읽기

AI가 인용한 에러 로그, 어디에도 없었습니다 — 검수 2번을 통과한 할루시네이션 잡는 법

미리 3줄로 보면 증상: AI가 써준 글에 실제로는 존재하지 않는 에러 로그가 “로그에 이런 게 남습니다”라며 인용돼 있었습니다 원인: 검수를 “원천 자료와 다른 곳”만 찾게 시켰기 때문 — 원천에 아예 없는 그럴듯한 문장은 검사 대상 밖이었어요 해결: 사실만 보는 검수 전용 AI를 따로 두고, “글 속 모든 인용·수치의 출처를 표로 제출”을 의무로 만들었습니다 혹시 이런 … 더 읽기

OKF로 AI 비서의 지식베이스 구축하기

미리 3줄로 보면 하려던 것: AI 비서가 매번 다시 설명받지 않도록 지식베이스를 하나 구축하는 것 발견한 것: *”현황판(SSOT)”*이라 적어 둔 파일을 열었더니 표 한 칸이 5,000자였습니다. 두 달치 사건이 셀 하나에 퇴적돼 있었어요 배운 것: 수기로 관리하는 현황판은 손질하지 않으면 무너집니다. 제가 열어 본 두 곳이 그랬는데 모양이 달랐어요 — 한쪽은 이벤트를 단순 나열한 ‘연대기’가 … 더 읽기

maxDuration 300초 안에 AI를 네 번 부르기 — 앞 단계로 뒤 단계를 예측하려다 틀린 이야기

미리 3줄로 보면 증상: 서버리스 함수 안에서 AI를 여러 번 부르는데, 천장(300초)을 넘으면 이미 완성된 결과물까지 통째로 사라집니다 원인: *"뒤 단계는 앞 단계에 비례할 것"*이라 보고 예산을 잡았는데, 비례한다는 근거가 없었습니다(표본 13에서 상관 −0.30). 재보지도 않고 상수로 박았던 거예요 해결: 비례를 버리고 절대값으로 예약. 안전은 그대로인데 보정 승인이 10건 중 6건 → 9건으로 늘었습니다 딱따구리 … 더 읽기

AI가 짠 코드를 다른 AI에게 검수시키기 — Claude Code 서브에이전트로 만든 Critic 게이트

미리 3줄로 보면 문제: 방금 코드를 짠 AI에게 *”이거 괜찮아?”*라고 물으면 대체로 괜찮다고 합니다 방법: 생성 권한을 뺏은 별도 서브에이전트를 만들어 점수와 판정만 내게 한다. 정의 파일 42줄이면 끝 결과: 19번 돌렸고, 사람 눈으로는 못 잡을 결함을 잡았습니다 — 승인된 작업의 13.9%를 잘라내면서 그 대가로 얻는 안전은 0이던 코드 이런 문제 겪고 있다면 AI에게 코드를 … 더 읽기

이 폰트 내 블로그에 써도 되나 — 폰트 파일에서 라이선스를 직접 읽는 법

미리 3줄로 보면 문제: “무료 폰트”로 받아서 PC에 깔아 쓰는 것과, 내 웹사이트에 올려 방문자에게 내려보내는 것은 다른 이야기다 방법: 폰트 파일 안에 제작자가 남긴 신호가 두 군데 있다. PowerShell 하나로 읽을 수 있다 반전: 두 신호가 서로 반대로 가는 경우가 있어서, 하나만 보고 판단하면 양쪽 방향으로 다 틀린다 이런 상황이라면 블로그 폰트를 바꾸고 싶어서 … 더 읽기

코드베이스가 그래프로 보입니다 — codebase-memory-mcp의 숨은 화면 localhost:9749

코드베이스가 그래프로 보입니다 — codebase-memory-mcp의 숨은 화면 localhost:9749

미리 3줄로 보면 몰랐던 것: 이 MCP에는 브라우저로 여는 그래프 화면이 딸려 있다. 기본값이 켜짐이라 이미 돌고 있을 수도 있다 켜는 법: –ui=true –port=9749 후 브라우저로 localhost:9749 진짜 쓸모: 그래프보다 AI가 내 코드에 무엇을 물었는지 로그로 보이는 것이 컸다 이 도구에 화면이 있는 줄 몰랐습니다 지난 글에서 코드베이스를 통째로 색인해두는 MCP를 설치하고 쓰는 법을 정리했습니다. … 더 읽기

Codex CLI를 깔았더니 다른 MCP가 설치를 거부했습니다 — 권한 흔적이 남긴 함정

Codex CLI를 깔았더니 다른 MCP가 설치를 거부했습니다 — 권한 흔적이 남긴 함정

미리 3줄로 보면 증상: MCP 설치·실행이 secure CLI coordination could not be created 같은 알 수 없는 말로 죽는다 원인: 다른 AI 코딩 도구가 내 사용자 폴더에 쓰기 권한을 남겨뒀고, 이 도구는 그런 자리를 전부 거부한다 결말: 우회를 세 번 했지만 완주 못 했고, 업데이트를 시도하다 도구가 아예 사라졌습니다. 글을 쓴 뒤에 되살렸습니다 — 맨 … 더 읽기

코드에 없는 규칙이 실제 서버에서 돌고 있었습니다 — 내 계획의 전제가 통째로 틀렸던 날

코드에 없는 규칙이 실제 서버에서 돌고 있었습니다 — 내 계획의 전제가 통째로 틀렸던 날

수학 과외를 하면서 만든 학습 도구의 RLS 정책을 좁히던 중이었어요. 필요 이상으로 열려 있는 것 같아서 정리하려던 참이었죠. 그런데 좁은 정책 하나를 지우는 마이그레이션을 적용하고 나서도 접근이 줄지 않았고, 라이브 DB를 들여다보고서야 이유를 알았습니다. 제 마이그레이션 파일 어디에도 없는 정책이 실제 서버에서 돌고 있었거든요. 결국 계획을 버린 게 아니라, 회수 범위를 넓혀 한 번 더 … 더 읽기