글
- meta · 2026-06-16 한 AI가 쓴 PR을 다른 AI가 리뷰하게 했더니 — 머지 전에 HIGH 결함 4개를 잡았다 redteam 0.3.0 사이클 동안, 한 AI가 쓴 PR을 다른-프로바이더 모델이 적대적으로 리뷰했다. 머지 전 real HIGH 결함 4개를 잡았고, 넷 다 같은 모양이었다 — ~95% 맞는데 보안 디테일 하나가 빠짐. 자기 코드를 리뷰하는 모델이 rubber-stamp하기 딱 좋은 종류다. 벤치마크가 아니라 프로젝트 자신의 merge log.
- infra · 2026-06-13 시크릿을 자가복구시키는 데 정작 중요했던 건 '도구'가 아니라 '어디서 도느냐'였다 삭제될 수 있는 쿠버네티스 pull-secret을 자가복구시키려다 '제대로 된 플랫폼 답'(External Secrets Operator)으로 직행할 뻔했다. operator의 한마디 'CI secret 쓰면 안 돼?'가 설계를 뒤집었다. 결정적인 건 도구의 정교함이 아니라, source와 reconcile 엔진이 둘 다 클러스터 밖에 있느냐였다.
- frontend · 2026-06-12 'global default OG면 안전하다'는 거짓말 — og:url과 canonical엔 기본값이 없다 Nuxt에 SEO baseline을 깔 때 쉽게 빠뜨리는 함정 — og:url과 canonical은 기본값이 의미 없는 필드다. global default만 깔면 모든 페이지가 root를 advertise하고, 검색엔진엔 'root가 정본'이라는 강한 신호를 줘 나머지가 색인에서 빠질 위험이 크다. per-page override는 필수. Codex가 grep 한 줄로 잡았다.
- frontend · 2026-06-11 온보딩이 매 로그인마다 다시 떴다 — '빠른 fix'가 틀린 이유와 진짜 원인(cold-load race) '온보딩을 skip해도 다음 로그인에 또 뜬다.' 1차 진단 '부모가 PATCH를 안 한다'대로 코딩했지만, 자식이 이미 PATCH 중이었다 — 리뷰가 잡았다. 진짜 원인은 cold-load race: Pinia가 $subscribe 콜백을 await하지 않아, 로그인 hydration이 fire-and-forget으로 돌며 gallery mount와 race한다.
- meta · 2026-06-10 한 줄씩 리뷰하는 게 직접 짜는 것보다 느렸다 — 에이전트 시대엔 실무자가 아니라 C레벨로 AI가 짠 코드를 한 줄씩 리뷰하다 멈칫했다 — 직접 짜는 것보다 느렸으니까. 모델이 약하던 시절엔 그 리뷰가 옳았다. 그런데 내 기준으로 모델이 시니어급을 넘은 뒤로는, 리뷰조차 에이전트끼리 교차하는 게 낫더라는 게 내 경험이다. 에이전트 시대의 자세는 IC가 아니라 C레벨이라는 게 이 글의 주장.
- meta · 2026-06-10 리뷰어가 '괜찮아 보여요'만 하면 무슨 소용인가 — 적대적 에이전트-페어 하네스 redteam 공개 두 번째 모델에게 코드 리뷰를 맡겨도 '괜찮아 보여요' 한마디면 고무도장이다. 오픈소스 하네스 redteam(v0.1.0)은 리뷰를 pass/fail이 아니라 티어드 발견(blocker/major/minor)으로 다루고, 살아남은 blocker를 재시도→rescue→사람으로 에스컬레이션한다. 한 모델이 쓰고, 다른 독립 모델이 적대적으로 검수한다.
- ml · 2026-06-09 벡터검색에서 리랭커를 뺐다 — '아기 사진 다 찾아줘'가 무너뜨린 가정 사진검색 스택에서 리랭커를 아예 뺐다. 계기는 '아기 사진 다 찾아줘' — 수천 장을 돌려줘야 하는 recall 문제인데 리랭커는 precision@k 도구라 벌크에 안 맞았다. 쿼리 타입 분기는 자연어 의도 추론 불가로 포기. 대신 Qwen3-VL-Embedding의 MRL로 저차원→고차원 2단계를 만들어 리랭커 없이 정밀도를 회복했다.
- meta · 2026-06-08 자가개선 루프는 이미 생겼다 — 그런데 닫히려면 누군가 '적어 넣어야' 한다 내가 쓰는 AI 도구가 내 불평을 알아서 배워 스스로 고치면 좋겠다 — 그렇게 물었다가 알게 된 것. 자가개선 루프는 이미 생겼다(교정이 스킬 지시문에 다시 써진다). 그런데 루프는 '교정이 포착될 때만' 닫히고, 그 capture는 여전히 수동이다. 어려운 건 'improve'가 아니라 늘 'capture→route'였다.
- backend · 2026-06-07 취소하고 환불하는 기능을 멱등하게 — 터미널 상태 전이는 맨 마지막에 비용이 드는 비동기 작업을 '전체 취소하고 환불'하려면, 크래시와 재시도 한가운데서도 이중환불도 고아 리소스도 안 생겨야 한다. 핵심 셋 — 환불은 아이템 단위 원자 트랜잭션, 정리는 마커 기준 재실행, 작업의 터미널 상태 전이는 맨 마지막에. 동시 행위자가 생기면 모든 전이는 조건부 UPDATE.
- meta · 2026-06-06 클릭으로 되는 건 전부 대화로도 돼야 한다 — 그런데 그걸 켜는 것부터 메뉴였다 AI 에이전트에게 '이전 대화 불러와'라고 했더니 'Settings에서 토글을 켜라'고 답했다. 대화형 회상 기능을 켜는 것부터 메뉴 다이빙. 산업은 recall을 대화형으로 만들어 패리티가 작동함을 증명했는데 정작 거기서 멈췄다 — 클릭으로 되는 모든 액션은 대화로도 돼야 한다는 '대화-패리티'와, 그 절반에서 멈춘 현실.