Managed Deep Agents를 활용하여 뛰어난 기본 사용자 경험을 구축하는 방법
요약
새로운 reactions API와 SDK를 활용하여 Managed Deep Agents의 로딩 상태 및 상호작용 사용자 경험(UX)을 개선하는 방법을 다룹니다. 에이전트가 작업 중임을 시각적으로 보여주는 것이 사용자의 신뢰도를 높이는 핵심 요소입니다.
핵심 포인트
- Managed Deep Agents에 새로운 reactions API를 적용하여 이모지 응답을 동적으로 할당할 수 있습니다.
- 로딩 상태는 에이전트 UX에서 과소평가되기 쉬우며, 사용자에게 가시성을 제공하는 것이 중요합니다.
- Jev와 같은 의사결정 모델을 활용해 맥락에 맞는 풍부한 이모지 응답을 구현할 수 있습니다.
핵심 요약
- Slack 채널의 새로운 reactions API는 간단한 휴리스틱(heuristics)이나 Jev와 같은 의사결정 모델을 사용하여 Managed Deep Agents에 대한 로딩 상태 및 수신 확인 기능을 쉽게 구축할 수 있게 합니다.
- 이 새로운 SDK는 에이전트와 상호작용하는 사용자를 위한 사용자 친화적인 인터페이스와 로딩 상태를 구축하는 데 도움을 줍니다.
- 내부 에이전트 및 비개발자 사용자와 함께 이 디자인 사고방식을 어떻게 사용하는지 확인해 보세요.
로딩 상태는 효과적인 에이전트 사용자 경험(UX)을 구축할 때 가장 과소평가되거나(그리고 잊히기 쉬운) 설계 측면 중 하나입니다.
저희의 경험에 따르면, 사용자는 에이전트가 실제로 무엇을 하고 있는지 가시성을 확보할 때 에이전트를 신뢰합니다. 이러한 행동은 디지털 객체가 실제 세계의 대응물을 모방하는 디자인 개념인 스큐어모픽 UI(skeuomorphic UI)의 형태로 더 많이 나타나고 있습니다. 선구적인 Domino’s Pizza Tracker는 에이전트에 적용될 수 있는 가장 두드러진 스큐어모픽 디자인의 예시 중 하나입니다. 오늘날 디지털 로딩 상태(심지어 사용자에게 거짓말을 할 수도 있는 것들)는 모든 사용자 경험을 이해하기 쉽고 효과적으로 만드는 데 매우 중요합니다. Managed Deep Agents를 위한 새로운 reactions SDK는 에이전트와 상호작용하는 사용자를 위해 즐거운 인터페이스와 로딩 상태를 구축할 수 있는 훌륭한 도구입니다.
Managed Deep Agents의 새로운 reactions 속성
v0.9에서 Managed Deep Agents는 분산된 에이전트에 대한 반응(reaction)을 관리하기 위한 새로운 API와, 의사결정 모델, frontier model 또는 예전 방식의 if 문과 같은 원하는 도구를 사용하여 이모지 응답을 동적으로 할당하는 시스템을 포함합니다.

Slack 채널용 new reactions 속성은 이모지를 나타내는 문자열이나 하나를 반환하는 호출 가능(callable) 객체를 모두 허용합니다:
from managed_deepagents import channels
async def choose_emoji(context: dict) -> str:
return
LangChain 개발자들이 로딩 상태나 대기 패턴에서 사용자 만족을 주는 일반적인 패턴을 적용할 수 있기를 바랍니다. 많은 에이전트 작업은 오랜 시간 동안 실행될 수 있기 때문입니다. 에이전트와 상호작용하는 최종 사용자는 자신의 요청이 접수되었음을 인지해야 합니다.
예를 들어, 저희는 최근 비디오 콘텐츠를 생성하기 위한 내부 마케팅 에이전트를 출시했습니다. 에이전트가 응답을 기다리는 동안 사용자에게 에이전트의 진행 상황을 이해시키는 것이 도움이 됩니다.
저희 에이전트가 만들 수 있는 비디오 및 모션 그래픽 콘텐츠 유형의 예시는 다음과 같습니다:
단순히 이모티콘 하나로 메시지에 응답하는 것만으로는 종종 충분하지 않습니다. 또한 에이전트가 사용자가 작업을 어떻게 해석했는지 사용자에게 알려줘야 하며, 이러한 맥락적 응답은 에이전트를 설계하는 핵심 부분이 될 수 있습니다.
기본적인 반응 예시를 더 발전시켜 보겠습니다. Jev와 같은 의사 결정 모델을 사용하여 입력된 맥락에 따라 이모티콘의 특정 어휘 집합 중에서 선택하도록 할 수 있습니다. Jev는 최대 255개의 선택지를 지원하지만, 여러 질문으로 구성된 의사 결정 매트릭스를 만들어서(예를 들어, 이모티콘을 카테고리로 그룹화하고 Jev에게 먼저 카테고리를 선택하라고 요청한 다음, 이모티콘을 선택하도록 하는 방식) 더 많은 이모티콘에 대해 질의할 수 있습니다:
from functools import lru_cache
from langchain_typesafe import Choice, TypeSafeClassifier
from managed_deepagents import channels
...
이 예시에서는 LangChain 툴킷의 일부인 새로운 TypeSafe Classifier를 사용하고 있습니다. 이는 Jev와 같은 TypeSafe 호환 의사 결정 모델과 상호 작용하는 좋은 방법이지만, LangSmith LLM Gateway에 호스팅된 SemIf와 같이 다른 의사 결정 모델을 동일한 엔드포인트로 사용할 수도 있습니다. 또는 모델 간 전환하여 최적의 옵션을 실험해 볼 수도 있습니다.
같은 이모티콘이라도 에이전트가 수행하는 작업에 따라 완전히 반대되는 의미를 가질 수 있습니다. 예를 들어, 온콜(on-call) 에이전트에게서 나온 🔥는 프로덕션에 문제가 생겨 깨어나야 함을 의미할 수 있고, 성장(growth) 에이전트에게서 나온 🔥는 캠페인이 잘 진행되고 있어 다시 잠자리에 들어도 된다는 의미일 수 있습니다. 이것이 바로 `criteria`
설명(descriptions)이 이모지 이름보다 더 많은 역할을 합니다. 모델은 상황에 대한 귀하의 설명과 일치하기 때문에, 동일한 글리프는 작업 공간이 이미 부여하는 모든 의미를 지니게 됩니다.
위 예시는 또한 신뢰도 임계값(confidence thresholds)을 활용할 수 있음을 보여줍니다. 만약 의사 결정 모델이 최고 선택에 대해 25% 미만의 확신도를 가진다면, 우리는 👀로 폴백(fall back)합니다. 제공한 이모지 중 어떤 것도 적절하지 않은 경우 반응 없음(no reaction)으로 폴백할 수도 있습니다.
이 디자인에는 부정직함이 있다는 주장을 할 수 있습니다: 서로 다른 모델이 응답하는 모델로부터 반응 응답을 점수화하기 때문에, 해석에 미묘한 차이가 있을 수 있습니다. 이러한 이유로, 각 반응이 어떻게 사용되기를 기대하는지에 대한 효과적인 설명을 작성하는 것이 중요합니다. 설명이 지나치게 일반적이면, 비록 다른 반응이 훈련되지 않은 눈에는 과적합(overfit)되지 않더라도, 점수화 모델은 특정 반응 응답에 과도하게 집중할 것입니다.
Slack 단축코드(shortcode)를 사용하여 어휘집(vocabulary)에 사용자 지정 이모지를 추가할 수 있습니다. 내부 콘텐츠 에이전트의 경우, 적용 AI 팀에서 에이전트가 답장에 사용할 수 있는 사용자 지정 이모지 세트를 만들었습니다. 저는 에이전트가 콘텐츠 작성 지시를 받았을 때 선택하는 `lc-no-em-dash`가 마음에 듭니다:

다양한 접근 방식을 실험해 보세요. 이모지에 대한 다른 설명(또는 어휘집 구조화 방식 자체의 변화)은 다른 결과를 가져올 것입니다. 마찬가지로, 에이전트가 사용할 수 있는 이모지 세트를 확장하거나 축소하세요.
Managed Deep Agents는 우리가 에이전트 채택에 중요하다고 생각하는 모든 미묘한 디자인 인터페이스를 간단하고 표현력이 풍부한 API를 통해 활용하도록 설계되었습니다. 문서(documentation)를 사용하여 기존 Managed Deep Agents에 반응을 추가하는 것부터 시작해 보세요. 또는, 관리형 딥 에이전트(managed deep agent)를 이전에 구축한 적이 없다면, 빠른 시작 가이드(quickstart)가 가장 좋은 시작 지점입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기