Spec-First AI Harness 가이드·약 7분 내외

AI 코딩 실패를 0%로 만드는 철학자 9인의 질문법과 온톨로지 설계

소크라테스 산파술부터 칸트의 선험적 비판까지, AI에게 코드를 맡기기 전 숨겨진 가정을 드러내고 완벽한 불변 스펙(Seed)을 정의하는 방법

💡 직관적 생활 비유: 집 짓기와 건축 설계도

건축주가 시공업자에게 "그냥 2층짜리 예쁜 전원주택 하나 지어주세요"라고만 말하면 어떤 집이 완성될까요?

건축 현장과 소프트웨어 개발의 공통점

**미숙한 시공자**: 묻지도 않고 바로 벽돌을 쌓기 시작하다가 나중에 방 구조가 마음에 안 든다며 집을 부수고 다시 짓습니다.

**노련한 건축가**: 벽돌을 쌓기 전 며칠 동안 집요하게 질문합니다. "식구는 몇 명인가요?", "주차 공간은 필요한가요?", "지진 대비 내진 설계는 넣을까요?"

코드를 한 줄도 작성하기 전에 숨겨진 가정을 모조리 털어내는 것, 이것이 바로 **소크라테스식 질문(Socratic Interview)**입니다.

📊 아키텍처 흐름도 및 4단계 의사결정 트리

명세 우선(Spec-First) AI 개발 파이프라인 흐름도

다이어그램 렌더링 중...

소프트웨어 기획 및 AI 프롬프트 작성 시 개념이 흔들리지 않도록 점검하는 4단계 사유 트리아지 의사결정 트리입니다.

철학적 질문 기반 4단계 의사결정 트리 (Triage Decision Tree)

다이어그램 렌더링 중...
01

개념 온톨로지 검증 (소크라테스)

"Task란 무엇인가?"처럼 시스템을 구성하는 핵심 객체의 정의와 수명 주기를 먼저 확정합니다.

02

제1원리 전제 분해 (데카르트)

관습적인 라이브러리 도입을 의심하고, 시스템의 절대적인 최소 필수 조건만 남깁니다.

03

모순 지양 및 합성 (헤겔 변증법)

속도와 안정성, 확장성과 단순성 사이의 기술적 충돌을 고차원 아키텍처로 합성합니다.

04

반증 가능성 수립 (칼 포퍼)

어떤 테스트가 실패하면 이 구현이 틀린 것인지 기계적 검증 기준(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에게 코드를 맡기기 전 5분의 인터뷰 투자가 5시간의 재작업을 막아줍니다.

이정마 에디터

AI Architecture Lead

AI 코딩이 실패하는 원인의 90%는 코딩 능력이 아니라 사람이 뭘 만들지 덜 정했기 때문입니다. 철학자들의 사유 프레임워크를 적용해 재작업을 원천 차단하는 방법을 전해드립니다.