수백 개의 프롬프트에서 배운 대화형 AI의 원리

수백 개의 고객 대면 프롬프트를 통해 AI 에이전트가 일관되게 말하고, 유용성을 유지하며, 하나의 브랜드 목소리를 반영하는 방법을 알아봅니다.

핵심 요약

  • 고객 대면 AI는 브랜드를 대표하므로, 이를 만드는 데 필요한 역량은 내부 도구를 개발할 때와 근본적으로 다릅니다.

  • 제대로 작동하는 에이전트와 설득력 있는 에이전트를 가르는 것은 기술적 차이라기보다 개념적 차이입니다. 대부분의 프롬프트가 대화를 염두에 두고 설계되는 것이 아니라 일련의 지침으로 작성되기 때문입니다.

  • 언어학과 인지심리학은 더 나은 관점을 제시합니다. 대화에는 구조가 있으며, 프롬프트는 주의를 유도하는 환경을 만듭니다. 무엇을 처음에 두고, 무엇을 반복하며, 어떻게 마무리하는지가 에이전트의 행동을 일관되게 좌우합니다.

  • 제약은 정확할 때만 도움이 됩니다. 예외 상황이 너무 많으면 상호작용이 부자연스러워지고 프롬프트도 다루기 어려워집니다. 판단할 사안을 줄이면 더 중요한 결정에 집중할 수 있습니다.

기업이 대화형 고객 대면 AI를 구축하는 일은 만만치 않습니다.

직원 개개인이 AI와 협업하고 내부용 맞춤형 AI 도구까지 개발할 만큼 이 기술을 적극적으로 도입한 기업이라도, AI를 고객을 비롯한 외부 세계와 비즈니스가 만나는 접점에 내세우는 것은 전혀 다른 문제입니다.

그리고 이는 일종의 승진이기도 합니다. AI가 고객을 직접 상대하게 되면 성실한 인턴에서 회사가 공인한 직원으로 승진합니다. 유니폼을 입고 고객 앞에서 브랜드를 대표하게 되는 셈입니다.

그만큼 위험 부담도 큽니다. 이제 실수 하나하나가 공개되며 기록으로 남을 수도 있습니다.

우리가 만드는 제품은 비즈니스 차원에서 복잡하게 상호작용하는 다중 에이전트 시스템인 경우가 많습니다. 하지만 그런 로직은 오히려 쉬운 부분일 수 있습니다. 더 큰 과제는 사용자가 처음부터 끝까지 하나의 에이전트와 대화하고 있다고 느끼게 하고, 그 에이전트의 말에 가치가 있다고 납득시키는 것입니다.

그래서 우리는 프롬프트를 쓰고 또 고칩니다.

어떤 에이전트는 수백 차례의 프롬프트 수정을 거쳐 탄생합니다. 목표는 모두 같습니다. 맡은 과업에서 벗어나지 않으면서 인간 사용자에게 와닿는 목소리로 말하는 것입니다.

프롬프트를 다듬어 온 경험을 바탕으로, 우리는 창의적인 방식으로 영감을 찾게 되었습니다. 다른 분야의 개념을 빌려오기 시작한 것입니다. 물론 모든 시도가 성공한 것은 아니며, 효과가 있었던 방법도 첫 시도부터 잘 맞은 경우는 드물었습니다. 이런 탐색의 결과, 우리 팀에는 기존 프롬프팅과 다른 패러다임이 자리 잡기 시작했습니다.

언어학과 인지심리학에서 얻은 프롬프팅 인사이트

기능적으로는 제대로 작동하는 에이전트와 탁월한 대화 능력을 갖춘 에이전트의 차이는 단순히 기술적인 데 있지 않고 개념적인 데 있습니다. 이는 프롬프트를 통해 에이전트에게 설정해 놓은 세계와 에이전트가 실제로 소통해야 하는 인간의 현실 세계 사이의 간극입니다.

현실의 인간 의사소통은 모호성이 특징입니다. 인간은 이런 모호성에 익숙하며, 선의로 대화하는 사람들은 미묘하고 암묵적인 담화 규칙에 따라 협력하며 이를 헤쳐 나갑니다. 준비가 부족한 에이전트는 금세 티가 납니다.

제4의 벽, 즉 튜링의 환상을 유지하려면 언어학과 인지심리학의 통찰을 활용해 에이전트가 대화의 기술을 익히도록 해야 합니다.

언어학에는 실제 상황에서 쓰이는 언어를 연구하는 다양한 도구가 있습니다. 그중 대화분석은 사람들이 순간순간 대화를 어떻게 구성하고 관리하는지 살펴봅니다. 이 틀을 프롬프팅에 적용하면 대화를 말의 교환이 아니라 행동의 교환으로 바라보고 사고할 수 있는 어휘를 얻게 됩니다.

정보를 얻거나 제공하는 실용적 행동도 있고, 친밀감을 유지하거나 마찰을 피하는 사회적 행동도 있습니다. 이러한 움직임은 더 큰 대화 구조와 그 단계 안에서 이루어지며, 각 단계에는 기대되는 행동이 있습니다. 대화에는 시작과 끝뿐 아니라 주제 전환과 전환의 사전 단계도 있습니다. 새로운 방향이 은근히 제안되고, 조율되고, 암묵적으로 결정되는 때로는 어색한 순간들입니다.

모두가 최선의 의도를 지녔어도 의사소통의 오류는 끊임없이 발생합니다. 사람마다 대화 능력에는 차이가 있지만, 핵심은 에이전트의 기반이 되는 LLM에는 평범한 인간 화자조차 지닌 직관이 기본으로 갖춰져 있지 않다는 것입니다.

주의를 활용해 제약 속에서 명확성을 확보하는 방법

언어학적 분석과 더불어 인지심리학은 이를 보완하는 관점을 제시합니다. 인지심리학은 주의와 기억, 의사 결정이 실제로 어떻게 작동하는지, 즉 사람들이 처음과 마지막에 접한 정보에 각각 어느 정도의 비중을 두는지, 특정한 자극이 어떻게 예측 가능한 행동을 유도하는지, 제약을 통해 인지 부하를 줄이면 어떻게 오히려 더 자유롭게 행동할 수 있는지를 설명합니다.

프롬프트는 지침을 담는 중립적인 그릇이 아닙니다. 주의를 유도하는 환경입니다. 따라서 맨 위에 무엇을 두는지가 중요합니다. 맨 아래에 무엇을 두는지도 중요합니다. 무엇을 반복하는지도 중요합니다. 사람들은 목록을 보면 중간보다 처음과 끝부분을 더 쉽게 기억하는 경향이 있습니다. 심리학에서는 이를 계열 위치 효과, 즉 초두 효과와 최신 효과라고 합니다.

실제로 LLM에서도 비슷한 현상이 나타납니다. 맨 앞의 지침은 에이전트가 누구인지, 어떤 역할을 맡는지, 어떤 세계를 마주할 것으로 예상하는지를 규정하는 틀을 세웁니다. 마지막 지침은 흔히 에이전트가 ‘가장 마지막으로 들은 말’처럼 작용합니다. 가장 중요한 지침을 그곳에 두면 실제 행동으로 이어질 가능성이 커집니다.

프롬프트 안에서 각 지침을 어디에 배치할지 신중하게 고민하는 동시에, 그 지침들이 에이전트에게 만들어 주는 경계의 전체적인 형태도 살펴야 합니다.

지침은 에이전트에 대한 제약으로 작용해, 에이전트가 판단해야 할 여러 가능성을 줄이고 전체 문제 공간을 좁힙니다. 프롬프트에는 에이전트가 감당할 수 있을 만큼 과업을 명확히 제한하는 제약이 필요합니다.

사람, 특히 경험이 부족한 직원에게 지시할 때는 당면한 과업의 모호성을 없애 인지 부하를 최대한 줄이는 것이 현명하다고 심리학은 말합니다. 제약은 자유를 억누르는 것처럼 보일 수 있습니다. 하지만 판단할 사안이 줄면 남은 몇 가지 중요한 결정에 집중하고, 주어진 한계 안에서 행동을 실행하는 데 창의성을 발휘할 여유가 생깁니다.

반대로 생각할 수 있는 모든 예외 상황을 행동 예시로 일일이 지정해 에이전트가 스스로 판단할 여지를 전혀 남기지 않으면, 대화가 딱딱하고 부자연스러워지기 쉽습니다. 게다가 if와 else를 덕지덕지 이어 붙인 복잡한 프롬프트가 만들어져 관리하기도 매우 어려워집니다.

(특히 퓨샷 프롬프팅이 그렇습니다.)

경계가 잘 설정된 프롬프트는 요구 사항을 과도하게 늘려 에이전트를 마비시키지 않으면서도 방향을 충분히 명확하게 제시합니다. 이를 위해서는 무엇을 말하고 말하지 않을지, 또 어떻게 말하고 말하지 않을지에 관해 에이전트에게 제시하는 예외 상황이나 목표를 줄여야 할 때가 많습니다.

퓨샷 프롬프팅과 경계 기반 프롬프팅

퓨샷 프롬프팅과 경계 기반 프롬프팅을 비교한 도표.

우리의 경험상 경계를 조정하려고 퓨샷 예시를 찾고 있다면, 그 경계 자체가 충분히 정밀하지 않은 것입니다. 핵심 지침으로 돌아가 더 정교하게 다듬으세요.

더 나은 대화를 위한 조건 설계

인지심리학의 관점에서 우리는 프롬프트 안에 여러 지침을 어디에 배치해야 할지 검토하고, 에이전트의 문제 공간에 최적의 경계를 설정하는 데 필요한 지침의 양과 질을 모두 살펴봤습니다.

앞서 언어학의 관점에서 살펴본 대화의 기술을 되짚어 보면, 대화 중심 지침을 에이전트의 더 큰 과업 경계에 포함함으로써 프롬프팅 패러다임을 완성할 수 있습니다.

고객 대면 AI에서 대화는 우리가 인정하든 그렇지 않든 언제나 메타 과업입니다. 프롬프트에서 대화를 의도적으로 다루기로 하면 에이전트의 처리 역량, 즉 ‘인지 부하’의 일부를 대화의 맥락을 파악하고 적절히 대응하는 데 할당하게 되며, 이는 에이전트의 대화 능력을 향상합니다.

다만 전체 문제 공간을 감당할 수 있고 명확한 경계 안에 유지하려면 주 과업의 범위를 줄여야 할 가능성이 큽니다.

따라서 고객 대면 AI에서는 더 나은 대화와 의사 결정을 위한 조건을 종합적으로 설계합니다. 우리는 규모가 작고 경계가 명확하며, 주 과업이 대화라는 메타 과업의 맥락 안에 놓이거나 이를 포함하는 에이전트를 지향합니다. 수많은 지침을 쌓아 놓고 예시를 통해 다듬는 방식은 사용하지 않습니다. 대신 예시가 필요 없을 만큼 정밀하게 다듬은 소수의 지침을 작성합니다.

이것이 과업에 충실하면서도 세련되게 대화하는 에이전트를 만들기 위해 우리가 사용하는 프롬프팅 패러다임입니다.

이제 개념적 지형을 살펴봤으니 다음 블로그에서는 더 실용적인 내용을 다루겠습니다. 실제 환경에서 시행착오를 거치며 이런 원칙을 프롬프트에 적용하는 과정에서 발견한 몇 가지 핵심 패턴을 살펴보겠습니다. 흥미롭게도 프런티어 모델 제공업체들도 자체 프롬프팅 지침에 이와 유사한 패턴을 반영하기 시작했습니다. 다음 글에서 계속하겠습니다.

작성자

Douglas Smith 및 Sam Netherwood