본문 바로가기

거버넌스

EP.37 git push 검토 훅이 잘못된 폴더를 검사하던 버그, cd 명령 추적으로 해결한 기록 들어가며 · 이번 회차의 문제코드를 서버에 올리기 전에 자동으로 한 번 확인해 주는 작은 검사 도구가 있습니다. 이 글에서는 그 도구가 엉뚱한 폴더를 검사 대상으로 착각하던 문제를 어떻게 찾아 고쳤는지 실제 수정 기록을 정리합니다.결론부터 말하면, 명령어 안에 폴더를 옮기는 부분(cd)이 들어 있으면 도구가 그걸 따라가지 못해 처음 열려 있던 폴더를 기준으로 검사하고 있었습니다. 그래서 막아야 할 걸 통과시키고, 통과시켜도 될 걸 막는 일이 동시에 일어났습니다.먼저, 이 검사 도구가 하는 일용어를 하나만 풀어두겠습니다. 여기서 말하는 검사 도구는 코드를 원격 저장소에 올리는 순간 자동으로 실행되어 "이 올리기를 검토할지 말지"를 판단하는 프로그램입니다. 개발에서는 이런 자동 실행 프로그램을 흔히 훅(ho.. 더보기
AI가 검사자 역할을 할 때 절대 시키면 안 되는 네 가지 문제: 검사자가 작가로 변하는 순간AI로 글을 만드는 흔한 구조는 두 단계다. 한 모델이 초안을 쓰고, 다른 모델이 그 초안을 검사한다. 필자가 운영하는 콘텐츠 파이프라인도 이 형태다. 초안은 한 모델이 쓰고 검사는 다른 모델이 맡는, 초안자 ≠ 검사자라는 규칙을 지킨다.이 구조에서 가장 흔히 예상되는 실패는 검사자가 조용히 작가로 변하는 것이다. "이 문장이 어색하니 이렇게 고치는 게 낫다"며 통째로 다시 써서 돌려주는 경우다. 얼핏 친절해 보이지만 이건 검사가 아니라 재작성이다. 검사자가 재작성을 하면 그 결과물은 아무도 검사하지 않은 새 글이 되어버린다. 검사 단계 자체가 무력화된다.이 글은 필자가 docs/content-generation-contract.md라는 문서에 명문화한 "검사자가 절대 .. 더보기
AI에게 규칙을 지시서로 맡길 때와 훅으로 강제해야 할 때 문제: AI가 규칙을 '읽었다'고 지킨 게 아니다AI 코딩 에이전트에게 "push 전에는 반드시 검토해"라고 문서로 적어두면, 대부분의 경우 잘 지킨다. 그런데 '대부분'이 문제다. 컨텍스트가 길어지거나, 급한 작업이 끼거나, 프롬프트가 살짝 달라지면 같은 규칙도 건너뛴다. 문서는 부탁이지 강제가 아니기 때문이다.필자는 여러 레포를 한 AI 에이전트로 관리하면서 이 경계를 마주했다. 전 시스템 공통 규칙 체계를 만들고, 그 첫 규칙 RULE-001(push 전 필수 검토)을 '문서로 부탁할지, 훅으로 막을지' 판단해야 했다. 결론부터 말하면 두 방식은 서로 다른 층위이며, 섞어 쓰되 역할을 나눠야 한다.왜 문서만으로는 위험한가문서 기반 규칙의 약점은 두 가지다. 첫째, 확률적이다. LLM은 지시를 따를 .. 더보기
EP.20 콘텐츠 생성 계약: 초안 Claude, 검사 GPT 2단계 이번에 한 일: 2단계 생성 계약을 정본으로 만들다블로그(ai-blog-agent)와 쇼츠(coupang-shorts-agent)가 공통으로 참조할 '콘텐츠 생성 계약'을 docs/content-generation-contract.md에 정본으로 신설했다.핵심 구조는 단순하다. 초안은 Claude가 쓰고, 검사는 GPT가 하는 2단계 파이프라인이며, 여기에 하나의 불변식을 못 박았다. 바로 초안자 ≠ 검사자다.왜 계약이 필요했나: 멀티모델의 두 가지 위험멀티모델 파이프라인을 굴리면서 정리하게 된 위험은 크게 둘이었다.초안자의 할루시네이션 — 원문(실제 기록)에 없는 사실·수치·경험을 만들어내는 문제.검사자의 월권 — 검사자가 판정만 하지 않고 글을 재작성하거나 새로운 사실을 덧붙이는 문제.이 둘을 문장으.. 더보기
EP.18 AI 규칙, 문서로만 두면 안 지켜진다: 훅으로 강제하기 들어가며: 왜 문서만으로는 부족했나여러 레포에서 AI 에이전트와 협업하다 보면 "이렇게 하자"는 규칙이 쌓인다. 문제는 이 규칙이 문서에만 존재할 때다. 에이전트가 규칙을 읽고 따르길 기대하는 것과, 어겨도 실행 자체가 되지 않게 막는 것은 완전히 다른 층위의 문제였다.이번 작업의 목표는 두 가지였다. 첫째, 전 시스템 공통 규칙을 하나의 정본으로 관리해 드리프트(사본 간 불일치)를 막는 것. 둘째, 진짜 무조건 지켜야 하는 규칙 하나(RULE-001, push 전 필수 검토)를 결정적(deterministic) 훅으로 강제하는 것이다.규칙 정본은 한 곳에서만: 임포트 한 줄 전략규칙 정본은 ai-automation-control 레포의 rules/GLOBAL-RULES.md에서만 관리하기로 했다. 관리.. 더보기

반응형