개요
이 페이지는 Koog 프레임워크의 서브그래프(subgraph)에 대한 자세한 정보를 제공합니다. 이러한 개념을 이해하는 것은 여러 처리 단계에 걸쳐 컨텍스트를 유지하는 복잡한 에이전트 워크플로우를 생성하는 데 중요합니다.
소개
서브그래프는 Koog 프레임워크의 기본 개념으로, 복잡한 에이전트 워크플로우를 관리하기 쉽고 순차적인 단계로 분해할 수 있게 해줍니다. 각 서브그래프는 고유한 컨텍스트, 책임, 그리고 선택적인 도구 서브셋을 포함하여 처리 단계를 나타냅니다.
서브그래프는 전체 에이전트 워크플로우를 나타내는 그래프인 전략(strategy)의 필수적인 부분입니다. 전략에 대한 자세한 내용은 사용자 지정 전략 그래프를 참조하세요.
서브그래프 이해
서브그래프는 에이전트 전략 내의 독립적인 처리 단위입니다. 각 서브그래프는 다음과 같습니다:
- 고유한 이름을 가집니다.
- 엣지(edge)로 연결된 노드 또는 서브그래프 그래프를 포함합니다.
- 도구 레지스트리에서 모든 도구 또는 도구 서브셋을 사용할 수 있습니다.
- 이전 서브그래프(또는 초기 사용자 입력)로부터 입력을 받습니다.
- 다음 서브그래프(또는 최종 출력)로 전달되는 출력을 생성합니다.
그래프에서 서브그래프 시퀀스를 정의하려면, 엣지 연결을 사용하거나 then
키워드를 사용하여 시퀀스를 정의합니다. 자세한 내용은 사용자 지정 전략 그래프를 참조하세요.
서브그래프 컨텍스트
각 서브그래프는 다음에 대한 접근을 제공하는 컨텍스트 내에서 실행됩니다:
- 환경
- 에이전트 입력
- 에이전트 구성
- LLM 컨텍스트 (대화 기록 포함)
- 상태 관리자
- 스토리지
- 세션 및 전략
컨텍스트는 서브그래프 내의 각 노드에 전달되며, 노드가 작업을 수행하는 데 필요한 리소스를 제공합니다.