에이전트에게 필요한 건 지시가 아니다
프롬프트가 아니라 제어 흐름이 AI 에이전트의 신뢰성을 결정한다
왜 이 한 편인가
에이전트 신뢰성 문제는 대부분 "어떤 모델이 더 나은가"의 프레임으로 다뤄진다. 이 글은 그 프레임을 뒤집어, 모델 성능이 아니라 설계 구조의 문제로 각도를 잡는다. "MANDATORY" 같은 강조 어휘가 프롬프트에 등장하는 순간을 진단 신호로 읽는 시각은, 에이전트를 직접 운영하는 개발자·기획자 독자에게 오늘 당장 워크플로를 점검하는 기준을 준다.
현상
AI 에이전트 설계 현장에서 하나의 패턴이 반복된다. 복잡한 작업을 맡겼을 때 에이전트가 실수를 하면, 개발자는 프롬프트에 "반드시 해야 한다(MANDATORY)"거나 "건너뛰지 마라(DO NOT SKIP)" 같은 강조 표현을 더 추가한다. 그리고 또 실패한다. 이 반복은 단순한 시행착오가 아니라 구조적 오해에서 비롯된다.
해석
에이전트가 복잡한 작업에서 신뢰할 수 없는 이유는 지시가 부족해서가 아니다. 결정적 제어 흐름(deterministic control flow)이 코드로 인코딩되지 않았기 때문이다. 프롬프트에 의존하는 에이전트는 언어 모델이 상황마다 다른 경로를 선택할 수 있다. 같은 입력에 다른 출력이 나오는 이 비결정성은 프롬프트를 아무리 정교하게 다듬어도 제거되지 않는다.
신호는 명확하다. "MANDATORY" 같은 대문자 강조어가 프롬프트에 등장했다면, 그것은 프롬프팅의 한계에 도달했다는 신호다. 소프트웨어에 조건 분기·예외 처리·검증 단계를 코드로 박아야 할 지점을 언어로 메우려 한 것이다.
이 구분은 에이전트 설계의 책임 위치를 바꾼다. 언어 모델은 판단이 불확실한 영역의 처리를 맡고, 결정적으로 실행되어야 하는 단계는 코드가 직접 통제한다. 에이전트의 자율성은 이 두 영역의 경계를 얼마나 명확히 그었느냐에 달려 있다.