본문으로 건너뛰기

© 2026 Molayo

r/Claude분석2026. 05. 20. 01:38

프롬프트에 내용을 채우는 대신 AI에게 스스로 용어를 정의하도록 지시했더니 결과가 완전히 달라졌습니다

요약

프롬프트에 모든 문맥을 직접 나열하는 대신, AI에게 '제1원리 추론'을 사용하여 용어를 스스로 정의하도록 지시하는 새로운 프롬프팅 기법을 소개합니다. 이 방식은 AI가 통계적 패턴 매칭을 넘어 구성 요소로부터 논리적으로 추론하게 함으로써, 결과물의 품질을 높이고 오류 발생 시 논리적 체인(Chain)을 추적하여 디버깅할 수 있는 환경을 제공합니다.

핵심 포인트

  • 제1원리 추론(First principles reasoning)을 통해 모호한 형용사를 구체적인 구성 요소로 분해하여 정의할 수 있음
  • AI가 통계적 중간값(Pattern-matching)을 출력하는 대신, 정의된 공리(Axioms)를 바탕으로 논리적 추론을 수행함
  • 결과물이 도출된 논리적 체인을 확인하여 어떤 단계에서 오류가 발생했는지 추적 및 디버깅이 가능함
  • 긴 프롬프트 방식보다 결과물의 추적 가능성(Traceability)과 감사(Audit) 가능성이 훨씬 높음

자, 저는 그동안 모든 사람이 하는 방식대로 해왔습니다. 점점 더 길게 프롬프트를 작성하는 것이죠. 더 많은 문맥 (Context)을 추가하고, 제약 사항을 명확히 하며, 어조를 지정하고, 예외 케이스 (Edge cases)를 나열하는 식입니다. 결과물은 아주 미세하게 좋아질지는 몰라도, 환각 (Hallucinations) 현상은 여전히 남아 있었습니다.

몇 주 전에 다른 방법을 시도해 보았습니다.

모든 것을 직접 정의하는 대신, 딱 한 줄만 추가했습니다: "아리스토텔레스식 제1원리 추론 (Aristotelian first principles reasoning)을 사용하세요. 진행하기 전에, 정의되지 않은 모든 용어를 원자적 의미 (Atomic meaning)로 분해하세요."

그러고 나서 "세계적인 수준의 웹사이트 (A world-class website)"를 요청했습니다.

보통 이 문구는 인터넷의 통계적 중간 지점과 같은 평범한 결과물을 만들어냅니다. 하지만 이 지시 사항을 넣으니 AI가 실제로 멈춰서 "세계적인 수준 (World-class)"이 무엇을 의미하는지 정의하기 시작했습니다. 속도, 시각적 계층 구조 (Visual hierarchy), 접근성 (Accessibility), 전환 패턴 (Conversion patterns), 신뢰 신호 (Trust signals) 같은 것들 말이죠. 각 구성 요소를 도출한 다음, 거기서부터 구축해 나갔습니다. 저는 기본적으로 두 단어만 썼는데, AI가 모든 정의 작업을 스스로 수행한 것입니다.

다양한 작업에 걸쳐 테스트해 보았습니다. 이 패턴은 유효했습니다. 예전에는 일반적인 결과물을 만들어내던 모호한 형용사들이 이제는 구체적인 결과물을 만들어냅니다. 모델이 학습 데이터에서 통계적으로 가장 흔했던 것에 패턴 매칭 (Pattern-matching)을 하는 대신, 구성 요소가 되는 진리로부터 추론하기 때문입니다.

제가 예상하지 못했던 부분은, 이제 결과물을 실제로 디버깅 (Debug)할 수 있다는 점입니다.

내부적으로(Under the hood) 어떤 일이 일어나고 있는지 설명하자면 이렇습니다. AI에게 제1원리로부터 추론하라고 명령하면, 단순히 답변만 하는 것이 아니라 체인 (Chain)을 구축합니다. 예를 들어 다음과 같이 설정합니다: "프로덕션급 코드 (Production-grade code)란 침묵하는 실패 (Silent failures)가 없음을 의미한다." 그다음: "침묵하는 실패가 없다는 것은 모든 외부 호출에 명시적인 에러 처리 (Error handling)가 필요함을 의미한다." 그리고 이 두 가지를 결합하여: "모든 API 호출에는 타입이 지정된 에러 응답 (Typed error response)을 포함한 try/catch가 필요하다." 이런 식으로 계속됩니다. 각각의 새로운 결론은 그 위의 공리 (Axioms)들이 유효하기 때문에 비로소 유효해집니다. 요청만 한다면 이 전체 과정을 실제로 확인할 수 있습니다.

따라서 무언가 잘못되었을 때, 프롬프트 (Prompt)를 다시 쓰고 요행을 바라는 것이 아니라, 체인 (Chain)을 살펴보고 어떤 공리 (Axiom)가 깨졌는지 찾아내야 합니다. 아마 공리 3은 괜찮지만 공리 6이 틀렸을 수도 있습니다. 그러면 이제 무엇을 반박해야 할지 정확히 알게 되며, 그로부터 파생되는 모든 하위 단계 (Downstream)의 결과물들도 자동으로 의심 대상이 됩니다. 이는 기본적으로 모든 노드 (Node)가 추적 가능한 부모 (Parents)를 가진 유향 그래프 (Directed Graph)와 같습니다.

이를 일반적인 긴 프롬프트와 비교해 보십시오. AI는 수십 가지의 결정을 내리지만, 그 결정들이 어디에 존재하는지는 알 수 없습니다. 찾을 수도 없고, 감사 (Audit)할 수도 없습니다. 결과물을 그대로 받아들이거나, 아니면 처음부터 다시 시작해야 합니다.

이러한 추적 가능성 (Traceability)은 주니어 개발자가 "왜 에러 핸들링 (Error handling)이 이런 구조로 되어 있나요?"라고 물을 때도 유용합니다. "그냥 그렇게 나왔어요"라고 말하는 대신, 실제로 추론 과정을 단계별로 설명해 줄 수 있습니다.

혹시 이것을 가지고 실험해 보고 싶은 분들을 위해 프롬프트 템플릿을 만들어 두었습니다: https://github.com/ndpvt-web/prompt-improver

여전히 예외 케이스 (Edge cases)를 파악하는 중이며, 모든 모델에서 동일하게 작동할지는 모르겠습니다. 하지만 "진행하기 전에 제1원리 (First principles)로부터 용어를 정의하라"는 지침이 제게는 제약 사항 (Constraints)을 세 문단 더 추가하는 것보다 훨씬 더 신뢰할 수 있었습니다.

수정: 관심 있는 분들을 위해 X(구 트위터)에 이런 실험들을 더 게시할 예정입니다 - "https://x.com/ND6598". 대부분은 무제한* Claude Code 접근 권한과 너무 많은 아이디어가 만났을 때 벌어지는 일들입니다!

AI 자동 생성 콘텐츠

본 콘텐츠는 r/ClaudeAI (top/week)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0