AI 코딩 팁 040 - AI에게 프롬프트와 스킬 간의 모순점을 나열해 달라고 요청하기
요약
AI 에이전트 개발 시, 여러 지침과 스킬 간의 모순점(contradiction)을 사전에 파악하는 것이 중요합니다. AI가 임의로 우선순위를 결정하거나 환각적 규칙으로 빈틈을 채우는 것을 방지하기 위해, 사용자가 직접 모든 컨텍스트를 감사하고 모순점을 명시적으로 요청해야 합니다.
핵심 포인트
- AI에게 프롬프트/스킬 간의 모순점 목록화를 요청하세요.
- 모든 지침과 결정 사항을 하나의 큰 그림으로 통합하여 관리해야 합니다.
- 작업 내용을 커밋하여 깨끗한 감사(audit) 체크포인트를 유지하는 것이 필수입니다.
- 다른 모델을 사용하여 동일한 감사를 반복적으로 실행해 보세요.
규칙들이 서로 불일치할 때, AI가 우선순위를 결정합니다.
요약: AI가 자체적으로 해결책을 만들기 전에, 사용자의 프롬프트, 스킬, 의사결정 간의 모순점을 나열해 달라고 요청하세요.
흔한 실수 ❌
당신은 AI와 몇 시간, 며칠, 심지어 몇 주 동안 콘솔 창을 열어두고 작업합니다.
프롬프트를 작성하고, 에이전트(agents)를 추가하며, 지침(instructions), 메모리(memories), 스킬(skills)들을 쌓아 올립니다.
그 과정에서 도메인을 학습하고 의사결정을 내립니다.
인간처럼 진행하면서 요구사항을 발견하게 됩니다.
당신의 AI는 새로운 지침을 따르지만, 모순되는 이전의 지침에 대해서는 언급하지 않습니다.
컨텍스트(context) 어디에도 어떤 지침이 무엇을 대체했는지 표시되어 있지 않습니다.
전체 쌓인 내용을 하나의 큰 그림 문서로 읽어보지 않습니다.
그래서 다음 기능을 요청하자, AI가 서로 의견이 다른 두 개의 지침을 읽게 됩니다.
AI는 멈춰서 당신에게 물어보지 않습니다.
스스로 하나를 선택하고 완전한 확신을 가지고 계속 진행합니다.
해결해야 할 문제점들 😔
-
두세 가지의 지침이 불일치하는데, AI가 어떤 것이 승자인지 묻는 대신 임의로 하나를 선택합니다.
-
AI가 상상된 환각적 규칙(hallucinated rule)으로 빈틈을 채우고, 출력 내용 어디에도 자신이 선택했음을 알려주지 않습니다.
-
도메인을 학습함에 따라 당신의 결정이 표류하며, 이전 결정들이 새로운 결정 옆에 놓입니다.
-
명시적으로 내리지 않은 결정들은 AI가 그 위를 지나치다가 걸릴 때까지 숨겨져 있습니다.
-
당신의 AGENTS.md, 스킬(skills), 에이전트 정의 각각이 규칙의 자체 사본을 유지하며, 이 사본들이 서로 멀어집니다.
-
잘못된 추측이 컨텍스트에 들어가 다음 답변의 전제가 됩니다.
-
동전을 던지듯 결정한 것에 기반한 자신감 있는 답변은 당신이 요청한 환각입니다.
-
작업 내용을 커밋하여 감사(audit)가 깨끗한 체크포인트에서 시작되도록 하세요.
-
AI가 읽는 모든 것을 모으세요: 여러분의 AGENTS.md 파일, 스킬 목록, 에이전트 정의, 메모 노트, 그리고 채팅 기록에서의 결정 사항들입니다.
-
새로운 적대적 세션(adversarial session)을 열고 해당 파일들만 불러오되, 긴 채팅에 대한 짧은 요약본도 함께 준비하세요.
-
AI에게 수정이나 새로운 기능 추가 없이 오직 감사만 하도록 지시하세요.
-
다음 사항들을 요청하세요:
- 번호가 매겨진 표로 *모든 모순점(contradiction)*을 요구하며, 충돌하는 모든 지침을 정확히 인용하고 각 모순점이 어느 파일이나 메시지에 있는지 명시하도록 합니다. - LLM에게 AI가 잘못 추측했을 때 가장 먼저 무너질 항목 순으로 순위를 매기도록 요청하세요.
- 명시적으로 만들지 않은 결정 사항들로 두 번째 목록을 요청하고, AI에게 기억나지 않는 결정 사항들을 가지고 놀라게 하라고 지시하세요.
- 모든 항목에 대해 인용된 두 줄의 내용을 직접 읽어보세요. 왜냐하면 AI가 모순점 자체를 꾸며낼 수도 있기 때문입니다.
- 각 항목별로 승자를 하나씩 고르고, 그 옆에 이유를 적으세요.
- 각 승자는 한곳에 보관하고 다른 모든 복사본은 포인터(pointer)로 대체하며, 발견한 함정들은 'pitfalls' 파일에 기록하세요.
- 모델의 사각지대는 모델 스스로가 놓치기 마련이므로, 다른 모델을 사용하여 동일한 감사를 실행해 보세요.
- 반복적으로 학습하는 것이 해당 도메인을 배우고 새로운 모순점들이 발생하는 방식이기 때문에, 긴 세션 후에는 이 과정을 반복하세요.
장점 🎯
표면화된 암묵적 선택 (Surface silent choices): AI가 모순점을 해결하는 대신 목록으로 나열하여, AI가 당신을 위해 어떤 숨겨진 가정을 했는지 볼 수 있게 합니다.잊힌 결정 찾기 (Find forgotten decisions): 두 번째 목록은 월요일에 내렸지만 목요일에는 잊어버린 결정이나, 애초에 내리지 않았던 결정을 보여줍니다.타협점 제거하기 (Remove the tie-breaker): 규칙들이 일치할 때 AI는 상상할 것이 없습니다.규칙 축소하기 (Shrink your rules): 모순이 해결될 때마다 한 줄이 삭제되므로, AGENTS.md 파일에 규칙을 너무 많이 쌓아두지 않게 됩니다.도메인 더 빠르게 학습하기 (Learn the domain faster): 이 목록은 당신의 이해가 정확히 어디서 바뀌었는지 지도화하며, 이는 '세컨드 브레인(second brain)'에 보관할 가치가 있는 지식입니다.결정을 영속적으로 만들기 (Make decisions durable): 승리한 각 결정은 팀 전체와 미래 세션이 읽을 수 있는 한 곳에 존재합니다.자신의 설정 이해하기 (Understand your own setup): AI가 작동하는 그림 자체를 재구성하며, 이는 '이해 부족 부채(comprehension debt)'의 치료제입니다.거의 비용 없음 (Pay almost nothing): 읽기 전용 프롬프트 하나는 잘못된 규칙을 따라 나온 결과물을 추적하는 하루보다 훨씬 저렴합니다.고무 오리 친구와 대화하기 (Talk to a rubber duck buddy): AI에게 자신의 규칙을 소리 내어 설명하는 것은 고무 오리 디버깅(rubber duck debugging)과 같은 효과를 발휘하며, 설명을 하는 동안 스스로의 모순점을 발견하게 합니다.## 컨텍스트 🧠
도메인은 읽는다고 해서 배우는 것이 아닙니다.
과학적 방법처럼 구축하고, 틀리고, 생각을 바꾸면서 배웁니다.
당신의 생각 변화는 새로운 프롬프트, 새로운 스킬, 그리고 AGENTS.md 파일의 새 줄로 남아 이전 내용 위에 쌓입니다.
모순된 이전 내용은 아무것도 삭제하지 않습니다.
머리가 결정을 업데이트합니다.
컨텍스트는 그렇지 않습니다.
저는 최근에 이런 경험을 했습니다.
제 프롬프트, 에이전트(agents), 스킬 전반의 모든 모순점을 AI에게 열거해 달라고 요청했습니다.
AI는 제가 애초에 내리지 않았던 결정들로도 저를 놀라게 했습니다.
AI가 그것들을 대신 만들어주고 있었던 것입니다.
제 검증기(validator) 스킬 두 개가 TL;DR이 얼마나 길어야 하는지에 대해 의견이 다릅니다. 하나는 160자, 다른 하나는 120자입니다.
함께 합치면 동전 던지기와 같고, AI는 아무 말 없이 그것을 뒤집어 버립니다.
연구원들은 ConInstruct에서 이것을 테스트했습니다: Claude-4.5-Sonnet은 F1 점수 87.3%로 모순점을 감지했고, DeepSeek-R1은 91.5%였습니다.
하지만 모델들은 당신에게 명확히 말해주거나 확인을 요청하는 경우가 드뭅니다.
많은 AI는 너무 공손하고 순종적입니다.
그들은 사용자 만족에 맞춰 학습되었기 때문에, 행복한 답변의 보상을 쫓습니다.
인간 동료라면 멈춰서 당신에게 무슨 의미인지 물어볼 것입니다.
하지만 AI는 계속 진행하며 의구심을 숨깁니다.
모순점을 찾아내는 능력은 이미 존재하며, 단지 요청할 필요가 있습니다.
Drew Breunig은 서로 모순되는 두 지침을 'context clash'라고 부르며, 긴 세션이 진행될수록 이러한 충돌이 쌓입니다.
Claude Code 문서에서도 스스로 언급하듯이, 두 지침이 서로 모순될 경우 Claude는 임의로 하나를 선택할 수 있습니다.
자신만의 규칙에 우선순위를 매기는 것은 당신의 역할이며, 법률 목록에 순위가 매겨져 있어 하위 규칙이 상위 규칙에 양보하는 것과 같습니다.
AI에게 구축하기 전에 먼저 질문하게 만들면, 작업이 시작되기 전에 머릿속에서 결정을 끌어낼 수 있습니다.
감사(audit) 과정은 나중에 쌓인 모순점들을 끄집어냅니다.
프롬프트 참고 📝
나쁜 프롬프트 🚫
Check my AGENTS.md, my skills, and this chat.
Tell me if everything looks consistent.
If it does, continue with the next feature.
좋은 프롬프트 👉
Use an adversarial, independent subagent for this audit.
Audit only.
Don't edit any file.
...
고려 사항 ⚠️
모든 모순이 실수는 아닙니다.
의도적인 예외가 있는 일반 규칙(규칙을 확인하는 예외)은 서류상으로는 충돌처럼 보일 수 있습니다.
AI에게 이러한 항목들을 별도로 플래그 지정하도록 요청하고, 당신이 결정해야 합니다.
또한 AI는 존재하지 않는 모순점을 환각할 수도 있습니다.
그래서 무언가를 변경하기 전에 인용된 두 줄을 모두 읽어보는 것입니다.
컨텍스트를 작성하는 데 도움을 준 모델은 자신의 사각지대를 공유할 수 있으며, Greptile에 따르면 모델이 다른 모델이 작성한 코드에서 자신이 작성한 코드보다 더 많은 결함을 포착한다는 것을 발견했습니다.
두 번째 모델은 같은 이유로 더 나은 감사를 제공합니다.
일부 모순점은 AI가 실제 작업과 만나는 런타임(runtime)에만 나타날 수 있습니다.
텍스트 감사로는 이러한 점들을 찾을 수 없으며, 아직 얼마나 많은지 알지 못합니다.
유형 📝
[X] 반자동
제한 사항 ⚠️
감사(audit)는 로드하는 텍스트 내에 존재하는 모순점만을 찾아냅니다.
지침과 코드베이스의 실제 상태 간의 충돌은 프롬프트가 아니라 테스트가 필요합니다.
파일이 너무 많은 경우 한 세션에 모두 담기 어려울 수 있으므로, 파일들을 쌍으로 감사해야 합니다. 즉, AGENTS.md를 스킬(skills)과 비교하고, 그 다음 스킬을 에이전트(agents)와 비교하는 식입니다.
AI가 제안하고, 사용자가 결정합니다.
결정하는 과정을 건너뛰면, 단지 동전을 던지는 행위를 다른 장소로 옮긴 것일 뿐입니다.
태그 🏷️
- Context Window (컨텍스트 창)
레벨 🔋
[X] Intermediate (중급)
관련 팁 🔗
결론 🏁
배우면서 생각이 바뀌는 것은 자연스러운 일이며, 이는 건강한 과정입니다.
사용자의 컨텍스트가 사용자와 함께 변하는 것은 아닙니다.
AI에게 모든 내용을 읽게 하고 스스로 모순되는 부분을 나열하도록 요청해야 합니다.
그런 다음 각 충돌 지점을 직접 결정해야 합니다.
AI는 이미 모순점들을 파악하고 있으니, 그것을 사용자에게 말하게 해야 합니다.
추가 정보 ℹ️
또한 알려진 이름 🎭
- Contradiction-Audit (모순 감사)
- Context-Conflict-Check (컨텍스트 충돌 확인)
- Self-Consistency-Review (자체 일관성 검토)
- Decision-Conflict-Report (결정 충돌 보고서)
도구 🧰
Claude Code의 /doctor prompt-audit 명령어는 지침 파일(instruction files)을 확인하여 오래되었거나 모순되는 콘텐츠가 있는지 점검하고, 사용자가 요청할 때까지 편집 사항을 제안합니다.
AGENTS.md 파일, 스킬, 에이전트 정의를 읽을 수 있는 다른 어시스턴트도 위 좋은 프롬프트를 사용하여 동일한 감사를 수행할 수 있습니다.
면책 조항 📢
여기에 표현된 견해는 저의 개인적인 의견입니다.
저는 다른 사람들을 위해 최선을 다해 글을 쓰는 인간입니다.
일부 텍스트를 개선하기 위해 AI 교정 도구를 사용합니다.
대부분의 AI 탐지기는 이 기사를 AI가 생성한 것으로 표시할 것입니다. 이는 예상된 일입니다. 기술적인 기사이기 때문입니다. 엄격한 형식과 따라야 할 명확한 단계들이 있습니다.
이것이야말로 그러한 도구들이 학습하도록 훈련된 정확한 패턴입니다. 저는 AI가 존재하기 훨씬 전부터 수십 년 동안 'AI처럼 글을 써 왔습니다'. 이것은 소설이 아니라 기술적인 기사입니다.
건설적인 비판과 대화를 환영합니다.
저는 소프트웨어 업계에서 30년, 교육 경력 25년, 그리고 500개 이상의 아티클과 책 집필을 통해 이러한 통찰력을 형성했습니다.
본 기사는 AI 코딩 팁 시리즈의 일부입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Hacker Noon AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기