
한 줄 요약
좋은 AI 에이전트는 단순히 성능 좋은 LLM을 붙인 도구가 아니라, 사용자가 신뢰하고 통제하며 자신의 능력을 확장한다고 느끼게 만드는 인간 중심 시스템이다.1
핵심 메시지
AI 에이전트를 설계할 때 중요한 질문은 "모델이 얼마나 똑똑한가?"만이 아니다. 더 중요한 질문은 "사용자가 이 에이전트를 믿고 함께 일할 수 있는가?"이다.
LLM 기반 에이전트는 확률적으로 작동한다. 그래서 언제나 같은 답을 내지 않고, 때로는 애매하거나 틀린 판단을 할 수 있다. 이 불확실성은 단순한 결함이라기보다 생성형 AI의 기본 특성에 가깝다. 따라서 좋은 설계는 불확실성을 감추는 것이 아니라, 사용자가 확인하고 조정하고 되돌릴 수 있게 만드는 것이다.
결국 에이전트는 사용자를 대체하는 존재가 아니라 협업 상대가 되어야 한다. 사용자가 더 잘 판단하고, 더 넓게 탐색하고, 더 빠르게 실행하도록 돕는 성장 파트너로 설계되어야 한다.
배경: LLM 기반 에이전트 설계의 어려움
기존 소프트웨어는 비교적 예측 가능하다. 버튼을 누르면 정해진 동작이 실행되고, 입력과 출력의 관계도 명확한 편이다. 하지만 LLM 기반 에이전트는 다르다. 같은 요청에도 문맥, 표현, 이전 대화, 도구 사용 여부에 따라 다른 결과를 낼 수 있다.
이 특성은 강점이기도 하다. 에이전트는 사용자의 의도를 해석하고, 부족한 정보를 추론하고, 여러 단계를 나누어 처리할 수 있다. 하지만 동시에 사용자는 "지금 에이전트가 무엇을 알고 있는지", "어떤 근거로 판단했는지", "어디까지 실행할 수 있는지"를 알기 어렵다.
그래서 에이전트 설계에서는 성능만큼이나 신뢰, 제어권, 상태 가시성이 중요하다. 사용자가 에이전트의 행동을 이해하고 개입할 수 있어야 비로소 협업이 가능해진다.
에이전틱 디자인 패턴의 3가지 차원
에이전틱 디자인 패턴은 크게 공간, 시간, 핵심이라는 세 가지 차원으로 볼 수 있다. 이 세 차원은 에이전트가 사용자와 어떤 관계를 맺고, 어떤 맥락을 기억하며, 어떤 방식으로 신뢰를 쌓는지를 설명한다.
공간: 에이전트가 작동하는 환경 설계
공간 차원은 에이전트가 사람, 사건, 지식, 도구를 어떻게 연결하는지에 관한 것이다.
좋은 에이전트는 사용자가 흩어진 정보를 직접 찾아다니게 하지 않는다. 필요한 지식과 맥락을 연결해 주고, 사용자가 쉽게 접근할 수 있는 형태로 정리해 준다. 여기서 중요한 것은 정보를 줄이는 것이 아니라, 의미 있게 연결하는 것이다. 단순 요약이 아니라 사용자가 다음 행동을 할 수 있도록 맥락을 보존해야 한다.
또한 에이전트는 발견하기 쉬워야 한다. 사용자가 "이 기능이 있는지도 몰랐다"고 느끼면 좋은 기능도 실제로 쓰이지 않는다. 필요한 순간에 자연스럽게 드러나고, 사용자가 부담 없이 시도할 수 있어야 한다.
멀티모달 지원도 공간 설계의 일부다. 사용자는 텍스트뿐 아니라 이미지, 음성, 문서, 표 등 다양한 방식으로 정보를 다룬다. 에이전트가 이런 입력과 출력을 자연스럽게 처리할수록 실제 업무나 생활에 더 가까워진다.
전경과 배경의 작동 방식도 중요하다. 어떤 작업은 사용자가 직접 지켜보며 진행해야 하고, 어떤 작업은 배경에서 조용히 처리되어야 한다. 다만 배경에서 작동하더라도 사용자가 모르게 중요한 결정을 내려서는 안 된다. 협업은 투명해야 한다.
시간: 과거, 현재, 미래를 다루는 방식
시간 차원은 에이전트가 사용자의 맥락을 어떻게 기억하고, 현재 행동을 어떻게 돕고, 미래 변화에 어떻게 적응하는지를 다룬다.
과거 맥락을 기억하는 에이전트는 더 유용하다. 사용자의 취향, 이전 선택, 반복되는 요구를 반영할 수 있기 때문이다. 예를 들어 여행 계획 에이전트라면 사용자가 과거에 조용한 숙소를 선호했는지, 이동이 적은 일정을 좋아했는지, 음식 탐방을 중요하게 여겼는지 기억할 수 있다.
하지만 기억은 무조건 많을수록 좋은 것이 아니다. 중요한 것은 기억한 내용을 반추하고, 현재 요청에 적절히 적용하는 것이다. 오래된 정보가 지금도 유효한지 확인하지 않으면 오히려 잘못된 추천으로 이어질 수 있다.
현재에는 적절한 넛지가 필요하다. 넛지는 사용자를 강제로 이끄는 것이 아니라, 놓치기 쉬운 선택지를 부드럽게 알려주는 방식이다. "이 일정은 이동 시간이 길 수 있어요" 또는 "예산을 조금 낮추면 숙소 선택지가 크게 줄어듭니다"처럼 사용자의 판단을 돕는 개입이 좋다.
미래에는 사용자 변화에 적응해야 한다. 사용자의 취향과 상황은 계속 바뀐다. 에이전트가 과거 데이터에만 고정되면 편리함이 아니라 고집이 된다. 좋은 에이전트는 "이전과 다르게 추천해 볼까요?"처럼 변화 가능성을 열어 둔다.
핵심: 신뢰, 제어권, 투명성
핵심 차원은 에이전트를 신뢰할 수 있게 만드는 기반이다. 여기에는 신뢰, 제어권, 상태 가시성, 투명성, 피드백 루프가 포함된다.
신뢰는 에이전트가 항상 정답을 말한다고 주장할 때 생기지 않는다. 오히려 모르는 것은 모른다고 말하고, 불확실한 것은 불확실하다고 표시할 때 생긴다. 생성형 AI의 불확실성을 숨기면 사용자는 더 큰 위험에 노출된다.
제어권도 필수다. 사용자는 에이전트를 언제든 켜고 끌 수 있어야 한다. 에이전트가 자동으로 무엇을 하고 있는지 확인할 수 있어야 하며, 말투나 답변의 상세함도 조절할 수 있어야 한다. 학습에 사용된 데이터 삭제를 요청할 수 있는 기능도 중요하다.
상태 가시성은 "지금 무슨 일이 일어나고 있는가?"를 보여주는 것이다. 에이전트가 검색 중인지, 계산 중인지, 외부 도구를 호출했는지, 사용자 승인이 필요한 단계인지 알 수 있어야 한다. 상태가 보이지 않으면 사용자는 결과를 기다리는 것이 아니라 시스템을 의심하게 된다.
피드백 루프는 에이전트를 성장시키는 장치다. 사용자가 "이 추천은 별로예요", "더 저렴한 옵션을 보여 주세요", "다음부터는 가족 여행 기준으로 추천해 주세요"라고 말할 수 있어야 한다. 이 피드백이 다음 상호작용에 반영될 때 에이전트는 단순 응답기가 아니라 협업 파트너가 된다.
사용자 중심 설계 원칙
에이전트는 인간의 능력을 확장해야 한다. 사용자가 직접 하기 어려운 탐색, 비교, 정리, 반복 작업을 도와주되 최종 판단의 자리를 빼앗아서는 안 된다.
또한 지식 격차를 줄여야 한다. 전문가만 이해할 수 있는 정보를 사용자의 언어로 풀어주고, 선택지의 장단점을 비교할 수 있게 해야 한다. 좋은 에이전트는 사용자를 더 의존적으로 만드는 것이 아니라 더 잘 이해하게 만든다.
협업 방식도 존중해야 한다. 어떤 사용자는 빠른 결론을 원하고, 어떤 사용자는 근거와 과정을 자세히 보고 싶어 한다. 어떤 사용자는 적극적인 추천을 좋아하지만, 어떤 사용자는 조용한 보조를 선호한다. 에이전트는 하나의 방식만 강요하지 않고 사용자의 일하는 방식에 맞춰야 한다.
가장 중요한 원칙은 사용자를 대체하지 않는 것이다. 에이전트가 모든 결정을 대신하면 편해 보일 수 있지만, 장기적으로 사용자의 판단력과 주도성을 약하게 만들 수 있다. 좋은 에이전트는 사용자가 더 나은 결정을 내리도록 돕는 파트너여야 한다.
실무 적용 포인트
실무에서는 먼저 시스템 프롬프트로 에이전트의 역할과 금지 범위를 명확히 해야 한다. 에이전트가 무엇을 도와야 하는지, 어떤 상황에서는 답하지 말아야 하는지, 사용자의 승인이 필요한 작업은 무엇인지 정해 두어야 한다.
플러그인이나 함수는 에이전트의 기능을 구체화하는 데 유용하다. LLM이 모든 것을 말로 처리하게 두기보다, 예약 확인, 일정 계산, 문서 조회, 데이터 저장 같은 작업은 명확한 함수로 분리하는 편이 안전하다.
사용자에게는 조작 가능한 인터페이스가 필요하다. 에이전트를 켜고 끄는 기능, 현재 상태 확인, 말투 조절, 답변 길이 조절, 기억 데이터 확인과 삭제 요청 기능이 제공되어야 한다.
UI는 친숙해야 한다. 에이전트가 아무리 강력해도 사용법이 낯설고 복잡하면 신뢰하기 어렵다. 응답은 간결하게 시작하고, 필요할 때 더 자세한 정보를 단계적으로 보여주는 방식이 좋다. 처음부터 모든 정보를 쏟아내기보다 "요약 → 이유 → 세부 옵션"처럼 점진적으로 확장하는 구조가 실용적이다.
예시: 여행 계획 AI 에이전트에 적용하기
여행 계획 에이전트는 에이전틱 디자인 패턴을 설명하기 좋은 예시다. 여행 계획은 사용자의 취향, 예산, 일정, 동행자, 이동 방식, 과거 경험이 모두 영향을 주기 때문이다.
샘플 프롬프트는 다음처럼 구성할 수 있다.
당신은 사용자의 여행 계획을 돕는 AI 에이전트입니다.
사용자의 예산, 일정, 선호하는 여행 스타일을 바탕으로 여행지를 추천하고 일정을 제안하세요.
확실하지 않은 정보는 추측하지 말고 사용자에게 질문하세요.
항공권 예약, 숙소 결제, 개인정보 입력이 필요한 작업은 반드시 사용자 승인 후 진행하세요.
추천 이유와 대안을 함께 제시하되, 처음에는 간결하게 답변하세요.
사용자가 원하면 과거 여행 취향을 반영하되, 언제든 기억 내용을 확인하거나 삭제할 수 있게 안내하세요.이 에이전트는 과거 취향을 반영할 수 있다. 예를 들어 사용자가 이전에 "붐비는 관광지보다 조용한 동네 산책을 좋아한다"고 말했다면, 다음 여행 추천에서 유명 명소만 나열하지 않고 한적한 지역이나 여유 있는 동선을 제안할 수 있다.
추천 수정 요청 기능도 필요하다. 사용자는 처음 제안을 보고 "예산을 낮춰 줘", "아이와 함께 가기 좋게 바꿔 줘", "이동 시간을 줄여 줘", "맛집보다 자연 위주로 다시 짜 줘"라고 요청할 수 있어야 한다. 이런 피드백이 자연스럽게 반영될수록 에이전트는 실제 여행 플래너처럼 느껴진다.
데이터 삭제와 관리 기능도 중요하다. 여행 취향은 민감한 정보가 될 수 있다. 사용자는 저장된 선호 정보를 확인하고, 수정하고, 삭제할 수 있어야 한다. 예를 들어 "내가 저장한 여행 취향을 보여 줘" 또는 "가족 여행 관련 기억은 삭제해 줘"라고 요청할 수 있어야 한다.
이런 설계를 통해 여행 에이전트는 단순 추천 도구를 넘어선다. 사용자의 맥락을 이해하되, 사용자가 언제든 통제할 수 있는 협업 파트너가 된다.
기억할 문장
좋은 AI 에이전트는 똑똑한 모델이 아니라, 사용자가 믿고 함께 일할 수 있는 시스템이다.
생성형 AI의 불확실성은 숨길 문제가 아니라 설계로 다뤄야 할 특성이다.
제어권이 없는 자동화는 편리함이 아니라 불안함이 될 수 있다.
에이전트의 목표는 사용자를 대체하는 것이 아니라 사용자의 판단과 실행 능력을 확장하는 것이다.
신뢰는 완벽함에서 나오지 않고, 투명성과 수정 가능성에서 나온다.
참고
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
