개요
이 페이지에서는 Koog 프레임워크의 서브그래프(subgraph)에 대해 자세히 설명합니다. 이 개념을 이해하는 것은 여러 처리 단계에서 컨텍스트(context)를 유지하는 복잡한 에이전트 워크플로(agent workflow)를 만드는 데 매우 중요합니다.
소개
서브그래프는 복잡한 에이전트 워크플로를 관리하기 쉬운 순차적 단계로 나눌 수 있게 해주는 Koog 프레임워크의 핵심 개념입니다. 각 서브그래프는 고유한 컨텍스트, 책임, 그리고 선택적인 도구(tools) 세트를 갖는 하나의 처리 단계를 나타냅니다.
서브그래프는 전체 에이전트 워크플로를 나타내는 그래프인 전략(strategy)의 필수 구성 요소입니다. 전략에 대한 자세한 내용은 Custom strategy graphs를 참조하세요.
서브그래프 이해하기
서브그래프는 에이전트 전략 내의 독립적인 처리 단위입니다. 각 서브그래프는 다음과 같은 특징을 가집니다.
- 고유한 이름을 가집니다.
- 에지(edge)로 연결된 노드 또는 서브그래프의 그래프를 포함합니다.
- 도구 레지스트리(tool registry)의 모든 도구 또는 일부 도구 세트를 사용할 수 있습니다.
- 이전 서브그래프(또는 초기 사용자 입력)로부터 입력을 받습니다.
- 다음 서브그래프(또는 최종 출력)로 전달되는 출력을 생성합니다.
그래프에서 서브그래프의 순서를 정의하려면 에지 연결을 사용하거나 then 키워드를 사용하여 시퀀스를 정의합니다. 자세한 내용은 Custom strategy graphs를 참조하세요.
서브그래프 컨텍스트
각 서브그래프는 다음에 대한 액세스를 제공하는 컨텍스트(context) 내에서 실행됩니다.
- 환경 (environment)
- 에이전트 입력
- 에이전트 구성 (agent configuration)
- LLM 컨텍스트 (대화 기록 포함)
- 상태 관리자 (state manager)
- 스토리지 (storage)
- 세션(session) 및 전략(strategy)
컨텍스트는 서브그래프 내의 각 노드로 전달되며, 노드가 작업을 수행하는 데 필요한 리소스를 제공합니다.
