반응형 프로그래밍/AI8 AI는 7곳 중 1곳만 고치고 "완료"라고 한다 AI 페어 프로그래밍 AI는 7곳 중 1곳만 고치고 "완료"라고 한다 흩어진 계약을 다루는 법 핵심 요약 변경을 시키면 AI는 눈앞의 한 파일만 고치고 "완료"라고 한다. 컴파일도 되고, 그것이 본 테스트도 통과한다. 며칠 뒤, 건드리지도 않은 곳에서 터진다. 논리적으로 하나인 변경(필드 이름, 기능 제거)이 실제로는 여러 물리적 자리에 흩어져 산다 — 백엔드·프론트 타입·생성된 클라이언트·env 샘플·테스트·이벤트 스키마. 이게 계약(contract)이다. AI의 시야는 국소적이라 repo 전체에 퍼진 계약을 못 본다. 게다가 1곳을 고쳤든 7곳을 고쳤든 같은 자신감으로 "완료"라 한다. 대응 셋: ① 자리를 줄여라(단일 출처·codegen) ② 자리를 세라(계.. 2026. 6. 13. 어제 고친 버그를 오늘 또 만드는 AI — 컨텍스트 엔지니어링 AI 페어 프로그래밍 어제 고친 버그를 오늘 또 만드는 AI 기억이 리셋되는 천재 동료와 일하는 법 (컨텍스트 엔지니어링) 핵심 요약 AI는 매일 아침 기억이 리셋되는 뛰어난 동료와 같다 — 어제 함께 알아낸 걸 오늘은 하나도 기억하지 못한다(구조적 한계). 하필 무는 건 코드만 봐선 모르는 비자명한 함정이라, "다음엔 코드를 다시 읽으면 되지"가 안 통한다 — 그 지식은 코드 안에 없다. 그래서 내가 그 동료의 외장 기억이 되어준다 — 비자명한 함정을 풀 때마다 한 줄 적고, 그 파일을 모든 새 세션에 자동 주입. 이게 컨텍스트 엔지니어링이다. "항상 로드"와 "조건부 로드"를 나눠 노이즈를 관리하는 것까지가 기술이다... 2026. 6. 13. AI는 일단 막으려 한다 — 권한은 주고, 압력은 가격으로 AI 페어 프로그래밍 AI는 일단 막으려 한다 자원·과금 설계 — 권한은 주고, 압력은 가격으로 핵심 요약 컴퓨팅이 많이 드는 작업을 사용자가 직접 돌리는 SaaS에서 "자원 통제 어떻게 하지?"를 AI에게 물으면, 답은 거의 항상 제한이다. AI의 기본값은 "막을 수 있으면 막는다"인데, 인위적 제한은 오토스케일 아키텍처와 싸우고, 심지어 돈 내고 더 쓰려는 사용자(=매출)까지 거절한다. 유효한 제한은 셋뿐이다 — 단일 작업 크기 상한(sanity) · 잔액 · 클러스터 한계. 쿨다운·동시성 캡·횟수 quota는 군더더기다. 막는 대신 제출 시점에 비용을 잔액에서 예약(hold)하면, 동시성은 인위적 숫자가 아니라 잔액이 정한다. 권한은 주고, 압력은 가격으로... 2026. 6. 13. AI가 짠 테스트는 다 통과한다 — 그게 함정이다 AI 페어 프로그래밍 AI가 짠 테스트는 다 통과한다 — 그게 함정이다 AI에게 테스트를 맡길 때 알아야 할 것 핵심 요약 AI에게 "기능 + 테스트"를 시키면 테스트는 거의 항상 초록불로 돌아온다. 그런데 그 초록불은 생각보다 의미가 없다. AI는 "버그를 잡는 테스트"가 아니라 "통과하는 테스트"를 짜는 경향이 있다 — 코드와 테스트를 한 번에 만들면서, 테스트가 코드를 사후에 흉내 내기 때문이다(순환). 게다가 진짜 의존성(DB·외부 서비스)을 가짜(mock)로 갈아끼운다. 그래서 버그는 거의 항상 그 가짜로 치워버린 경계에 산다 — 코드와 실제 시스템이 만나는 자리. 대응 세 가지: ① 테스트를 먼저 쓴다(TDD) — 순환을 끊는다. ② 경계는 진짜로 테스.. 2026. 6. 13. 이전 1 2 다음 반응형