본문으로 건너뛰기
brandon@moba: ~/whoami
brandon@moba:~$ whoami --verbose

프로덕션 시스템을 만드는 백엔드 엔지니어입니다. 영화를 전공하다 엔지니어가 되었고, 지금은 Moba에서 백엔드를 리드하고 있어요. 이 블로그엔 그동안 배운 것들을 기록합니다.

동기화한 이벤트
7M
발행한 글
167
폴리글랏 서비스
6
이중 언어 기록
EN/KR
#

프로젝트

ai-ml

Claude, Copilot, Codex가 PR에서 보이는 13가지 패턴

Claude, Copilot, Codex가 PR에서 동작하는 열세 가지 방식 — 열 가지 실패 유형 + 두 가지 amplify할 productive behavior + 한 가지 analyst-side error class. 탐지 신호와 사실관계 충돌을 해결하는 empirical tiebreaker까지 정리했어요.

ai-ml

Claude Code Agent Teams를 실제 작업에 쓰며 배운 점

Agent Teams의 현재 동작과 version별 pane 문제, 작업 소유권, 결과 전달 실패를 구분해서 정리한 사용 기록이에요.

ai-ml

Codex `apply_patch` 훅: 매처는 걸리는데 페이로드가 달라요

2026-09-20 정정. Codex 훅은 `apply_patch`를 도구로 보고, `Edit|Write` 매처도 거기에 닿아요. 재사용한 Claude 훅을 깨뜨리는 건 페이로드예요. 파일 경로 대신 패치 텍스트가 오고, 한 번의 호출이 여러 파일을 건드려요.

devops

AI PR 리뷰 검증 패턴

AI 코드 리뷰어(Claude, Copilot, Codex)가 오탐을 만드는 15가지 패턴과, triage를 빠르게 유지하는 분류 프레임워크 + 보강 주석 템플릿.

devops

Claude Code: 공유 + 개인 AI 설정 패턴

AI 지시사항을 커밋되는 공유 레이어와 gitignore되는 개인 레이어로 분리해서 새 개발자는 즉시 AI 지시사항을 사용하고 기존 개발자는 개인 확장을 유지하는 패턴입니다.

devops

pre-commit hook race가 내 파일을 남의 커밋에 집어넣은 사건

한 저장소에 커밋하는 두 세션, 느린 pre-commit hook, 그리고 `fatal: cannot lock ref HEAD`. 시끄러운 실패는 쉬운 쪽이에요 — 조용한 실패는 내 staged 파일을 다른 세션의 커밋에 그쪽 메시지로 넘겨버려요.

general

Markdownlint 컨벤션 가이드

200개 markdown 파일에서 쏟아진 markdownlint 에러 7,500개. 어떤 룰이 중요했는지, 어떤 설정이 끝까지 남았는지, nested scope에서만 드러나는 pre-commit 함정 두 가지, 줄바꿈된 issue 참조가 헤딩이 돼버리는 사례, 그리고 18개짜리 custom config를 extends 한 줄과 carve-out 다섯 개로 줄인 strict-preset 마이그레이션 이야기예요.

devops

Anthropic Prompt Cache TTL과 비용 메커니즘

Anthropic이 2026년 3월 초쯤 Claude Code의 prompt cache TTL을 1시간에서 5분으로 조용히 줄였어요. 이걸 모르면 메시지 사이에 5분 이상 비는 순간 cache가 날아가고, 다음 메시지에 전체 conversation prefix를 처음부터 다시 써야 해요. 기본 입력 단가의 1.25배짜리 비용으로요.

devops

Serena MCP — Claude Code 다중 프로필 설정 (cpers/cwork)

Claude Code 이중 프로필 환경(cpers/cwork)과 Codex에 Serena MCP server를 설치하는 전체 절차. 권장 hook 4개, system-prompt 교체, 그리고 설치 도구가 기본 ~/.claude.json에만 쓰고 프로필별 저장소는 놓치는 함정까지 다뤄요.

ai-ml

Gemini 비대칭 Embedding 활용하기

Query와 document를 다르게 인코딩하면 검색 품질이 좋아져요. Gemini는 이걸 task_type 파라미터로 표현했고, 새 모델에서는 같은 아이디어가 prompt 안으로 옮겨갔어요.

enko