
2025년까지의 AI 개발이 "어떻게 질문할 것인가(Prompt Engineering)"에 집중했다면, 2026년 현재 업계는 "어떤 환경에서 실행하게 할 것인가(Harness Engineering)"로 그 패러다임이 완전히 이동했습니다.
AI 모델 자체의 지능은 이미 상향 평준화되었습니다. 하지만 이 모델을 실제 서비스 개발에 투입했을 때 발생하는 할루시네이션, 의도치 않은 파일 수정, 보안 리스크 등은 프롬프트만으로는 해결할 수 없는 문제였습니다. 이를 해결하기 위해 등장한 것이 바로 하네스 엔지니어링입니다.
하네스(Harness)는 마차나 말의 '마구'를 뜻합니다. 아무리 힘센 말(LLM)이라도 마구가 없으면 제어할 수 없듯, 하네스 엔지니어링은 AI 모델이 소프트웨어 생태계 내에서 안전하고 논리적으로 행동할 수 있도록 설계된 '통제 장치와 실행 프레임워크'를 구축하는 학문입니다.
최근 4주간의 트렌드에 따르면, 업계는 CAR(Control, Agency, Runtime) 구조를 표준으로 삼고 있습니다.
CLAUDE.md, AGENTS.md).현재 개발자들이 가장 많이 사용하는 AI 도구들에 하네스 엔지니어링이 어떤 식으로 적용되고 있는지 구체적인 예시를 살펴보겠습니다.
Anthropic의 Claude Code는 프로젝트 루트의 CLAUDE.md 파일을 하네스로 활용합니다.
Codex 기반의 Copilot은 단순 코드 완성을 넘어, 열려 있는 탭, 최근 수정한 파일, 로컬 DB 스키마 등을 '하네스' 데이터로 엮어냅니다.
@workspace 명령어를 통해 전체 코드베이스의 인덱스를 하네스로 제공하고, AI가 특정 함수를 수정할 때 연관된 의존성을 자동으로 분석하여 사이드 이펙트를 방지하게 합니다.Gemini CLI는 복잡한 터미널 명령어를 실행하는 하네스 역할을 수행합니다.
pnpm test를 돌려 실패 지점을 확인하고, 그 에러 로그를 다시 자신의 입력값으로 넣어 코드를 수정하는 'Closed-loop Runtime'을 형성합니다.2026년 3월, OpenAI는 100만 라인 규모의 프로덕션 애플리케이션을 사람이 단 한 줄의 코드도 직접 짜지 않고 '하네스 설계'만으로 빌드했다고 발표했습니다.
2026년 현재 업계에서 통용되는 '골드 스탠다드' 하네스 템플릿입니다. 프로젝트 루트에 이 파일을 비치하는 것만으로도 AI 에이전트의 생산성을 200% 이상 끌어올릴 수 있습니다.
# 프로젝트: [이름] - [핵심 목적 한 줄 요약] ## 🛠 Tech Stack - <strong>Core:</strong> Next.js 16 (App Router), TypeScript 5.x, Tailwind 4 - <strong>State/Data:</strong> TanStack Query, Zustand - <strong>Database:</strong> Supabase (PostgreSQL) + Prisma - <strong>Testing:</strong> Vitest + Playwright ## 🏗 Architecture & Patterns - <strong>Layered Design:</strong> `src/features/*` 내부에 도메인 로직을 응집합니다. - <strong>Server-First:</strong> 클라이언트 사이드 `useEffect` 대신 Server Components와 Server Actions를 우선합니다. - <strong>Single Source of Truth:</strong> 모든 외부 연동 로직은 `src/lib/integrations`에 위치시킵니다. ## 📜 Coding Rules (AI 행동 강령) - <strong>Correctness > Cleverness:</strong> 복잡한 추상화보다 가독성 높고 '지루한' 코드를 선호합니다. - <strong>Smallest Change:</strong> 수정 범위를 최소화하세요. 요청받지 않은 인접 코드를 리팩토링하지 않습니다. - <strong>Typing:</strong> `any` 사용 금지. 모든 외부 데이터는 Zod로 런타임 검증을 수행합니다. - <strong>Naming:</strong> 파일명은 `kebab-case`, React 컴포넌트는 `PascalCase`를 사용합니다. ## 🧪 Verification & Quality - <strong>Definition of Done:</strong> 모든 코드는 `pnpm lint`, `pnpm typecheck`, 테스트 통과가 필수입니다. - <strong>Bug Fix Protocol:</strong> 버그 수정 시 반드시 재현 테스트 케이스를 먼저 작성하세요. - <strong>Manual Repro:</strong> 수정 후에는 직접 실행하여 결과를 확인하고 로그를 보고하세요. ## ⌨️ Essential Commands - Dev: `pnpm dev` - Test: `pnpm test` - Build: `pnpm build` - Lint: `pnpm lint --fix` ## 🚫 Anti-Patterns (절대 금지) - ❌ 기능 폴더 내의 `barrel files` (index.ts) 사용 금지 (순환 참조 원인). - ❌ 불필요한 에러 핸들링 금지 (글로벌 에러 바운더리에 위임). - ❌ `localStorage` 직접 접근 금지 (커스텀 훅 `useStorage` 사용).
이제 시니어 개발자의 역할은 코드를 직접 타이핑하는 것이 아니라, AI 에이전트가 완벽하게 작동할 수 있는 '최고 품질의 하네스'를 설계하는 것으로 변하고 있습니다. 여러분의 프로젝트에는 어떤 하네스가 준비되어 있나요?
참고 자료