AI 코딩 실패를 0%로 만드는 철학자 9인의 질문법과 온톨로지 설계
소크라테스 산파술부터 칸트의 선험적 비판까지, AI에게 코드를 맡기기 전 숨겨진 가정을 드러내고 완벽한 불변 스펙(Seed)을 정의하는 방법
💡 직관적 생활 비유: 집 짓기와 건축 설계도
건축주가 시공업자에게 "그냥 2층짜리 예쁜 전원주택 하나 지어주세요"라고만 말하면 어떤 집이 완성될까요?
건축 현장과 소프트웨어 개발의 공통점
📊 아키텍처 흐름도 및 4단계 의사결정 트리
명세 우선(Spec-First) AI 개발 파이프라인 흐름도
소프트웨어 기획 및 AI 프롬프트 작성 시 개념이 흔들리지 않도록 점검하는 4단계 사유 트리아지 의사결정 트리입니다.
철학적 질문 기반 4단계 의사결정 트리 (Triage Decision Tree)
개념 온톨로지 검증 (소크라테스)
"Task란 무엇인가?"처럼 시스템을 구성하는 핵심 객체의 정의와 수명 주기를 먼저 확정합니다.
제1원리 전제 분해 (데카르트)
관습적인 라이브러리 도입을 의심하고, 시스템의 절대적인 최소 필수 조건만 남깁니다.
모순 지양 및 합성 (헤겔 변증법)
속도와 안정성, 확장성과 단순성 사이의 기술적 충돌을 고차원 아키텍처로 합성합니다.
반증 가능성 수립 (칼 포퍼)
어떤 테스트가 실패하면 이 구현이 틀린 것인지 기계적 검증 기준(AC)을 명시합니다.
🧠 인류 역사상 최고의 지성 9인이 전하는 질문 프레임워크
• 1. 소크라테스 (산파술 & 반박법): "X란 무엇인가?"를 물어 상대방의 모순을 드러내고 개념의 참된 정의를 끌어냅니다.
• 2. 데카르트 (방법적 회의 & 제1원리): 조금이라도 의심할 여지가 있는 관행을 버리고 가장 확실한 기본 공리부터 다시 설계합니다.
• 3. 아리스토텔레스 (4원인설 & 범주론): 질료(데이터), 형상(인터페이스), 작용(로직), 목적(비즈니스 가치)으로 요구사항을 4분할합니다.
• 4. 칸트 (선험적 비판): "이 기능이 작동하기 위해 시스템 환경에 이미 갖춰져 있어야 할 전제조건은 무엇인가?"를 검증합니다.
• 5. 헤겔 (변증법적 정-반-합): 보안 vs 편의성 같은 모순적 요구를 만났을 때 회피하지 않고 상위 호환 아키텍처로 승화(합)시킵니다.
• 6. 후설 (현상학적 에포케): 기술적 선입견을 괄호 치고(판단 중지), 사용자가 겪는 고통의 순수한 본질만 직관합니다.
• 7. 비트겐슈타인 (언어게임): 단어의 사전적 의미 대신, 우리 프로젝트 팀의 실제 맥락 속에서 통용되는 유비쿼터스 언어를 정의합니다.
• 8. 퍼스 (가추법): 원인을 알 수 없는 버그와 이상 현상이 발생했을 때 가장 그럴듯한 최선의 가설을 수립합니다.
• 9. 칼 포퍼 (반증주의): "어떤 실패 결과가 나오면 이 구현을 실패로 판정할 것인가?"를 정의하여 완벽한 단위 테스트를 작성합니다.
🛠️ 실습: 터미널에서 소크라테스 인터뷰 실행하기
우로보로스 CLI를 사용해 단 한 줄로 소크라테스 인터뷰와 불변 스펙 생성을 진행할 수 있습니다.
# 1. 최초 1회 런타임 환경 설정
ooo setup
# 2. 소크라테스식 요구사항 인터뷰 시작
ooo interview "실시간 알림 기능이 있는 작업 관리 CLI"✕❌ 실패하는 AI 프롬프트 방식
- ✕구현 방법(How)부터 지시하여 AI가 엉뚱한 라이브러리를 설치하게 만듦
- ✕제약 사항과 하지 말아야 할 것(Non-goals)을 생략하여 범위가 끝없이 팽창함
- ✕완료 조건(성공 기준)이 모호하여 AI가 스스로 다 끝났다고 착각함
✓✅ 성공하는 명세 우선(Spec-First) 방식
- ✓본질(What)과 온톨로지를 먼저 질문하여 개념 정의를 좁힘
- ✓금지 사항과 제약 조건을 30% 이상의 가중치로 철저히 못 박음
- ✓기계적으로 테스트 가능한 단위 테스트/AC를 확정한 후 코딩을 시작함
이정마 에디터
AI Architecture Lead
AI 코딩이 실패하는 원인의 90%는 코딩 능력이 아니라 사람이 뭘 만들지 덜 정했기 때문입니다. 철학자들의 사유 프레임워크를 적용해 재작업을 원천 차단하는 방법을 전해드립니다.