하나의 프롬프트에 6가지 재료를 넣었더니 모델이 오히려 잘못 선택했다고? — 공식 답변: 6가지 판단을 한 번의 요청에 담지 말고, 분리하여
요약
복잡한 판단을 요구하는 작업은 하나의 프롬프트에 모든 기준을 담기보다 분리하여 처리해야 정확도가 높습니다. Anthropic Academy는 '병렬 워크플로우(parallelization workflows)' 방식을 제안합니다. 이는 작업을 여러 하위 작업으로 나누어 동시에 평가하고, 최종적으로 결과를 종합하여 결정하는 방식으로 복잡한 판단의 신뢰도를 높입니다.
핵심 포인트
- 복잡한 기준을 하나의 프롬프트에 담으면 모델이 혼란스러워집니다.
- 병렬 워크플로우는 작업을 여러 하위 작업으로 분해하여 처리하는 방식입니다.
- 각 재료별로 전문 기준만 적용하는 독립적인 경로를 거쳐야 합니다.
- 최종적으로 각 경로의 분석 결과를 종합하여 최종 결정을 내립니다.
하나의 프롬프트에 6가지 재료를 넣었더니 모델이 오히려 잘못 선택했다고? — 공식 답변: 6가지 판단을 한 번의 요청에 담지 말고, 분리하여 동시에 질문하면 더 정확하다.
공식 출처: Anthropic Academy《Building with the Claude API》 제 46과. 강의 페이지에는 발행 날짜가 표기되어 있지 않아 여기에 날짜는 적지 않습니다. 원문 제목 직역: 《병렬 워크플로우(parallelization workflows)》。먼저 상식에 반하는 결론을 제시합니다: 복잡한 판단은 제대로 수행하기 어렵습니다. 많은 사람이 첫 반응으로 '그럼 기준을 더 완벽하게 작성해야겠다'라고 생각하는데, 이것은 틀렸습니다. 공식 답변은 한 번의 요청 안에 담는 기준이 많을수록 모델이 혼란스러워진다는 것입니다. 6가지 재료에 대한 모든 기준을 하나의 프롬프트에 넣으면, Claude가 6가지 고려 사항을 동시에 다루려 애쓰다가 오히려 분리해서 질문하는 것보다 못한 결과를 낳습니다. 여러 경로로 나누어 동시에 평가한 후 최종적으로 취합하여 결정하면 더 정확합니다.
용어 설명:
- 병렬 워크플로우 (parallelization workflows): 하나의 복잡한 작업을 여러 개의 하위 작업으로 분해하고, 이를 동시에 실행한 다음, 마지막에 결과를 종합하는 워크플로우 방식 — 분리, 동시 실행, 종합.
- 재료 설계사 (material designer): 강의에서 예시로 사용된 애플리케이션 — 사용자가 부품 이미지를 업로드하면 가장 적합한 재료를 추천합니다.
- 금속 (metal): 6가지 후보 재료 중 하나 — 강의의 첫 번째 항목으로, 전용 금속 평가 기준이 있습니다.
- 고분자(polymer): 6가지 후보 재료 중 하나 — 강의의 두 번째 항목으로, 전용 고분자 평가 기준이 있습니다.
- 세라믹 (ceramic): 6가지 후보 재료 중 하나 — 강의의 세 번째 항목으로, 전용 세라믹 평가 기준이 있습니다.
- 복합재료 (composite): 6가지 후보 재료 중 하나 — 강의의 네 번째 항목으로, 전용 복합재료 평가 기준이 있습니다.
- 엘라스토머 (elastomer): 6가지 후보 재료 중 하나 — 강의의 다섯 번째 항목으로, 전용 엘라스토머 평가 기준이 있습니다.
- 목재 (wood): 6가지 후보 재료 중 하나 — 강의의 여섯 번째 항목으로, 전용 목재 평가 기준이 있습니다.
- 종합 (aggregation): 병렬 워크플로우의 마지막 단계 — 각 경로의 분석 결과를 Claude에게 다시 전달하여 비교하고 최종 답변을 결정합니다.
- 전문 기준 (specialized criteria): 각 경로가 가진 자체적인 평가 기준 — 금속 경로는 오직 금속 기준만 보고 다른 것은 보지 않습니다.
실제 예시: 강의에서 재료 설계사로 시연한 내용입니다. 사용자가 부품 이미지를 업로드하고 가장 적합한 재료(금속, 고분자, 세라믹, 복합재료, 엘라스토머, 목재) 중 하나를 선택해야 합니다. 첫 번째 반응은 요청을 한 번 보내고 6가지 재료의 모든 기준을 작성하여 Claude에게 직접 선택하도록 하는 것입니다. 공식 답변은 이렇게 하면 안 된다는 것입니다: 각 재료에 대한 전문 기준이 없으면 결과가 신뢰할 수 없습니다. 6가지 기준을 모두 하나의 프롬프트에 넣으면, Claude는 6가지 고려 사항을 동시에 다루려 애쓰다가 오히려 혼란스러워집니다. 올바른 방법은 분리하는 것입니다: 동일한 이미지를 여러 번 보내어 금속 경로로 한 번, 고분자 경로로 한 번, 세라믹 경로로 한 번, 복합재료 경로로 한 번 등 각 경로는 하나의 재료만을 평가하고 그에 맞는 전문 기준만 적용합니다. 각 경로의 평가가 끝나면 4가지 분석 결과를 함께 Claude에게 전달하여 비교하고 최종 추천을 결정합니다. 익숙한 발전 과정 역시 이와 같습니다: 제1과정의 단일 요청에서, 제2과정의 히스토리 다중 대화로, 제3과정의 역할 시스템 프롬프트 지정으로, 제4과정의 온도 조정으로, 제5과정의 스트리밍 출력으로, 제6과정의 구조화된 데이터로, 제7과정의 프롬프트 평가로, 제8과정의 코드 점수 부여로, 제9과정의 XML 태그로, 제10과정의 예시 제공으로, 제11과정의 명확하고 직접적인 방식으로, 제12과정의 구체적이고 명확한 방식으로, 제13과정의 도구 사용 입문으로, 제14과정의 프로젝트 개요로, 제15과정의 도구 함수로, 제16과정의 도구 모드로, 제17과정의 메시지 블록 처리로, 제18과정의 도구 결과 반환으로, 제19과정의 다중 라운드 도구 대화로, 제20과정의 구현된 다중 라운드로, 제21과정의 여러 도구 사용으로, 제22과정의 정교한 도구 호출로, 제23과정의 텍스트 편집 도구로, 제24과정의 네트워크 검색 도구로, 제25과정의 검색 증강 생성(RAG) 개요로, 제26과정의 텍스트 청크 전략으로, 제27과정의 텍스트 임베딩으로, 제28과정의 완전한 RAG 프로세스로, 제29과정의 구현된 RAG 프로세스로, 제30과정의 BM25 어휘 검색으로, 제31과정의 두 가지 검색 결과를 하나의 통일된 하이브리드 검색으로 병합하는 것으로, 제32과정의 작성 도구 기능을 외부에 위임하는 것까지 이어집니다. 그리고 제33과정에서는 클라이언트가 서버 통신의 복잡성을 어떻게 추상화하는지 살펴보고, 제34과정에서는 프로젝트를 먼저 구축하고 두 가지 질문으로 기준선을 확인한 다음 작업을 진행하며, 제35과정에서는 데코레이터(decorator)를 사용하여 두 개의 도구를 정의하고 SDK가 설명서를 자동으로 생성하게 하고, 제36과정에서는 도구 작성을 완료한 후 검사기(checker)로 하나씩 실행해보고 애플리케이션에 연결하며, 제37과정에서는 클라이언트가 또 다른 절반의 공학임을 이해하고, 제38과정에서는 읽기 전용 데이터는 리소스(resource)를 사용하고 도구를 사용하지 않으며, 제39과정에서는 리소스를 MIME 타입별로 읽고, 제40과정에서는 프롬프트 템플릿을 매번 다시 작성할 필요가 없고, 제41과정에서는 클라이언트에서 슬래시(/)를 사용하여 프롬프트를 호출하며, 제42과정에서는 도구 서비스 모델(tool service model), 리소스 서비스 애플리케이션(resource service application), 프롬프트 서비스 사용자(prompt service user)로 구성되고, 제43과정에서는 Claude Code를 타이피스트가 아닌 팀원처럼 다루는 방법: 먼저 컨텍스트를 제공하고, 다음 계획을 요청한 후, 마지막에 코드를 작성하게 하고, 제44과정에서는 Claude Code에 MCP 서버(MCP server) 연결하기: 내장 클라이언트, 3가지 원리 분업, 6가지 현행 통합, Sentry + Jira + Slack으로 구성된 워크플로우를 만들고, 제45과정에서는 워크플로우와 에이전트: 프로세스는 다이어그램으로 그리고 워크플로우로 실행하고, 그릴 수 없는 것은 에이전트에게 맡기며, 이미지에서 CAD 변환까지 진행합니다.
평가자-최적화자(Evaluator-Optimizer)의 네 단계는 46강의 병렬 워크플로우로 이어집니다. 즉, 하나의 요청을 여러 경로로 나누어 동시에 평가하고, 마지막에 결과를 취합하여 결정하는 것입니다. 앞선 과정들은 호출 연결(calling integration)을 통일하고, 출력을 구조화하며, 평가 단계를 구축하고, 프롬프트에 경계를 설정하며, 좋은 형식을 갖추고, 첫 문장을 명확하게 작성하고, 요구사항을 구체적으로 정의하며, 모델이 데이터를 가져갈 수 있는 문을 열어주고, 프로젝트의 세 가지 약점을 나열해주고, 첫 번째 함수를 직접 작성하고, 그 함수에 설명서를 작성해주며, 모델이 반환한 결과물을 원형 그대로 보존하는 것, 도구 실행 결과를 모델에게 다시 전달하는 것, 단일 라운드를 다중 라운드로 바꾸는 것, 루프(loop)를 실제로 코딩하는 것, 이 네 단계에 따라 새로운 도구를 연결하고, 도구 호출을 더 세밀하게 분해하며, 모델에게 파일 수정이 가능한 내장 도구를 제공하는 것, 인터넷 접속의 문을 열어주고, 대용량 파일을 청크(chunk)로 나누어 가장 관련성 높은 부분만 공급하는 것, 그 분할 방식을 명확히 설명하고, '의미'를 숫자로 변환하며, 이 숫자를 가지고 크기를 비교하고, 전체 프로세스를 직접 구현해내는 것, 검색 기능에 원본 단어를 찾는 경로를 추가하고, 두 경로의 결과를 하나의 통합된 혼합 검색으로 합치는 것, 도구를 작성하는 작업을 외부로 위임하는 것, 클라이언트가 서버 통신의 복잡성을 어떻게 추상화하는지 살펴보는 것, 프로젝트를 먼저 구축하여 두 가지 질문을 통해 기준선(baseline)을 확인한 후 작업에 착수하는 것, 데코레이터(decorator)를 사용하여 두 개의 도구를 정의하고 SDK가 설명서를 자동으로 생성하게 하는 것, 도구 작성이 완료되면 검사기(checker)로 하나씩 테스트한 후 애플리케이션에 연결하는 것, 클라이언트가 또 다른 절반의 공학적 작업이라는 것을 아는 것, 읽기 전용 데이터는 리소스(resource)를 통해 처리하고 도구를 사용하지 않는 것, 리소스는 MIME 유형별로 읽고, 프롬프트 템플릿은 매번 다시 입력할 필요가 없는 것, 클라이언트에서 슬래시(/)를 사용하여 프롬프트를 호출하는 것, 도구 서비스 모델-리소스 서비스-애플리케이션-프롬프트 서비스-사용자 순서로 연결하는 것, Claude Code를 타이피스트(typist)가 아닌 팀원으로 대하는 것, Claude Code에 MCP 서버를 연결하는 것. 워크플로우와 에이전트: 프로세스를 그림으로 그릴 수 있으면 워크플로우로 실행하고, 그림으로 그릴 수 없으면 에이전트에게 맡깁니다. 이 강좌는 병렬 워크플로우입니다. 즉, 하나의 요청을 여러 경로로 나누어 동시에 평가하고, 마지막에 결과를 취합하여 결정하는 것입니다.
- 먼저 임무를 작성하세요: 한 번의 요청에 몇 세트의 표준을 넣었는지, 어디에서 막히는지를 파악합니다.
- 첫 질문: 분리할 수 있나요? 독립적인 평가로 나눌 수 있다면 나누고, 그렇지 않다면 의존성을 먼저 명확하게 설명해야 합니다.
- 각 경로마다 전문 표준을 작성하세요: 금속 경로는 오직 금속의 표준만 보고, 고분자(Polymer) 경로는 오직 고분자의 표준만 보고, 일반적인 표준 세트를 공유하지 마세요.
- 동시에 실행: 같은 이미지를 여러 번 보내고, 각 경로가 독립적으로 평가하게 하세요. 서로를 기다리게 하지 않습니다.
- 종합 표준을 먼저 작성하세요: 각 경로의 결과가 무엇과 비교되는지, 어떻게 승리하는 것으로 간주되는지를 명확히 정의한 후 종합합니다.
- 종합: 각 경로의 분석 결과를 모두 Claude에게 전달하여 비교하고 최종 답변을 결정하게 합니다.
- 새로운 재료를 추가할 때는 하나의 경로만 추가하세요: 기존 경로는 수정하거나 다시 작성할 필요가 없습니다.
- 패턴을 인식하는 것과 직접 구현하는 것은 다릅니다: 배합(레시피)이 있어도 코드는 스스로 작성해야 합니다. 패턴을 인식한다고 해서 코드를 작성할 줄 아는 것은 아닙니다.
Ⅴ. 팀 협업 분담
- 한 명은 분리 담당: 분리 가능한지, 각 경로가 독립적인지 확인하고, 그렇지 않은 경우 막습니다.
- 한 명은 각 경로 표준 담당: 금속, 고분자(Polymer), 세라믹의 전문 표준이 작성되었는지 확인합니다.
- 한 명은 종합 담당: 각 경로의 결과가 모두 수집되었는지, 무엇과 비교할지 명확히 정의되었는지, 최종 답변이 결정되었는지 확인합니다.
- 한 명은 확장 담당: 새로운 재료를 추가하여 경로를 늘리고, 기존 경로는 변경되지 않았는지 관리합니다.
Ⅵ. 공식 도구 키트
- 병렬 워크플로우 구조: 분리, 동시 실행, 종합; 각 경로는 동일할 필요가 없습니다—프롬프트(prompt), 도구, 평가 표준 모두 다를 수 있습니다.
- 재료 디자이너 예시: 하나의 부품 그림에 6가지 재료 중 하나 선택; 금속, 고분자(Polymer), 세라믹, 복합재료, 탄성체, 목재.
- 네 가지 장점: 집중적인 주의력, 쉬운 최적화, 용이한 확장, 더 높은 신뢰성.
- 적용 조건: 독립적인 평가로 나눌 수 있는 복잡한 의사결정—다수의 표준 세트, 다수의 옵션, 다수의 전문 영역.
- 가져가야 할 원칙: 핵심은 각 경로가 독립적으로 작동하여 각각 다른 분석을 기여하는 것입니다; 분리할 수 있을 때만 병렬화합니다.
맺음말 정리: 원칙이 구조보다 중요합니다—여기서 묻는 것은 '분리, 실행, 종합' 세 단어를 외우는지 여부가 아니라, "한 번의 요청에 모든 표준을 채워 넣는 것"이 틀렸다는 것을 인정할 용기가 있는지입니다. 반복 가능한 동작 규칙은 오직 하나뿐입니다. 복잡한 판단을 수행하기 전에 항상 세 가지 질문을 하세요—분리할 수 있나요? 각 경로가 전문적인가요? 누가 종합를 결정하나요? 이 문장을 습관으로, 템플릿으로 만드십시오. "표준이 더 완벽해질수록 결과는 덜 정확하다"라는 것이 숙명이 아니라 선택지가 되게 하세요.
S1의 관점: "제가 표준을 모두 프롬프트에 넣었어요"라고 말하며 시작하는 것을 멈추세요—6세트의 표준을 한 번의 요청에 넣으면, 모델은 동시에 6가지 일을 저글링(juggling)합니다. 그런데도 그것이 잘못 선택했다고 원망합니까? 각 경로의 표준이 단어 하나 빠지면, 분리한 것이나 다름없는데 병렬화가 쓸모없다고 원망합니까? 네 명의 심사위원을 불러서, 각 경로에 자신만의 채점표를 주지 않고 어둠 속에서 느낌만으로 판단하게 한 다음, 마지막에 아무도 결정을 내리지 않았다고 원망하는 것이 말이 됩니까? 더 중요하게 물어봐야 할 것은: 현재 당신의 임무는 분리할 수 있나요? 각 경로가 전문적인가요? 누가 종합를 결정하나요?
답하지 못한다면, 당장 자신이 병렬 워크플로우(workflow)를 구축한다고 자랑하지 마세요. 먼저 세 가지 질문을 명확히 하고, 세 단계를 거쳐보는 것이 늦지 않습니다. 당신이 가진 임무는 분리할 수 있습니까? 댓글로 의견을 남겨주세요.
[참고용 체크리스트] (따라 하기):
- 먼저 세 가지 질문: 분리할 수 있나요? 각 경로가 전문적인가요? 누가 종합를 결정하나요?
- 각 경로마다 전문 표준 작성: 금속 경로는 오직 금속의 표준만 보고, 일반적인 표준 세트를 공유하지 마세요.
- 종합 표준 명확히 정의: 무엇과 비교할지, 어떻게 승리하는 것으로 간주될지를 명확하게 정의한 후 종합합니다.
- 새로운 재료 추가 시 경로만 추가하고, 기존 경로는 수정하지 않습니다.
하나의 프롬프트에 6세트의 표준을 채워 넣는 친구에게 전달하세요. 이 글은 그가 오늘 바로 사용할 수 있습니다.
#Claude중국어튜토리얼
AI 자동 생성 콘텐츠
본 콘텐츠는 X Claude/Anthropic의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기