핸드오프 규칙을 사용하여 멀티 에이전트 애플리케이션에서 상위 에이전트와 하위 에이전트 간의 전송을 결정적으로 제어할 수 있습니다. 전송 조건을 정의하여 이러한 전송을 제어할 수 있습니다. 조건이 충족되면 즉시 전송을 강제하거나 조건이 충족될 때까지 전송을 차단할 수 있습니다.
예를 들어 사용자가 인증되면 에이전트 A가 에이전트 B로 전송하고 사용자가 인증되지 않으면 에이전트 C로 전송합니다.
안내를 사용하여 에이전트 전송을 유사하게 제어할 수 있지만 이러한 제어는 결정적이지 않습니다. 콜백을 사용할 수도 있지만 콜백에는 코드를 작성해야 합니다.
사용 사례 예시:
- 전달 핸드오프 (에이전트에서 하위 에이전트로)
- 인증된 사용자 또는 인증되지 않은 사용자를 다른 에이전트로 라우팅
- 사용자의 의도를 파악하고 적절한 에이전트로 안내
- 중요한 요청 (예: 금융 이체, PII 처리)을 특정 에이전트로 전달
- 역방향 핸드오프 (하위 에이전트에서 에이전트로)
- 인증 시도 실패 재시도
- 추가 정보 수집을 위한 루프백
- 사용자 요구사항 변경 후 재자격 요건 확인
- 반복적인 문제 해결 프로세스
구성
에이전트 빌더에서 핸드오프 규칙을 구성하려면 다음 단계를 따르세요.
- 에이전트 노드 아래에서 + 버튼을 클릭합니다.
- 핸드오프 규칙 추가 를 선택합니다. 핸드오프 규칙 구성 창이 열리고 하위 에이전트가 나열됩니다.
- 하위 에이전트를 선택합니다. 규칙 구성 창이 열립니다.
- 전송 방향 (상위 또는 하위)을 선택합니다.
- 인터페이스를 사용하여 변수를 기반으로 조건을 정의하거나 고급 코드 옵션을 사용할 수 있습니다.
- 저장 을 클릭합니다.
고급 코드 옵션을 선택하는 경우 샘플은 다음과 같습니다.
def should_trigger_transfer_callback(callback_context: CallbackContext) -> bool:
# Access session variables using callback_context:
# callback_context.variables['variable_name]
return True
제한사항
다음과 같은 제한사항이 적용됩니다.
변수 검사를 사용하는 규칙을 만들 때 여러 조건 (변수당 하나)을 지정할 수 있습니다. 이러한 조건은 AND 또는 OR 논리 연산자를 사용하여 연결할 수 있습니다. 나열된 모든 조건에 대해 하나 의 (AND/OR) 연산자만 선택할 수 있습니다. 논리 연산자를 혼합하고 조건을 함께 그룹화하려면 Python 코드 옵션을 사용하거나 API를 사용하여 조건을 지정하면 됩니다.
변수 검사에는 텍스트, 숫자, 불리언 변수 유형만 지원됩니다(목록 및 커스텀 객체 유형은 지원되지 않음).
핸드오프를 차단 하는 규칙을 정의할 때 조건은 코드 대신 변수만 사용하여 지정할 수 있습니다.
API를 사용하여 복잡한 조건(여러 AND/OR, 그룹화 등 사용)을 만드는 경우 핸드오프 규칙이 UI에서 읽기 전용으로 표시되며 API를 통해서만 수정할 수 있습니다.