각 에이전트에는 하나 이상의 예시가 포함됩니다. 이러한 예시는 대화 및 에이전트 앱에서 수행하는 작업을 포함한 최종 사용자와 에이전트 앱 사이의 샘플 대화입니다. 이 예시는 실제로 LLM에 대한 퓨샷 프롬프트 예시로 사용됩니다.

콘솔은 작업을 입력할 수 있는 인터페이스를 제공합니다.

다국어 에이전트 앱

에이전트 앱에서 여러 언어를 처리하도록 하려면 예시에 각 언어를 사용해야 합니다.

예시 입력 요약 및 출력 요약

입력 및 출력 매개변수 외에도 에이전트에서 다른 에이전트와 정보를 교환하기 위해 입력 요약을 수신하고 출력 요약을 내보낼 수 있습니다. 요약은 에이전트 간에 추상적인 컨텍스트 정보를 전달하는 데 유용한 반면, 매개변수는 에이전트 간에 구조화되고 잘 정의된 필드를 전달하는 데 더 유용합니다. 매개변수는 흐름과 에이전트 간에 데이터를 교환하기 위한 유일한 방법입니다.

관련 입력 요약을 예시에 추가하면 에이전트가 조건부로 런타임에 입력 요약에 따라 작업을 조정합니다. 예시 대화에 대한 관련성 높은 정확한 세부정보를 포함한 출력 요약을 추가하여 에이전트에 요약해야 하는 세부정보가 무엇인지 표시합니다.

예시 상태

대화의 특정 시점에서 에이전트는 다음 상태 중 하나입니다.

  • OK: 에이전트가 목표를 성공적으로 달성했으며 제어 권한이 상위 에이전트로 이전됩니다.
  • CANCELLED: 사용자가 에이전트에 할당된 목표를 진행하지 않기로 결정했습니다. 이제 제어 권한이 상위 에이전트에게 이전됩니다. 상위 에이전트가 CX 흐름인 경우 흐름이 실행되기 전에 사용자 입력의 인텐트가 감지됩니다.
  • FAILED: 일부 오류로 인해 에이전트에서 목표를 진행할 수 없습니다(예: 도구에서 500 오류 반환). 세션이 실패 상태로 종료됩니다. EndInteraction 메시지가 응답에 추가됩니다.
  • ESCALATED: 에이전트에서 목표를 달성할 수 없다고 결정했으며 상황을 상담사에게 에스컬레이션해야 합니다. 세션이 에스컬레이션된 상태로 종료됩니다. EndInteraction 메시지가 응답에 추가됩니다.
  • PENDING: 대화가 에이전트 내에서 계속 진행되고 있습니다.

최상위 예시와 에이전트 호출은 참조 중인 에이전트에 해당하는 상태로 표시됩니다.

선택 전략

선택 전략은 각 예시가 에이전트의 프롬프트에 포함되는지 여부를 제어합니다.

  • DEFAULT: 프롬프트가 토큰 한도에 가까워지면 이 예시가 생략될 수 있습니다.
  • STATIC: 예가 항상 포함됩니다.
  • NEVER: 예시가 프롬프트에 포함되지 않습니다. 이 예시는 에이전트 성능에 아무런 영향도 미치지 않습니다.

작업 추가

에이전트 내에 제공되는 예시는 일련의 작업으로 구성됩니다. 이러한 작업은 조합에 따라 달라질 수 있지만 주로 사용자와 에이전트 간의 상호작용과 사용자의 쿼리나 요구사항이 충족되도록 그 사이에 수행되는 작업을 보여줍니다.

작업을 예시에 추가하는 방법에는 두 가지가 있습니다.

  • 작업을 수동으로 추가하려면 오른쪽 창 하단에 있는 + 버튼을 클릭하거나 기존 작업 위에 마우스 포인터를 놓은 상태에서 작업 추가 버튼을 클릭합니다. + 예시 옵션을 클릭하여 새 예시를 만들거나 기존 예시를 수정할 때 이러한 옵션을 사용할 수 있습니다.

  • 기존 에이전트 안내에 따라 작업을 자동으로 생성하려면 오른쪽 창 하단에 있는 사용자 입력 필드에 사용자 입력을 입력합니다. 예시를 만들거나 수정할 때 이 옵션을 사용할 수 있습니다. 또는 오른쪽에 있는 에이전트 미리보기 창에서 런타임 시 에이전트를 테스트할 때 이 옵션을 사용할 수 있습니다. 에이전트 미리보기 창에서 작업을 예시에 저장하려면 에이전트 미리보기 창 왼쪽에 있는 호출 목록에서 에이전트 호출을 선택한 후 예시 저장을 클릭합니다.

자동으로 생성된 작업 정확성을 확인하고 필요한 경우 수정하세요. 이는 예시가 거의 또는 전혀 없는 에이전트에 특히 중요합니다.

에이전트에서 지원하는 작업 유형은 다음과 같습니다.

에이전트 응답

사용자 쿼리에 대한 에이전트 응답입니다.

사용자 입력

사용자 쿼리입니다.

도구 사용

사용자 쿼리를 처리하는 데 필요한 추가 정보를 가져오기 위한 도구 호출입니다. 이 작업에서는 다음 세부정보를 지정해야 합니다.

  • 도구: 호출해야 하는 도구의 이름입니다.
  • 작업: 호출해야 하는 OpenAPI 도구 작업의 이름입니다. 데이터 스토어 도구함수 도구의 경우 작업 이름은 도구 이름과 동일합니다.
  • 도구 입력: 도구 호출에 포함할 입력입니다. 일반적으로 사용자와의 이전 대화 차례에서 파생됩니다.

    Open API 도구의 경우 POST, PUT, PATCH 메서드 유형에는 requestBody JSON이 필요합니다.

    createPet 작업의 샘플 Open API 도구 requestBody 입력:

    {
      "id": 1,
      "name": "Luna"
    }
    

    데이터 스토어 도구의 경우 쿼리가 필수이고 다른 필드는 선택적인 샘플 requestBody입니다.

    {
      "query": "Where is my nearest store?",
      "filter": "country: ANY(\"United States\")",
      "userMetadata": {
        "userCity": "San Fransisco",
      },
      "fallback": "We don't have any stores in your area."
    }
    
  • 도구 출력: 도구 호출에 대한 응답입니다. 도구에서 지정된 입력으로 이동하는 유효한 JSON 응답입니다. Open API 도구의 경우 문자열 오류(예: '404 Not found')일 수도 있습니다.

    listPets 작업의 샘플 Open API 도구 출력:

    {
      "pets": [
        {
          "id": 1,
          "name": "Luna"
        },
        {
          "id": 2,
          "name": "Charlie"
        }]
    }
    

    샘플 데이터 스토어 도구 출력:

    {
      "answer": "Here's the address to your nearest store ...",
      "snippets": [
        {
          "title": "San Fransisco Downtown",
          "uri": "https://www.example.com/San_Fransisco_Downtown",
          "text": "Address for San Fransisco Downtown .."
        }
      ]
    }
    

에이전트가 장애로부터 안전하게 하려면 도구 호출이 실패할 때의 에이전트 응답 방법 예시도 포함합니다. Open API 도구 호출 실패는 도구 출력에서 오류 문자열('404 not found')로 표시될 수 있습니다. 데이터 스토어 도구의 경우 요약된 답변이 없으면 fallback 입력을 사용하여 응답 방법을 지정할 수 있습니다.

데이터 스토어 도구가 에이전트 응답에 URI를 포함하도록 하려면 에이전트가 응답할 URI가 포함된 예시를 추가합니다. 이 URI가 데이터 스토어 도구에서 제공된 경우 데이터 스토어 도구 출력에는 에이전트 응답의 URI와 일치하는 URI가 포함되어야 합니다. fallback은 에이전트 응답에 URI가 포함되도록 데이터 스토어 도구 답변을 다르게 표현하는 LLM 에이전트 기능을 중지하므로 이 시나리오에서 사용할 수 없습니다.

도구 사용 작업이 포함된 예시는 매우 상세하고 입력 토큰 한도 소비 증가에 영향을 미칠 수 있습니다. 토큰을 효율적으로 사용하려면 도구 출력이 간결해야 하고 도구 출력에 에이전트 목표와 관련된 정보가 포함되어야 합니다. 데이터 스토어 도구의 경우 스니펫이 입력 토큰을 많이 소비할 수 있으므로 예시에서 스니펫을 삭제하는 것이 좋습니다.

에이전트 호출

이 작업은 에이전트가 사용자 쿼리를 처리하기 위해 다른 에이전트를 호출할 때 사용됩니다. 이 작업에서는 다음 세부정보를 지정해야 합니다.

  • 에이전트: 호출할 에이전트의 이름입니다.
  • 에이전트 호출 입력 요약: 호출된 에이전트에 유용한 이전 대화의 관련 부분에 대한 요약입니다.
  • 입력 매개변수: 에이전트에 전달할 입력 매개변수입니다.
  • 에이전트 호출 출력 요약: 에이전트에서 목표 완료 시 생성해야 하는 작업에 대한 요약입니다.
  • 출력 매개변수: 목표가 달성되었을 때 에이전트에서 생성한 출력 매개변수입니다.