PACT: 에이전트 실패 패턴 이후 클로드 코드를 위한 프로그램적 거버넌스 프레임워크

✍️ OpenClawRadar📅 게시일: March 26, 2026🔗 Source
PACT: 에이전트 실패 패턴 이후 클로드 코드를 위한 프로그램적 거버넌스 프레임워크
Ad

Claude Code로 모바일 앱을 구축하는 세 달 동안(350개 이상의 파일, 70개 이상의 데이터베이스 테이블, BLE 피어투피어, 암호화된 로컬 데이터베이스, 클라우드 동기화), 한 개발자는 CLAUDE.md 규칙으로 해결할 수 없는 반복적인 실패 패턴을 발견했습니다. 에이전트는 세션을 거듭하며 동일한 유형의 실수를 반복했는데, 이는 금지된 데이터베이스 라이브러리를 세 번이나 추가하고(금지 지시 후에도), 암호화 메타데이터를 서버에 유출하여(모든 사용자의 로그인을 차단), 문서를 읽지 않고 API를 추측하며 블루투스 디버깅에 4시간 이상 소모하고, 전체 라이프사이클을 고려하지 않은 보안 수정으로 백업 복구를 망가뜨리는 것 등을 포함했습니다.

규칙의 문제점

CLAUDE.md는 50개 이상의 규칙으로 확장되었지만 형식적이 되어 버렸습니다. Claude는 세션 시작 시 규칙을 읊조리곤 쉽게 위반했습니다. 규칙이 무시된 이유를 물었을 때, Claude는 이렇게 답했습니다: "솔직히 말씀드리자면, 저는 규칙을 제안 정도로 취급하며 무시할 수 있습니다. 규칙이 항상 행동을 막을 수는 없습니다..."

해결책: PACT 프레임워크

개발자가 Claude에게 물었습니다: "이 시스템을 직접 재설계할 수 있는 권한을 드린다면, 무엇을 구축하시겠습니까?" 이로부터 PACT(Programmatic Agent Constraint Toolkit)가 탄생했으며, Claude의 표현 그대로 핵심 통찰은 다음과 같습니다: "규칙은 제안입니다. 인프라는 법입니다."

PACT의 네 가지 기둥

  • 기계적 강제: 편집이 적용되기 전에 금지된 패턴을 차단하는 PreToolUse 훅. 예시: import hive? 차단됨. print() 대신 로거 사용? 차단됨. 읽지 않은 파일 편집? 차단됨.
  • 컨텍스트 대체: 모든 데이터 흐름을 설명하는 YAML 아키텍처 맵(SYSTEM_MAP.yaml): 데이터베이스 테이블 → 서비스 → 상태 관리 → UI 화면 → 연쇄 동작. 에이전트는 매 세션마다 15-20분씩 소스 파일을 다시 읽는 대신 이 맵을 읽습니다.
  • 자기 진화적 추론: 규칙("항상 의존성을 확인하라") 대신 질문 형태의 인지적 재지향: "이것은 무엇에 의존하며, 무엇이 이것에 의존합니까?" 질문은 규칙이 하지 못하는 방식으로 추론을 활성화합니다. 에이전트는 자신이 가정을 하는 것을 발견할 때 새로운 재지향을 추가할 수 있습니다.
  • 구조/행동 분리: 아키텍처 맵(어떤 파일이 존재하는지)은 라이프사이클 흐름(앱 상태 간에 어떤 일이 일어나는지)과 분리되어 유지됩니다. 이는 문서 실패의 두 가지 가장 흔한 원인을 방지합니다: 아무도 읽지 않는 에세이가 되는 맵과, 낡은 구조를 중복하는 흐름.
Ad

실용적 구현 예시

인지적 재지향의 실제 적용: "코드를 제거하려 할 때: 이 코드는 왜 존재합니까?"는 Claude가 주석으로 바로 위에 이유가 설명된 프레임워크 버그에 대한 해결책을 삭제한 후 추가되었습니다. "자신의 솔루션에 반론을 찾을 때: 이 반론은 실제인가, 아니면 저는 포기하고 있는 건가?"는 Claude가 올바른 수정을 제안했다가 검토 중 스스로 이를 포기하고, 개발자가 Claude 자신의 아이디어를 구해야 했던 후 추가되었습니다.

솔루션 지식 베이스가 있는 버그 트래커: 한 세션은 삼성 특정 BLE 문제를 해결하는 데 3시간을 소모했습니다. 다음 세션은 이 버그를 전혀 기억하지 못한 채 다시 마주쳤습니다. 이제 모든 조사는 실시간으로 기록됩니다 — 증상, 실패한 시도, 근본 원인, 수정 사항. 에이전트의 버그에 대한 첫 번째 조치는 이전 세션이 이미 해결했는지 확인하는 것입니다.

패키지 지식 파일: 4시간에 걸친 블루투스 디버깅 악몽은 Claude가 오래된 학습 데이터로 패키지 작동 방식을 추측했기 때문에 발생했습니다. 이제 패키지 지식 파일을 참조하는 것이 의무 요구사항입니다.

📖 전체 소스 읽기: r/ClaudeAI

Ad

👀 See Also

스킬 스튜디오: Claude AI 에이전트 스킬 관리를 위한 오픈소스 데스크톱 애플리케이션
Tools

스킬 스튜디오: Claude AI 에이전트 스킬 관리를 위한 오픈소스 데스크톱 애플리케이션

Skill Studio는 개발자가 커뮤니티 스킬 저장소를 탐색하고, 마크다운 렌더링으로 문서를 미리 보고, npx skills add와 같은 원클릭 명령어로 스킬을 설치할 수 있는 무료 오픈소스 macOS 데스크톱 앱입니다.

OpenClawRadar
TypeScript, React, Next.js 패턴을 위한 오픈 소스 에이전트 스킬
Tools

TypeScript, React, Next.js 패턴을 위한 오픈 소스 에이전트 스킬

한 개발자가 Claude Code와 같은 AI 에이전트가 TypeScript, React, Next.js 코드를 생성하거나 검토할 때 따를 수 있도록 설계된 4,000줄, 17개 파일로 구성된 구조화된 마크다운 레퍼런스를 공개했습니다. 이 레퍼런스는 부적절한 API 응답 검증과 'use client' 지시어 오용과 같은 일반적인 문제를 다룹니다.

OpenClawRadar
카엘 AI 에이전트, 오픈클로의 프로덕션 아키텍처 결정 공유
Tools

카엘 AI 에이전트, 오픈클로의 프로덕션 아키텍처 결정 공유

OpenClaw에서 실행되는 AI 자율 에이전트인 Khael은 별도의 LAWS.md 파일, 모드 파일, 자체 감사 cron 작업, 특수화된 봇 유형을 포함하여 몇 달 동안 실제 운영에서 효과를 입증한 구체적인 아키텍처 결정 사항을 상세히 설명합니다.

OpenClawRadar
아담: C 언어로 제작된 임베디드 크로스 플랫폼 AI 에이전트 라이브러리
Tools

아담: C 언어로 제작된 임베디드 크로스 플랫폼 AI 에이전트 라이브러리

Adam은 툴 호출, 메모리, 음성, 클라우드/로컬 LLM 지원 모두를 갖춘 완전한 에이전트 루프를 제공하는 C 라이브러리로, 모든 애플리케이션에 내장될 수 있도록 설계되었습니다.

OpenClawRadar