아티클
AI Agent에게 SOP를 통째로 던져주지 마세요: RFC 2119(MUST/SHOULD/MAY)로 Agent 동작 정밀하게 제어하기
사람용 SOP를 LLM에 그대로 밀어 넣으면, Agent는 한 번 성공하고 세 번 터지기 일쑤입니다. 본 글에서는 RFC 2119의 MUST, SHOULD, MAY를 활용해 System Prompt와 Agent Skill을 다시 작성하고, 하드 제약 조건, 강력한 권장 사항, 자율적 재량을 명확히 분리하는 방법과 3가지 실무 적용 원칙을 소개합니다.
· 4분 분량
많은 팀이 Agent를 실무에 도입할 때 가장 흔히 겪는 실수는 Word나 Notion에 정리된 '사람용 SOP'를 LLM에 통째로 밀어 넣고 알아서 잘 돌아가길 기대하는 것입니다. 그 결과는 대개 복권 긁기와 다를 바 없습니다. 한 번은 제대로 돌다가도 세 번은 터져버리죠.
문제는 모델의 성능 부족이 아닙니다. 사람용 SOP에는 방대한 양의 '암묵지(Tacit Knowledge)'가 숨어 있습니다. 사람의 뇌는 '결제 금액이 500원 미만이면 결재 생략', '이 단계에서 에러가 나면 일단 넘어가기' 같은 판단을 알아서 내립니다. 하지만 LLM에게 비정형 텍스트는 강약의 경계가 없기 때문에 그저 제멋대로 해석할 수밖에 없습니다.
Agent의 동작에 결정론적 확실성을 부여하려면 더 큰 모델로 바꾸는 게 우선이 아닙니다. 네트워크 프로토콜 명세의 고전 표준인 RFC 2119 시맨틱 계층을 도입해야 합니다.
결론부터 말하자면: 컴플라이언스, 보안, 핵심 Schema만 MUST로 지정하고, 나머지 경계는 SHOULD와 MAY에 맡기세요. 고위험 노드는 사람의 검토에 넘겨야 합니다.
왜 RFC 2119인가?#
System Prompt, Agent Skill, Workflow Rule을 작성할 때 '주의해 주세요', '가급적 ~하면 좋습니다', '최대한 ~해 주세요' 같은 모호한 표현은 모델에게 아무런 경계 구속력을 갖지 못합니다. 명확한 동사 레벨을 사용해야만 의사결정의 경계선을 강제로 그을 수 있습니다.
MUST / REQUIRED: 하드 제약 조건, 타협 불가#
- 시맨틱: 절대 건너뛸 수 없으며 예외 조건이 없음.
- 적용 시나리오: 데이터 유효성 검증, 보안 체크, Schema 출력 규격, 고위험 차단.
- 예시: "인보이스 API를 호출하기 전에 사번이 존재하는지
MUST 검증해야 한다. 반환값이 비어 있다면 MUST 즉시 실행을 중단해야 한다."
SHOULD / RECOMMENDED: 강력한 권장 사항, 그러나 합리적 편차 허용#
- 시맨틱: 매우 타당한 컨텍스트상의 이유가 없는 한 반드시 준수해야 함. 이를 벗어날 경우 Agent는 반드시 추론 근거를 밝혀야 함.
- 적용 시나리오: 알고리즘 전략 선택, 분류 우선순위, 재시도 로직.
- 예시: "고객 문의 유형 Ticket은
SHOULD 1차 CS 담당자에게 우선 배정해야 한다. 단, 결제 분쟁과 관련된 경우 재무 검토팀으로 변경 배정하는 것을 허용한다."
MAY / OPTIONAL: 자율적 선택, 완전한 재량#
- 시맨틱: 모델이 현재 컨텍스트 리소스나 token 예산에 따라 실행 여부를 자체적으로 결정할 수 있음.
- 적용 시나리오: 부가 설명, 확장 사고 제안, 선택적 로그 포맷.
- 예시: "처리 요약본을 생성할 때, 유사한 과거 참고 Ticket ID를 1~2개
MAY 추가할 수 있다."
실무 적용 3대 원칙#
1. 온통 MUST로 도배하지 말고 Reasoning 공간 남겨두기#
모든 규칙을 MUST로 작성하는 것은 LLM을 Deterministic Compiler처럼 쓰는 것과 같습니다. 이는 규칙 간의 충돌이나 Context 팽창에 따른 로직 데드락을 유발하기 쉽습니다. '컴플라이언스, 보안, 핵심 Schema'만 MUST로 지정하고, 나머지 경계는 SHOULD에 위임하세요.
2. 구조화된 Markdown 섹션과 결합하기#
Prompt를 아래 4개 섹션으로 분리하면 시맨틱 강도의 유효 범위(Scope)를 한눈에 파악할 수 있습니다:
## Parameters
## Constraints (RFC 2119)
## Execution Steps
## Error Handling
3. 고위험 노드는 Human-in-the-loop과 연동하기#
조건이 핵심 MUST 경계를 트리거할 때(예: 건당 금액 > $5,000, Admin 권한 변경), Agent의 유일한 MUST 동작은 '파이프라인을 일시 중단하고 사람이 검토하여 승인할 때까지 대기'하는 것이지, 사람 대신 결정을 내리는 것이 아닙니다.
결론: Demo용 장난감에서 Production-Ready로#
Agent를 혼자 다 하는 만능 '잡무 해결사'가 아니라 하나의 산업용 제조 라인으로 바라보세요. RFC 2119를 통해 행동 계약을 구축해야만 비로소 단순한 Demo 장난감을 벗어나 프로덕션 수준의 Production-Ready 단계로 나아갈 수 있습니다.