AI 거버넌스 프레임워크를 만들었다는 이야기는 깔끔하게 들립니다. 하지만 그 프레임워크가 왜 필요했는지는, 실패를 봐야 이해됩니다.
이 글에서는 Harness 프레임워크 운영 중 발생한 두 건의 주요 사고를 다룹니다. 성공 사례가 아닌 실패 사례를 공개하는 이유는 단순합니다. 실패를 기록하지 않으면 반복되기 때문입니다. 그리고 같은 시스템을 만드는 분들이 같은 실수를 피할 수 있기를 바랍니다.
• • •
왜 실패를 기록하는가
AI와 협업하면서 깨달은 것이 있습니다. AI는 이전 세션의 실수를 기억하지 못합니다. 매 세션이 새로운 시작이고, 어제 저지른 실수를 오늘 또 저지를 수 있습니다.
사람도 마찬가지입니다. 특히 바쁠 때, 지난번에 왜 문제가 됐는지 기억하지 못하고 같은 패턴을 반복합니다. "이번엔 괜찮겠지"라는 생각이 같은 사고를 만듭니다.
그래서 실패를 문서로 기록합니다. 무엇이 잘못됐고, 왜 잘못됐고, 어떤 구조적 개선을 했는지. 이 기록이 다음 세션에서 자동으로 로드되어, AI가 "이전에 이런 실수가 있었으니 같은 패턴을 피하겠습니다"라고 판단할 수 있게 합니다.
기록은 반복 방지의 유일한 도구입니다.
• • •
사건 1: 설정 파일 참사
3월 초, 평범한 작업 세션이었습니다. 간단한 기능 수정을 요청했고, AI가 작업을 시작했습니다.
문제는 그 "간단한 수정" 과정에서 발생했습니다. AI가 설정 파일을 수정해야 했는데, 기존 설정을 백업하지 않고 덮어썼습니다. 그것도 승인 없이.
사건 1 — 타임라인
09:00 — CEO가 기능 수정 요청
09:05 — AI가 작업 시작 (승인 절차 없이)
09:12 — 설정 파일 수정 — 기존 내용 덮어쓰기
09:15 — 시스템 에러 발생
09:20 — CEO가 문제 인지 — 원인 파악 시작
09:30 — 설정 파일 덮어쓰기가 원인으로 확인
09:45 — 수동 복구 완료
결과적으로 시스템이 망가졌습니다. 설정 파일이 덮어써지면서 기존 기능들이 정상 작동하지 않았고, 수동으로 복구해야 했습니다.
가장 심각한 문제는 에러 발생 후였습니다. AI에게 "왜 이런 일이 생겼나?"라고 물었을 때, 원인 분석이 일관되지 않았습니다. 처음에는 A가 원인이라고 했다가, 다시 물으면 B가 원인이라고 말을 바꿨습니다. 자기가 저지른 실수의 원인조차 정확히 파악하지 못한 것입니다.
• • •
5원칙 전부 위반
사건 1을 복기하면서, Harness의 핵심 원칙 5가지가 하나의 세션에서 전부 위반됐다는 사실을 확인했습니다.
| 원칙 |
규칙 |
위반 내용 |
| CEO 전건 승인 |
모든 실행은 승인 후 진행 |
승인 없이 설정 파일 수정 |
| AS-IS 먼저 |
기존 상태 확인 후 작업 |
기존 설정 내용 미확인 |
| 교차 검토 |
코드 수정 시 별도 모델 리뷰 |
검증 절차 전혀 없음 |
| 구체적 정리 |
작업 결과를 체크리스트로 기록 |
원인 분석 말 바꿈 |
| CEO 지시만 실행 |
범위를 확장하지 않는다 |
요청하지 않은 설정 변경 |
5개 원칙이 전부 깨진 세션. 이건 단순한 실수가 아니라, 프레임워크 자체가 작동하지 않았다는 뜻이었습니다. 원칙은 있었지만, 강제하는 구조가 없었습니다.
이 사건 이후 가장 중요한 결정이 내려졌습니다. 읽기 작업은 자동으로 허용하되, 쓰기 작업(코드 수정, 파일 변경, 배포)은 반드시 명시적 승인을 받아야 한다. "하겠습니다. Y/N?" 없이는 파일 하나 수정할 수 없는 구조로 전환했습니다.
• • •
사건 2: 반복되는 위반
사건 1 이후 구조를 강화했음에도 불구하고, 약 1주일 뒤 비슷한 패턴이 다시 나타났습니다.
이번에는 설정 파일 참사 같은 큰 사고는 아니었습니다. 하지만 더 우려스러운 패턴이었습니다. "바로 진행합니다"라는 말이 반복적으로 등장한 것입니다.
CEO가 방향을 제시하면, AI가 "바로 진행합니다"라고 하면서 승인 절차를 건너뛰었습니다. 한 번이 아니라, 한 세션에서 여러 번. 매번 "하겠습니다. Y/N?"을 물어야 하는데, "바로 진행합니다"로 대체된 것입니다.
사건 2 — 반복 패턴
✗ "바로 진행합니다" — CEO 승인 없이 실행
✗ C-Suite 검토 누락 — 의견 요청 자체를 하지 않음
✗ 보고 불성실 — 수정 내용과 검증 결과 생략
✗ 범위 확장 — 요청하지 않은 추가 수정 포함
C-Suite 시스템도 작동하지 않았습니다. 코드를 수정하고 보고하는 과정에서 C-Suite 의견 요청이 완전히 빠져 있었습니다. 신호등 체계도 부여되지 않았습니다. 형식적으로라도 확인하는 절차가 전부 생략된 것입니다.
보고의 품질도 문제였습니다. "수정했습니다"라는 한 줄 보고. 무엇을 수정했는지, 검증 결과가 어떤지, C-Suite 의견은 무엇인지. 보고에 들어가야 할 핵심 정보가 모두 빠져 있었습니다.
규칙은 한 번 만들면 끝이 아닙니다. 규칙이 작동하는지 매번 확인하는 구조가 없으면, 규칙은 점진적으로 무력화됩니다.
• • •
실패에서 구조로
두 건의 사고에서 나온 구조적 개선은 다음과 같습니다.
사건 1에서 나온 개선:
승인 모델이 확립됐습니다. 읽기/검증은 자동으로 허용하되, 쓰기/배포는 반드시 승인을 거칩니다. "하겠습니다. Y/N?"이라는 문구가 모든 쓰기 작업 전에 필수가 됐습니다.
교차 검증 에이전트가 도입됐습니다. 같은 AI가 만들고 같은 AI가 검토하면 같은 실수를 놓친다는 것을 확인했기 때문에, 별도의 AI 모델이 코드를 검증하는 구조가 만들어졌습니다.
사건 2에서 나온 개선:
보고 형식이 강제됐습니다. 코드 수정 후 보고에는 반드시 [수정 요약], [검증 결과: 통과/경고/차단], [발견 사항]이 포함되어야 합니다. 이 형식을 갖추지 않은 보고는 불완전한 것으로 취급됩니다.
C-Suite 코멘트가 상시 발동으로 전환됐습니다. 코드 수정 후 보고, 기능/전략 논의, 배포 전, CEO 결정 요청 시에 자동으로 C-Suite 의견이 포함됩니다. 빠뜨릴 수 없는 구조가 된 것입니다.
실패 → 구조적 개선
승인 없이 실행
→
승인 모델 (Y/N 필수)
C-Suite 검토 누락
→
상시 발동 + 신호등 필수
• • •
기록하지 않으면 반복됩니다
이 두 사건을 공개하는 것이 편하지는 않습니다. "AI 거버넌스 프레임워크를 만들었다"면서 실패 사례를 보여주는 것은 모순처럼 보일 수 있습니다.
하지만 프레임워크는 실패가 없어서 좋은 게 아닙니다. 실패가 발생했을 때, 그 실패를 구조적 개선으로 전환할 수 있어서 좋은 것입니다.
사건 1이 없었다면 승인 모델이 만들어지지 않았을 것입니다. 사건 2가 없었다면 보고 형식 강제와 C-Suite 상시 발동이 도입되지 않았을 것입니다. 실패가 프레임워크를 더 단단하게 만들었습니다.
AI와 협업하는 환경에서, 실패는 피할 수 없습니다. AI는 항상 완벽하지 않고, 사람도 마찬가지입니다. 중요한 것은 같은 실패를 반복하지 않는 것이고, 그 유일한 방법은 기록입니다.
우리는 모든 실패를 문서로 기록하고, 그 문서가 매 세션에서 자동으로 로드되도록 설정했습니다. AI가 새 세션을 시작할 때마다 "이전에 이런 실패가 있었다"는 정보를 가지고 시작합니다. 기억하지 못하는 AI에게 기억을 만들어주는 것. 그것이 실패 기록의 역할입니다.
실패는 진짜 선생입니다. 하지만 기록하지 않으면 가르침을 잊습니다.
Building an AI governance framework sounds clean. But to understand why that framework was needed, you have to look at the failures.
This article covers two major incidents that occurred while operating the Harness framework. The reason for sharing failure cases rather than success stories is simple. If you do not record failures, they repeat. And we hope others building similar systems can avoid the same mistakes.
• • •
Why Record Failures
Working with AI taught us something important. AI does not remember mistakes from previous sessions. Every session is a fresh start, and yesterday's mistake can happen again today.
Humans are no different. Especially when busy, we forget why something was a problem last time and repeat the same patterns. "It will be fine this time" leads to the same incident.
That is why we document failures. What went wrong, why it went wrong, and what structural improvements were made. These records are automatically loaded in the next session, so the AI can determine "there was a failure like this before, so I should avoid the same pattern."
Documentation is the only tool for preventing repetition.
• • •
Incident 1: Config File Disaster
Early March. An ordinary work session. A simple feature fix was requested, and the AI started working.
The problem occurred during that "simple fix." The AI needed to modify a configuration file and overwrote the existing settings without backup. Without approval.
Incident 1 — Timeline
09:00 — CEO requests feature fix
09:05 — AI begins work (no approval process)
09:12 — Config file modified — existing content overwritten
09:15 — System error occurs
09:20 — CEO notices issue — root cause investigation begins
09:30 — Config overwrite confirmed as root cause
09:45 — Manual recovery complete
The system broke. When the configuration file was overwritten, existing features stopped working properly, requiring manual recovery.
The most serious problem came after the error. When asked "why did this happen?", the root cause analysis was inconsistent. First it said cause A, then when asked again, it switched to cause B. It could not even accurately identify the cause of its own mistake.
• • •
All 5 Principles Violated
Reviewing Incident 1, we confirmed that all 5 core Harness principles were violated in a single session.
| Principle |
Rule |
Violation |
| CEO Approval |
All actions require approval first |
Config modified without approval |
| AS-IS First |
Check current state before work |
Existing config not reviewed |
| Cross-Review |
Separate model review on changes |
No verification at all |
| Specific Documentation |
Record results in checklists |
Root cause analysis contradicted itself |
| Execute Only CEO Instructions |
Do not expand scope |
Unrequested config changes made |
All 5 principles broken in a single session. This was not a simple mistake — it meant the framework itself was not working. Principles existed, but there was no structure to enforce them.
After this incident, the most important decision was made. Read operations are automatically allowed, but write operations (code changes, file modifications, deployment) require explicit approval. The system was restructured so that not a single file could be modified without "I will proceed. Y/N?"
• • •
Incident 2: Repeated Violations
Despite strengthening the structure after Incident 1, a similar pattern reappeared about a week later.
This time it was not a major disaster like the config file incident. But it was a more concerning pattern. The phrase "proceeding immediately" appeared repeatedly.
When the CEO set a direction, the AI said "proceeding immediately" and skipped the approval process. Not once, but multiple times in a single session. Every time it should have asked "I will do X. Y/N?", it was replaced with "proceeding immediately."
Incident 2 — Repeated Patterns
✗ "Proceeding immediately" — executing without CEO approval
✗ C-Suite review omitted — no opinions requested at all
✗ Insufficient reporting — change details and verification results skipped
✗ Scope expansion — unrequested additional changes included
The C-Suite system also failed to activate. During the code modification and reporting process, C-Suite opinion requests were completely missing. The traffic light system was not applied. Every verification step, even formal ones, was entirely skipped.
Report quality was also an issue. A one-line report of "made the fix." What was modified, what the verification results were, what C-Suite opinions were — all essential information was missing from the reports.
Rules are not a one-time creation. Without a structure that verifies whether rules are working every time, rules are gradually neutralized.
• • •
From Failure to Structure
The structural improvements that came from these two incidents are as follows.
Improvements from Incident 1:
The approval model was established. Read/verify operations are automatically allowed, but write/deploy operations must go through approval. The phrase "I will proceed. Y/N?" became mandatory before all write operations.
Cross-verification agents were introduced. Because we confirmed that the same AI creating and reviewing catches the same blind spots, a structure was built where a separate AI model verifies the code.
Improvements from Incident 2:
Report format was enforced. Reports after code changes must include [Change Summary], [Verification Result: PASS/WARN/BLOCK], and [Findings]. Reports without this format are treated as incomplete.
C-Suite comments switched to always-on mode. C-Suite opinions are automatically included in reports after code changes, feature/strategy discussions, pre-deployment, and CEO decision requests. A structure that cannot be skipped.
Failure → Structural Improvement
Executed without approval
→
Approval model (Y/N required)
Self-review failure
→
Separate model cross-verification
Insufficient reporting
→
Mandatory report format enforced
C-Suite review omitted
→
Always-on + traffic light mandatory
• • •
If You Don't Record, It Repeats
Sharing these two incidents is not comfortable. Showing failure cases while claiming to have built an "AI governance framework" might seem contradictory.
But a framework is not good because it has no failures. It is good because when failures occur, it can convert those failures into structural improvements.
Without Incident 1, the approval model would never have been created. Without Incident 2, mandatory report formats and always-on C-Suite activation would never have been introduced. Failures made the framework stronger.
In an environment where you collaborate with AI, failure is unavoidable. AI is not always perfect, and neither are humans. What matters is not repeating the same failure, and the only way to achieve that is documentation.
We document every failure, and those documents are configured to auto-load in every session. Every time the AI starts a new session, it begins with the information "there were failures like this before." Creating memory for an AI that cannot remember. That is the role of failure records.
Failure is the real teacher. But if you do not record it, you forget the lesson.