상태 업데이트
상태 업데이트
표현식을 사용해 대화 중간에 에이전트가 동적 변수를 업데이트하도록 하세요.
개요
상태 업데이트 도구를 사용하면 대화가 진행 중인 동안 에이전트가 하나 이상의 동적 변수를 설정할 수 있습니다. 다른 시스템 도구와 마찬가지로 대화의 내부 상태만 변경하며, 외부 API나 클라이언트 측 함수를 호출하지 않습니다.
통화 진행 중 정보를 기록하는 데 사용하세요. 예를 들어 대화를 에스컬레이션해야 함을 표시하거나, 사용자가 제공한 값을 저장하거나, 다른 동적 변수에서 파생된 값을 계산할 수 있습니다.
LLM이 도구를 호출할 때마다가 아니라 workflow의 고정된 지점에서 상태 업데이트를 적용하려면 상태 업데이트 노드를 사용하세요. 동일한 상태 업데이트를 허용합니다.
기능
- 통화당 여러 업데이트: 한 번의 도구 호출로 최대 50개의 동적 변수를 한 번에 할당할 수 있습니다.
- 표현식 기반 값: 각 값은 상수, 기존 동적 변수, LLM이 대화에서 추출한 값 및 연산자를 조합할 수 있는 표현식의 결과입니다.
- 필요할 때만 LLM 추출: 이 도구는 필요한 업데이트에 대해서만 LLM에 매개변수 추출을 요청합니다. 상수 및/또는 기존 동적 변수만으로 구성된 업데이트는 함수 호출에 매개변수를 추가하지 않습니다.
- 즉시 사용 가능: 도구가 실행되면 업데이트된 동적 변수는 이후 프롬프트, 다른 도구 호출, 재정의 등 대화의 나머지 부분에서 다른 동적 변수와 동일하게 참조할 수 있습니다.
작동 방식
각 상태 업데이트는 표현식의 결과를 동적 변수에 할당합니다.
표현식은 다음 유형 중 하나이며, 표현식은 서로 중첩하여 더 복잡한 로직을 구성할 수 있습니다.
예를 들어 다음 상태 업데이트는 LLM이 사용자가 불만을 느낀다고 판단하거나 retry_count 동적 변수가 이미 3보다 큰 경우 should_escalate를 true로 설정합니다.
상태 업데이트를 평가하지 못하는 경우(예: 0으로 나누기) 도구 호출은 오류를 반환하며 해당 호출의 업데이트는 하나도 적용되지 않습니다.
구성
사용 사례
- 에스컬레이션 플래그: Genesys 통합 가이드에 나온 것처럼 다운스트림 시스템 또는 비즈니스 규칙이 확인하는 동적 변수(예:
should_escalate)를 설정합니다. - 추출된 정보 기록: 사용자가 제공한 값(주문 번호, 선호도, 선택한 부서)을 대화 후반에 사용할 동적 변수로 저장합니다.
- 파생 값: 카운터를 증가시키거나 두 변수를 하나로 결합하는 등 다른 동적 변수에서 값을 계산합니다.
목적: 외부 API를 호출하지 않고 대화를 기반으로 에이전트가 하나 이상의 동적 변수를 업데이트할 수 있도록 합니다.
트리거 조건: 다음과 같은 경우 LLM이 이 도구를 호출해야 합니다.
- 대화에서 기록해야 할 정보가 제공된 경우(예: 에스컬레이션 플래그, 선택한 옵션, 사용자가 제공한 값)
- 구성된 상태 업데이트가 LLM이 대화에서 판단하거나 추출해야 하는 값에 따라 달라지는 경우
파라미터:
함수의 파라미터는 도구 구성 방식에 따라 달라집니다. LLM이 추출한 값을 사용하는 구성된 각 상태 업데이트는 해당 업데이트의 동적 변수 이름을 따르고 string, number 또는 boolean 유형인 속성 하나를 스키마에 추가합니다. 상수나 다른 동적 변수만으로 구성된 상태 업데이트는 파라미터를 추가하지 않습니다.
함수 호출 형식:
구현: 에이전트는 추출된 파라미터와 대화의 현재 동적 변수를 사용해 구성된 모든 표현식을 평가한 다음, 결과를 해당 동적 변수에 할당합니다. 외부 요청은 수행하지 않습니다.
FAQ
이 도구는 외부 호출을 수행하나요?
아니요. 모든 시스템 도구와 마찬가지로 상태 업데이트는 대화의 내부 상태만 수정합니다. 외부 API나 클라이언트 측 함수를 호출하지 않습니다.
이 도구를 호출할 때 항상 LLM이 매개변수를 추출해야 하나요?
아니요. 이 도구는 표현식에 LLM 추출 값이 포함된 상태 업데이트에 대해서만 LLM에 매개변수 추출을 요청합니다. 구성된 모든 업데이트가 상수 및/또는 기존 동적 변수로 구성된 경우 함수 호출에는 매개변수가 없습니다.
이 도구가 설정한 동적 변수는 어디에서 사용할 수 있나요?
동적 변수를 사용할 수 있는 모든 곳에서 사용할 수 있습니다. 시스템 프롬프트, 첫 메시지, 도구 매개변수 및 헤더, 재정의가 해당합니다. 자세한 내용은 동적 변수를 참조하세요.
API를 통해 이 도구를 구성할 수 있나요?
상태 업데이트는 현재 에이전트 대시보드에서 구성할 수 있습니다. API 및 SDK 지원은 아직 제공되지 않습니다.