AI에게 "완료했습니다"를 금지시킨 날

2026. 6. 12. 17:42인스퍼레이션

발단 — 출근길 유튜브가 또 일을 만들었다

아침 6시 40분, 출근길이었다. 유튜브 알고리즘이 영상 하나를 들이밀었다. 클로드를 만든 앤트로픽의 개발자들은 이제 프롬프트를 거의 안 쓴다는 이야기였다.

기분이 묘했다. 나는 프롬프트에 꽤 집착한 편이었다. "좋은 프롬프트 백선" 같은 걸 북마크에 모아두던 시절이 있었다. 회사에서 엑셀 수식 짜듯이, 프롬프트도 잘 깎으면 결과가 좋아진다고 믿었다. 그런데 정작 만든 사람들은 안 쓴다니. 보리스 천이라는 개발자는 이렇게 말했다고 한다. "클로드가 스스로 프롬프트하게 내버려 둔다." 영어로는 더 무책임하게 들린다. Let him cook. 그냥 요리하게 놔둬라.

50대 직장인의 직감으로는 이게 방임처럼 들린다. 신입에게 "알아서 해봐" 하고 퇴근하는 부장 같은. 그런데 영상을 끝까지 보니 정반대였다. 프롬프트가 사라진 게 아니라, 채팅창의 한 줄 명령에서 시스템 안으로 들어갔다는 얘기였다. 매번 "이 파일 고쳐줘, 아니 그거 말고"라고 리모컨을 누르는 대신, 처음에 이렇게 정해두는 것이다. 이 기준을 통과하기 전까지는 완료라고 말하지 마라. 실패하면 원인을 분석하고 다시 고쳐라. 끝나면 증거를 제출하라.

이름하여 루프. 프롬프트가 명령어였다면 루프는 작업 감독관이다.

지하철에서 내릴 때쯤 이미 결심이 서 있었다. 이건 내 에이전트 생태계의 뼈대가 된다.

내용 — 그래서 하루 만에 법전을 만들었다

고백하자면 나에게는 이미 헌법이 있다. AGENT_CONSTITUTION.md라는 490줄짜리 문서다. 한 회사 부장이 퇴근 후에 AI 에이전트용 헌법을 만들고 있다는 사실을 회사 사람들은 모른다. 모르는 편이 낫다.

문제는 그 헌법이 "어떻게 일하는가"만 정의하고 있었다는 점이다. "언제 끝났는가"는 빈칸이었다. 그리고 AI 개발에서 가장 위험한 문장이 바로 그 빈칸에서 나온다.

"구현 완료했습니다."

이 말을 믿고 열어보면 일정 생성은 되는데 수정이 안 된다. 테스트는 통과했는데 사용자 흐름이 어딘가 부자연스럽다. AI가 바보라서가 아니다. 문제를 한 번에 너무 좁게 보기 때문이다. 태스크를 주면 태스크만 보고, 테스트가 초록불이면 끝났다고 생각한다. 제품은 PRD와 사용자 흐름과 DB와 화면이 서로 맞아야 완성되는데 말이다.

그래서 LOOP_FRAMEWORK.md를 만들었다. 헌법의 자매문서다. 내용은 다섯 개의 레고 블록이다. 모듈 A는 필수통과 — 빌드, 테스트, 그리고 보안 키 노출 검사. 80점이면 통과 같은 건 없다. 하나라도 실패하면 끝난 게 아니다. (보안 키 항목은 내 .env 사고 이력이 만든 조항이다. 흉터로 쓴 법이 제일 안 지워진다.) 모듈 B는 숫자 측정, 모듈 C는 점수 평가다. 단 C에는 형식 강제가 붙는다. AI는 자기가 한 일에 후한 점수를 준다. 이건 인간만 그런 줄 알았는데 AI도 은근히 그렇다. 그래서 점수 뒤에 반드시 근거와 수정액션을 쓰게 했다. 모듈 D는 운영 감시 — PR이 열렸는지, CI가 도는지 새로고침하던 내 시간을 위임하는 루프다. 그리고 모듈 E, 경계선. 린트 오류쯤은 알아서 고치되 DB 스키마나 보안을 건드릴 땐 반드시 멈추고 나를 부르게 했다. 이 경계가 없으면 루프가 아니라 사고 제조기가 된다. 파스타 만들라고 했더니 수도관을 뜯고 있는 사태를 막아야 한다.

물론 모든 작업에 이 풀세트를 끼우는 건 과잉이다. 간단한 리뷰 대화에 증거 보고서를 요구하는 건, 점심 메뉴 정하는데 품의서 올리라는 격이다. 그래서 레벨을 만들었다. L0은 대화 — 루프 없음. L1은 스크립트, L2는 코딩, L3은 시스템 설계 — 전 모듈. 각 프로젝트의 CLAUDE.md 머리에 선언 한 줄만 붙이면 켜지고, 없으면 꺼진다.

저녁에는 폴더 루트에 공통 CLAUDE.md를 깔아서 하위 에이전트 전체가 자동으로 이 체계를 상속받게 배선까지 마쳤다. 하루가 갔다. 회사 일보다 퇴근 후 일이 더 체계적이라는 게 이 글의 첫 번째 자기반성이다.

 

 

앞으로 — 예상되는 개선 방향

내일은 헌법 V2.1 회고일이다. 원래 패치 후보가 세 개 있었는데, 루프와 겹치는 지점이 있어서 안건이 자연스럽게 묶였다. 헌법에는 딱 두 줄만 넣기로 했다. LOOP를 자매문서로 인정한다는 것, 그리고 충돌 시 인간을 부르는 쪽이 항상 이긴다는 것. 나머지는 설정 파일이 이미 하고 있다. 법은 짧을수록 좋다는 걸 회사 규정집 읽다가 배웠다.

다음 주에는 첫 실전 테스트가 잡혀 있다. 마케팅 에이전트 재검증에 L2를 선언하고 돌려본다. 거기서 나올 숙제들이 대충 보인다. 재시도 3회 한도가 적정한지 — 같은 곳에서 세 번 막히면 AI가 헛바퀴를 도는 신호라고 정해뒀는데, 두 번이 맞을지 다섯 번이 맞을지는 데이터가 말해줄 것이다. 그리고 버전 드리프트. 프레임워크 파일을 다른 폴더에 복사하고 싶은 유혹이 벌써 든다. 복사하는 순간 구버전이 사방에 번식한다는 걸 알면서도 그렇다. 원본은 하나, 나머지는 경로 참조. 이 원칙이 얼마나 버틸지가 관전 포인트다.

정작 중요한 것은

루프도, 모듈도, 레벨도 아니다.

정작 중요한 것은 증거다.

이 글을 쓰다가 깨달았는데, 나는 AI에게 새로운 걸 요구한 게 아니었다. 회사에서 25년간 주고받은 것을 그대로 옮겼을 뿐이다. "다 했습니다"라는 보고를 받으면 나는 늘 물었다. 뭘 기준으로? 고객 확인은? 수치는 어디 있고? 그리고 나도 똑같이 당했다. 위에다 "완료했습니다"라고 올렸다가 증거가 없어서 다시 까인 날들이 쌓여서 지금의 내가 됐다.

AI에게 "완료했습니다"를 금지시켰더니, 그 말을 제일 못 쓰는 사람이 나였다.