Agents에는 더 많은 프롬프트가 아니라 제어 흐름이 필요하다

4 days ago 13
  • 복잡한 작업을 안정적으로 처리하는 에이전트에는 더 정교한 프롬프트 체인이 아니라, 소프트웨어에 인코딩된 결정적 제어 흐름이 필요함
  • 프롬프트에서 MANDATORYDO NOT SKIP 같은 표현에 의존한다면 프롬프팅의 한계에 도달한 상태임
  • 문장이 제안처럼 동작하고 함수가 환각하면서 “Success”를 반환하는 프로그래밍 언어를 상상하면, 복잡도가 커질수록 추론이 불가능해지고 신뢰성이 무너짐
  • 소프트웨어는 라이브러리, 모듈, 함수로 구성되는 재귀적 조합성을 통해 확장되며, 예측 가능한 동작을 제공하기 때문에 국소적 추론이 가능함
  • 프롬프트 체인은 좁은 작업에는 유용하지만, 비결정적이고 명세가 약하며 검증하기 어려워 같은 성질을 갖지 못함

에이전트 신뢰성에 필요한 구조

  • 신뢰성을 확보하려면 논리를 자연어 설명에서 꺼내 런타임으로 옮겨야 함
  • 필요한 구조는 LLM을 전체 시스템이 아니라 하나의 구성요소로 다루는 결정적 스캐폴드
  • 이 스캐폴드는 명시적 상태 전이와 검증 체크포인트를 포함해야 함
  • 결정적 오케스트레이션만으로는 충분하지 않으며, 조용히 실패할 수 있는 시스템에는 공격적인 오류 감지가 필요함
  • 프로그램적 검증이 없으면 선택지는 세 가지로 줄어듦
    • 감시자(Babysitter)

      • 사람이 루프 안에 남아 오류가 전파되기 전에 잡아야 함
    • 감사자(Auditor)

      • 실행이 끝난 뒤 전체 결과를 철저히 검증해야 함
    • 기도(Prayer)

      • 결과를 분위기상 받아들이는 방식에 의존하게 됨
Read Entire Article