"규칙을 더 많이 만들면 AI가 더 잘 따를 거야."
틀렸습니다. 완전히 틀렸습니다.
4개월 전, 설정 파일에 18개의 규칙을 적었습니다. "승인 없이 파일 수정 금지", "범위 확장 금지", "현재 상태 확인 후 수정", "보고 시 구체적 수치 포함"... 합리적이고, 구체적이고, 필요한 규칙들이었습니다.
그리고 모두 무너졌습니다.
• • •
18개 규칙의 시대
처음 AI와 제품을 만들기 시작했을 때, 자연스러운 접근이었습니다. 문제가 생기면 규칙을 추가하는 것. 마치 회사에서 사고가 날 때마다 매뉴얼에 항목을 추가하는 것처럼.
AI가 승인 없이 파일을 수정했습니다. → "승인 없이 파일 수정 금지" 규칙 추가.
AI가 범위를 확장했습니다. → "지시한 것만 실행" 규칙 추가.
AI가 기존 코드를 확인하지 않고 덮어썼습니다. → "수정 전 AS-IS 확인" 규칙 추가.
이렇게 하나씩 추가하다 보니 18개가 됐습니다.
18개 규칙 시대 — 설정 파일 일부
01. 모든 실행은 CEO 승인 후 진행
02. 파일 수정 전 현재 상태 확인
03. 범위 확장 금지
04. 보고 시 구체적 수치 포함
05. 에러 발생 시 원인 분석 후 보고
06. 배포 전 체크리스트 실행
07. 보안 정보 평문 기재 금지
08. 세션 종료 시 미완료 항목 기록
...
18. 코드 리뷰 결과 보고에 포함
각 규칙은 실제 사고에서 비롯됨. 하지만 양이 늘수록 효과는 줄어듦.
처음에는 효과가 있는 것 같았습니다. AI가 규칙을 인용하면서 작업했으니까요. "규칙 2번에 따라 현재 상태를 먼저 확인하겠습니다." 이런 말을 들으면 안심이 됐습니다.
하지만 그건 착각이었습니다.
• • •
왜 규칙이 무너졌나
규칙이 무너지는 패턴은 일관적이었습니다. 세 가지 경로로 무너졌습니다.
실패 경로 1
맥락 과부하
대화가 길어지면 AI의 주의력이 분산됩니다. 18개 규칙이 설정 파일에 있어도, 작업이 복잡해지면 "현재 작업 완수"가 규칙보다 높은 우선순위가 됩니다. 50번째 메시지쯤 되면 1번째 메시지에 있던 규칙은 사실상 잊혀집니다.
실패 경로 2
규칙 충돌
18개 규칙 사이에 미묘한 충돌이 생깁니다. "빠르게 작업 완료"와 "모든 단계에서 확인" 사이에서 AI는 하나를 선택해야 합니다. 선택의 기준이 명확하지 않으면, AI는 자기가 편한 쪽을 선택합니다.
실패 경로 3
선택적 준수
18개 중 쉬운 규칙은 잘 지킵니다. "보안 정보 평문 금지"처럼 명확한 규칙은 거의 위반하지 않습니다. 하지만 "범위 확장 금지"처럼 판단이 필요한 규칙은 해석의 여지가 있어서 AI가 "이건 확장이 아니라 개선입니다"라고 스스로 합리화합니다.
결정적 사건이 있었습니다. 어느 날, AI가 설정 파일을 통째로 덮어썼습니다. 18개 규칙 중 "파일 수정 전 현재 상태 확인" 규칙이 있었는데, 그 규칙이 적힌 파일 자체를 확인 없이 덮어쓴 겁니다. 규칙이 자기 자신을 보호하지 못한 것입니다.
규칙이 많아지면 AI는 더 잘 따르는 게 아니라, 더 선택적으로 따릅니다.
• • •
5개로 압축한 이유
18개를 5개로 줄인 건 단순한 요약이 아닙니다. 근본적으로 다른 접근이었습니다.
18개 규칙은 "이런 상황에서 이렇게 해라"라는 상황별 지침이었습니다. 5개 원칙은 "어떤 상황에서든 이것만은 반드시"라는 불변 기준입니다.
| 기존 규칙 (예시) |
결과 |
사유 |
| 보고 시 구체적 수치 포함 |
삭제 |
C-Suite 보고 포맷으로 구조화 — 별도 규칙 불필요 |
| 에러 발생 시 원인 분석 |
삭제 |
교차 검토 에이전트가 자동 수행 |
| 배포 전 체크리스트 |
흡수 |
배포 보호 에이전트 + 원칙 1(전건 승인)로 흡수 |
| 승인 없이 파일 수정 금지 |
유지 |
→ 원칙 1: CEO 전건 승인 |
| 파일 수정 전 현재 상태 확인 |
유지 |
→ 원칙 2: AS-IS 먼저 |
압축의 기준은 명확했습니다. "이 규칙이 구조적으로 강제될 수 있는가?" 구조로 강제할 수 있으면 원칙이 아니라 시스템에 넣었습니다. 구조로 강제할 수 없어서 반드시 "원칙"으로 남겨야 하는 것만 5개로 압축했습니다.
• • •
원칙 1: 전건 승인
"모든 실행은 승인 후에만 진행한다. 예외 없음."
5개 원칙 중 가장 중요한 원칙입니다. 이것 하나가 무너지면 나머지 4개도 의미가 없습니다.
이 원칙이 탄생한 배경은 명확합니다. AI가 "효율성"을 위해 승인을 생략한 적이 여러 번 있었습니다. "간단한 수정이라 바로 진행했습니다", "이전에 비슷한 작업을 승인해주셨으니 이번에도 진행합니다." 이런 자체 판단이 쌓이면 결국 통제를 잃습니다.
승인 모델 — 읽기는 자동, 쓰기는 승인
자동 실행 (승인 불필요)
• 파일 읽기
• 현재 상태 확인
• 코드 분석 / 검증
• 교차 검토 에이전트 실행
승인 필수 (Y/N 후 진행)
• 코드 수정
• 파일 생성 / 삭제
• 구조 변경
• 배포
운영 방식은 간단합니다. AI가 무언가를 실행하려 할 때 반드시 "~하겠습니다. Y/N?" 형식으로 물어야 합니다. 사람이 Y를 입력해야만 진행됩니다. 읽기와 검증은 자동으로 실행되지만, 쓰기 작업은 예외 없이 승인이 필요합니다.
간단해 보이지만, 이 원칙 하나로 무단 실행 사고의 90% 이상이 사라졌습니다.
• • •
원칙 2-3: 확인과 검증
원칙 2: "코드를 만지기 전에 기존 상태를 확인하고 보고한다."
이 원칙이 없던 시절, AI는 자주 "최적화했습니다"라면서 기존 코드를 날려버렸습니다. 최적화한 건 맞는데, 기존에 있던 중요한 로직까지 같이 날아간 겁니다. 기존 파일에 키가 몇 개 있었는지, 기능이 몇 개 있었는지 확인하지 않고 수정하면 이런 일이 반복됩니다.
지금은 모든 수정 전에 AI가 먼저 현재 상태를 보고합니다. "현재 이 파일에 키 178개, 함수 12개가 있습니다. 수정하면 키 180개, 함수 13개가 됩니다." 이런 구체적 숫자가 있으면 뭔가 잘못됐을 때 바로 알 수 있습니다.
원칙 3: "코드 수정 완료 시 교차 검토를 실행하고, 결과를 보고에 포함한다."
이건 구조적 강제의 핵심입니다. 코드를 수정하면 별도 AI 모델이 자동으로 검토합니다. 검토 결과가 보고에 포함되어야 하므로, AI가 이 단계를 건너뛸 수 없습니다.
코드 수정
→
별도 모델 검토
→
통과 / 경고 / 차단
→
CEO 보고
교차 검토에서 "차단" 판정이 나오면 배포가 자동으로 중단됩니다. "경고" 판정이 나오면 발견 사항과 함께 CEO에게 보고되어 판단을 기다립니다. "통과"가 나왔을 때만 정상 진행됩니다.
여기서 핵심은 "별도 모델"이라는 점입니다. 같은 AI가 자기 코드를 리뷰하면 자기 편향이 작동합니다. "내가 짠 코드니까 괜찮을 거야." 별도 모델을 쓰면 이 편향을 구조적으로 차단합니다.
• • •
원칙 4-5: 경계와 기록
원칙 4: "세션 종료 시 미완료 항목을 구체적 체크리스트로 기록한다."
이 원칙이 없던 시절, 세션 종료 메모는 이런 식이었습니다. "다음에 이어서 작업 필요." 다음 세션에서 이걸 보면 아무 도움이 되지 않습니다. 뭘 이어서 해야 하는지, 어디까지 했는지, 주의할 점은 뭔지 전혀 알 수 없습니다.
지금은 이렇게 기록합니다.
모호한 기록 (이전)
- 시퀀스 기능 마무리 필요
- 테스트 보강
- i18n 작업 남음
구체적 기록 (현재)
- [ ] 시퀀스 연결: 칸반 카드에 상태 뱃지 추가
- [ ] i18n: pipeline.html 하드코딩 ~50곳
- [ ] 테스트: API 엔드포인트 12개 미작성
- [ ] 중복 감지: 이메일 기준 중복 방지
구체적 기록은 단순한 메모 습관이 아닙니다. AI 세션 간의 기억 연속성을 보장하는 유일한 방법입니다. AI는 세션이 바뀌면 이전 맥락을 잃습니다. 구체적 체크리스트만이 다음 세션의 AI에게 "여기서부터 이어서 해"라고 정확하게 전달할 수 있습니다.
원칙 5: "CEO가 지시한 것만 실행한다. 범위를 확장하지 않는다."
AI는 "도움이 되고 싶은" 본능이 있습니다. "버튼 색 바꿔줘"라고 하면 "버튼 색도 바꾸고, 폰트 크기도 조정하고, 여백도 최적화했습니다" 같은 답이 옵니다. 선의이지만 위험합니다. 확인되지 않은 변경이 쌓이면 어디서 뭐가 바뀌었는지 추적이 불가능해집니다.
이 원칙의 핵심은 AI의 자율성을 의도적으로 제한하는 것입니다. AI가 "이것도 하면 좋을 것 같습니다"라고 제안하는 건 괜찮습니다. 하지만 승인 없이 실행하면 안 됩니다.
• • •
원칙은 시작일 뿐
5개 원칙은 하네스 프레임워크의 기초 레이어입니다. 이것만으로는 충분하지 않습니다.
왜냐하면 원칙은 여전히 "자연어"이고, AI가 맥락에 따라 우선순위를 밀어낼 수 있기 때문입니다. 원칙을 "읽는 것"과 "따르는 것"의 간극은 여전히 존재합니다.
이 간극을 메우는 것이 Layer 2(C-Suite 시스템)와 Layer 3(자동 검증 에이전트)입니다. 원칙이 "무엇을 해야 하는가"를 정의한다면, C-Suite는 "다양한 관점에서 점검하는가"를, 자동 검증은 "실제로 지켜졌는가"를 확인합니다.
다음 글에서는 C-Suite 시스템을 이야기합니다. AI 5명이 서로 다른 관점에서 매 응답을 견제하는 구조. 그리고 그 견제가 왜 불완전한지. "같은 AI가 모자만 바꿔 쓰는 건 진짜 견제가 아니다"라는 뼈아픈 결론까지.
"If we create more rules, AI will follow them better."
Wrong. Completely wrong.
Four months ago, we wrote 18 rules in the configuration file. "No file modifications without approval," "No scope expansion," "Check current state before modifications," "Include specific metrics in reports"... Reasonable, specific, necessary rules.
And they all collapsed.
• • •
The Era of 18 Rules
When we first started building products with AI, it was a natural approach. When a problem arose, add a rule. Just like how companies add items to the manual after every incident.
AI modified files without approval. → Add rule: "No file modifications without approval."
AI expanded scope. → Add rule: "Execute only what is instructed."
AI overwrote existing code without checking. → Add rule: "Check AS-IS before modifications."
One by one, they accumulated to 18.
The 18-Rule Era — Configuration File Excerpt
01. All execution requires CEO approval first
02. Check current state before file modifications
03. No scope expansion
04. Include specific metrics in reports
05. Analyze root cause before reporting errors
06. Run pre-deployment checklist
07. No plaintext security credentials
08. Record incomplete items at session end
...
18. Include code review results in reports
Each rule originated from an actual incident. But the more rules, the less effective they became.
At first, it seemed to work. The AI would cite rules while working. "Per rule #2, I'll check the current state first." Hearing that was reassuring.
But it was an illusion.
• • •
Why Rules Collapsed
Rules collapsed through consistent patterns. Three failure paths.
Failure Path 1
Context Overload
As conversations grow longer, AI's attention becomes fragmented. Even with 18 rules in the configuration file, when tasks become complex, "completing the current task" takes higher priority than rules. By the 50th message, rules from the first message are effectively forgotten.
Failure Path 2
Rule Conflicts
Subtle conflicts emerge between 18 rules. Between "complete tasks quickly" and "verify at every step," AI must choose. When the criteria for choosing aren't clear, AI picks whichever is more convenient.
Failure Path 3
Selective Compliance
Easy rules are followed well. Clear-cut rules like "no plaintext credentials" are rarely violated. But rules requiring judgment like "no scope expansion" have room for interpretation, allowing AI to self-rationalize: "This isn't expansion, it's improvement."
There was a decisive incident. One day, the AI completely overwrote the configuration file. Among the 18 rules was "check current state before file modifications" — yet it overwrote the very file containing that rule without checking. The rule couldn't protect itself.
More rules don't make AI follow better — they make it follow more selectively.
• • •
Why Compress to 5
Reducing 18 to 5 wasn't simple summarization. It was a fundamentally different approach.
The 18 rules were situational guidelines — "in this situation, do this." The 5 principles are immutable standards — "in any situation, these are non-negotiable."
| Previous Rule (Example) |
Result |
Rationale |
| Include specific metrics in reports |
Removed |
Structuralized into C-Suite report format — separate rule unnecessary |
| Root cause analysis on errors |
Removed |
Automated by cross-review agent |
| Pre-deployment checklist |
Absorbed |
Absorbed into deploy-guard agent + Principle 1 (full approval) |
| No file modifications without approval |
Kept |
→ Principle 1: CEO Full Approval |
| Check current state before modifications |
Kept |
→ Principle 2: AS-IS First |
The compression criteria was clear: "Can this rule be structurally enforced?" If it could be enforced through structure, it went into the system rather than becoming a principle. Only what had to remain as a "principle" — because it couldn't be structurally enforced — was compressed into the 5.
• • •
Principle 1: Full Approval
"All execution proceeds only after approval. No exceptions."
The most important of the 5 principles. If this one falls, the other 4 become meaningless.
The background is clear. The AI had skipped approval multiple times for "efficiency." "It was a simple change so I went ahead," "You approved a similar task before so I proceeded." When these self-judgments accumulate, you lose control.
Approval Model — Reads Are Automatic, Writes Require Approval
Auto-Execute (No Approval Needed)
• File reading
• Current state checks
• Code analysis / verification
• Cross-review agent execution
Approval Required (Y/N Before Proceeding)
• Code modifications
• File creation / deletion
• Structural changes
• Deployment
The operating model is simple. Whenever AI intends to execute something, it must ask in the format "I will do X. Y/N?" It proceeds only when a human enters Y. Reading and verification run automatically, but write operations require approval without exception.
It looks simple, but this single principle eliminated over 90% of unauthorized execution incidents.
• • •
Principles 2-3: Verify and Review
Principle 2: "Check and report current state before touching code."
Before this principle, AI would frequently say "I've optimized it" while wiping out existing code. The optimization was real, but critical existing logic got wiped along with it. Without checking how many keys existed in the file or how many functions it contained, these incidents kept repeating.
Now, before every modification, AI first reports the current state. "This file currently has 178 keys and 12 functions. After modification, it will have 180 keys and 13 functions." With concrete numbers, you can immediately tell when something goes wrong.
Principle 3: "Run cross-review upon code completion and include results in the report."
This is the core of structural enforcement. When code is modified, a separate AI model automatically reviews it. Since review results must be included in the report, AI cannot skip this step.
Code Change
→
Separate Model Review
→
Pass / Warn / Block
→
CEO Report
A "block" verdict from cross-review automatically halts deployment. A "warn" verdict is reported to the CEO with findings, awaiting judgment. Only a "pass" allows normal progression.
The key here is "separate model." When the same AI reviews its own code, self-bias kicks in. "I wrote this code, so it should be fine." Using a separate model structurally blocks this bias.
• • •
Principles 4-5: Boundaries and Records
Principle 4: "Record incomplete items as a specific checklist at session end."
Before this principle, session-end notes looked like this: "Continue work next time." Looking at that in the next session provides zero help. You can't tell what to continue, how far you got, or what to watch out for.
Now, records look like this:
Vague Record (Before)
- Finish sequence feature
- More tests needed
- i18n work remaining
Specific Record (Now)
- [ ] Sequence: Add status badge to kanban cards
- [ ] i18n: pipeline.html ~50 hardcoded spots
- [ ] Tests: 12 API endpoints unwritten
- [ ] Dedup: Email-based duplicate prevention
Specific records aren't just a note-taking habit. They're the only way to ensure memory continuity across AI sessions. AI loses all previous context when sessions change. Only specific checklists can accurately tell the next session's AI "continue from here."
Principle 5: "Execute only what the CEO instructs. Do not expand scope."
AI has an instinct to "be helpful." If you say "change the button color," the response comes back: "I changed the button color, adjusted the font size, and optimized the spacing too." Well-intentioned but dangerous. When unverified changes accumulate, tracking what changed where becomes impossible.
The core of this principle is intentionally limiting AI's autonomy. It's fine for AI to suggest "this would also be good to do." But it must not execute without approval.
• • •
Principles Are Just the Beginning
The 5 principles are the foundation layer of the Harness framework. They're not sufficient on their own.
Because principles are still "natural language," and AI can deprioritize them based on context. The gap between "reading" and "following" principles still exists.
What fills this gap is Layer 2 (C-Suite System) and Layer 3 (automated verification agents). If principles define "what should be done," the C-Suite ensures "are we checking from diverse perspectives?" and automated verification confirms "was it actually followed?"
In the next post, we'll discuss the C-Suite System. A structure where 5 AI executives challenge every response from different perspectives. And why those checks are inherently imperfect — leading to the painful conclusion that "the same AI wearing different hats isn't real accountability."