프로세스 프레임워크의 핵심 구성 요소

프로세스 프레임워크는 개발자가 핵심 구성 요소를 통해 정교한 워크플로를 생성할 수 있도록 하는 모듈식 아키텍처를 기반으로 합니다. 이러한 구성 요소를 이해하는 것은 프레임워크를 효과적으로 활용하는 데 필수적입니다.

Process

프로세스는 단계 실행을 오케스트레이션하는 가장 중요한 컨테이너 역할을 합니다. 단계 간의 데이터 흐름 및 라우팅을 정의하여 프로세스 목표를 효율적으로 달성할 수 있도록 합니다. 프로세스는 입력 및 출력을 처리하여 다양한 워크플로에서 유연성과 확장성을 제공합니다.

프로세스 기능

  • 상태 저장: 추적 상태 및 완료율과 같은 쿼리 정보와 일시 중지 및 다시 시작 기능을 지원합니다.
  • 재사용 가능: 다른 프로세스 내에서 프로세스를 호출하여 모듈성 및 재사용성을 촉진할 수 있습니다.
  • 이벤트 구동: 수신기와 함께 이벤트 기반 흐름을 사용하여 데이터를 단계 및 기타 프로세스로 라우팅합니다.
  • 확장 가능: 글로벌 확장성 및 롤아웃을 위해 잘 설정된 런타임을 활용합니다.
  • 클라우드 이벤트 통합: 프로세스 또는 단계를 트리거하기 위한 업계 표준 이벤트를 통합합니다.

프로세스 만들기

새 프로세스를 만들려면 프로세스 패키지를 프로젝트에 추가하고 프로세스의 이름을 정의합니다.

Step

단계는 프로세스 내의 기본 구성 요소입니다. 각 단계는 개별 작업 단위에 해당하며 하나 이상의 커널 함수를 캡슐화합니다. 단계는 특정 프로세스에서 사용하는 단계와는 별도로 만들 수 있으므로 재사용성이 향상됩니다. 수행된 작업에 따라 이벤트를 내보내므로 후속 단계를 트리거할 수 있습니다.

단계 기능

  • 상태 저장: 상태 및 정의된 태그와 같은 정보를 쉽게 추적할 수 있습니다.
  • 재사용 가능: 여러 프로세스에서 단계를 사용할 수 있습니다.
  • 동적: 필요한 패턴에 따라 필요에 따라 프로세스에서 단계를 동적으로 만들 수 있습니다.
  • 유연한: 코드 전용, API 호출, AI 에이전트 및 휴먼 인 더 루프를 포함하여 커널 함수를 활용하여 개발자에게 다양한 유형의 단계를 제공합니다.
  • 감사 가능: 원격 분석은 단계와 프로세스 모두에서 사용하도록 설정됩니다.

단계 정의

Step을 만들려면 Step의 이름을 지정하는 공용 클래스를 정의하고 KernelStepBase에 추가합니다. 클래스 내에서 하나 이상의 커널 함수를 통합할 수 있습니다.

프로세스에 단계 등록

클래스가 만들어지면 프로세스 내에 등록해야 합니다. 프로세스의 첫 번째 단계에 대해 프로세스에서 시작할 위치를 알 수 있도록 추가 isEntryPoint: true 합니다.

단계 이벤트

단계에는 다음을 비롯한 여러 이벤트를 사용할 수 있습니다.

  • OnEvent: 클래스가 실행을 완료할 때 트리거됩니다.
  • OnFunctionResult: 정의된 커널 함수가 결과를 내보낸 경우 활성화되어 출력을 하나 이상의 단계로 보낼 수 있습니다.
  • SendOutputTo: 후속 단계로 결과를 보내기 위한 단계 및 입력을 정의합니다.

패턴

패턴은 일반적인 프로세스 흐름을 표준화하여 자주 사용되는 작업의 구현을 간소화합니다. 다양한 구현에서 반복되는 문제를 해결하는 일관된 접근 방식을 촉진하여 유지 관리 효율성과 가독성을 모두 향상합니다.

패턴 형식

  • 팬 인: 다음 단계에 대한 입력은 이전 단계의 여러 출력에서 지원됩니다.
  • 팬 아웃: 이전 단계의 출력은 프로세스 아래로 여러 단계로 전달됩니다.
  • 주기: 단계는 입력 및 출력에 따라 완료될 때까지 계속 반복됩니다.
  • 맵 감소: 한 단계의 출력은 더 작은 양으로 통합되고 다음 단계의 입력으로 전달됩니다.

패턴 설정

단계에 대한 클래스가 만들어지고 프로세스 내에 등록되면 다른 단계로 다운스트림으로 전송되어야 하는 이벤트를 정의하거나 단계의 출력에 따라 단계를 다시 시작할 조건을 설정할 수 있습니다.