Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

챗봇 응답 생성 과정 추적

SessionTrace는 Agent가 한 응답을 만들기 위해 거친 단계를 기록합니다. 컨텍스트 검색과 도구 호출을 확인하고, 사용자가 응답을 기다리는 동안 진행 상태를 표시하는 데 사용합니다.

Get Session Trace는 Agent RID, 세션 RID와 추적 ID를 받습니다. 완료된 대화에서는 Get Content의 exchanges[].result.sessionTraceId로 추적 ID를 얻을 수 있습니다.

진행 상태 읽기

status가 IN_PROGRESS이면 응답을 생성하는 중입니다. COMPLETE가 될 때까지 추적을 다시 조회합니다. 완료 상태는 응답 생성이 끝났다는 뜻이며, 개별 도구의 성공 여부는 각 출력의 type을 확인해야 합니다.

추가 컨텍스트를 담는 contexts는 응답 생성이 끝난 뒤에만 채워집니다. 따라서 진행 중에 이 필드가 없더라도 검색을 사용하지 않는 구성이라고 단정하지 않습니다. 완료한 추적에서 컨텍스트 객체가 존재하고 내부 목록이 비어 있으면 검색을 시도했으나 관련 컨텍스트를 찾지 못한 경우입니다.

도구 호출의 입력과 출력

toolCallGroups는 같은 시점에 시작하도록 요청한 도구 호출을 묶고, 그룹을 호출 요청 순서로 반환합니다. 이 배열만으로 실제 병렬 실행이나 그룹 내부 완료 순서를 판단하지 않습니다.

각 호출에는 toolMetadata와 input이 있으며, 도구 실행 중에는 output이 비어 있습니다. toolMetadata.type은 다음 값을 사용합니다.

값도구 종류
FUNCTION함수
ACTION액션
ONTOLOGY_SEMANTIC_SEARCH온톨로지 의미 검색
OBJECT_QUERY객체 쿼리
UPDATE_APPLICATION_VARIABLE애플리케이션 변수 갱신
REQUEST_CLARIFICATION추가 설명 요청
OBJECT_QUERY_WITH_SQLSQL 객체 쿼리
CODE_EXECUTION코드 실행

input.thought는 Agent가 도구를 선택한 이유에 관해 제공한 추가 메시지입니다. input.inputs는 매개변수 이름을 키로 사용하며, 각 값은 type: string과 value, 또는 type: rid와 rid로 표현합니다.

출력이 type: success이면 output에 문자열 또는 RID가 들어갑니다. type: failure이면 correctionMessage에 도구가 Agent에 반환한 수정 안내가 들어갑니다. Agent는 이 안내로 도구 입력을 고칠 수 있습니다. 추적을 읽는 애플리케이션은 도구 이름과 종류, 실행 중 상태 및 개별 실패를 구분하여 표시합니다.