콘텐츠로 이동

결과

Runner.run 메서드를 호출하면 다음 중 하나를 받습니다:

두 결과 모두 대부분의 유용한 정보가 담긴 RunResultBase를 상속합니다.

최종 출력

final_output 프로퍼티에는 마지막으로 실행된 에이전트의 최종 출력이 담깁니다. 이는 다음 중 하나입니다:

  • 마지막 에이전트에 output_type이 정의되지 않은 경우 str
  • 에이전트에 출력 타입이 정의된 경우 last_agent.output_type 타입의 객체

Note

final_output의 타입은 Any입니다. 핸드오프 때문에 이를 정적으로 타이핑할 수 없습니다. 핸드오프가 발생하면 어떤 에이전트든 마지막 에이전트가 될 수 있으므로 가능한 출력 타입 집합을 정적으로 알 수 없습니다.

다음 턴을 위한 입력

result.to_input_list()를 사용하여 결과를 입력 리스트로 변환할 수 있습니다. 이는 사용자가 제공한 원래 입력과 에이전트 실행 중 생성된 항목들을 연결합니다. 이를 통해 한 에이전트 실행의 출력을 다른 실행으로 넘기거나, 루프에서 실행하면서 매번 새로운 사용자 입력을 이어 붙이기에 편리합니다.

마지막 에이전트

last_agent 프로퍼티에는 마지막으로 실행된 에이전트가 담깁니다. 애플리케이션에 따라, 이는 사용자가 다음에 무언가를 입력할 때 종종 유용합니다. 예를 들어, 프런트라인 분류 에이전트가 언어별 에이전트로 핸드오프하는 경우, 마지막 에이전트를 저장해 두었다가 사용자가 에이전트에 메시지를 보낼 때 재사용할 수 있습니다.

신규 항목

new_items 프로퍼티에는 실행 중 생성된 신규 항목이 담깁니다. 항목은 RunItem들입니다. 실행 항목은 LLM이 생성한 원문 항목을 래핑합니다.

  • MessageOutputItem은 LLM의 메시지를 나타냅니다. 원문 항목은 생성된 메시지입니다.
  • HandoffCallItem은 LLM이 핸드오프 도구를 호출했음을 나타냅니다. 원문 항목은 LLM의 도구 호출 항목입니다.
  • HandoffOutputItem은 핸드오프가 발생했음을 나타냅니다. 원문 항목은 핸드오프 도구 호출에 대한 도구 응답입니다. 항목에서 소스/타깃 에이전트에도 접근할 수 있습니다.
  • ToolCallItem은 LLM이 도구를 호출했음을 나타냅니다.
  • ToolCallOutputItem은 도구가 호출되었음을 나타냅니다. 원문 항목은 도구 응답입니다. 항목에서 도구 출력에도 접근할 수 있습니다.
  • ReasoningItem은 LLM의 추론 항목을 나타냅니다. 원문 항목은 생성된 추론입니다.

기타 정보

가드레일 결과

input_guardrail_resultsoutput_guardrail_results 프로퍼티에는 가드레일 결과(있는 경우)가 담깁니다. 가드레일 결과에는 로그 기록이나 저장에 유용한 정보가 포함될 수 있으므로 이를 제공해 드립니다.

원문 응답

raw_responses 프로퍼티에는 LLM이 생성한 ModelResponse들이 담겨 있습니다.

원래 입력

input 프로퍼티에는 run 메서드에 제공한 원래 입력이 담깁니다. 대부분의 경우 필요하지 않겠지만, 필요할 때를 대비해 제공됩니다.