Get Started

코드 노드 사용하기 (Python)

코드 노드 사용하기 (Python)

코드 노드 사용하기 (Python)

입문 가이드의 튜토리얼은 에이전트리아(Agentria) 입문자를 위한 가장 기본적이면서도 핵심적인 과정을 다룹니다.

본 튜토리얼에서는 기상 시간을 입력하고, 파이썬(Python) 노드를 활용해 권장 수면 시간을 역산하여 취침 시간을 계산하는 어빌리티(Ability)를 직접 만들고 실행합니다.


사전 준비


시작을 위해, 에이전트리아에서 프로젝트(Project)를 생성한 후, 어빌리티 캔버스(Canvas)로 진입합니다.

캔버스 진입 절차는 3단계 핵심 가이드의 1단계(프로젝트 생성 및 컴포저 선택)를 참고하시기 바랍니다.


본 튜토리얼을 완료하면 다음과 같은 작업을 수행할 수 있습니다.

  1. 노드(Node) 추가하기

  2. 스타트 노드(Start Node)에서 변수 선언하기

  3. 노드 연결하기

  4. 파이썬 노드에서 코드 작성하기

  5. 파이썬 노드에서 코드 생성기 사용하기

  6. 파이썬 노드 출력값을 엔드 노드(End Node)로 전달하기

  7. 어빌리티 테스트를 통해 워크플로(Workflow) 실행 결과 확인하기


1단계: 인풋 변수 선언



에이전트리아 캔버스에는 기본적으로 스타트 노드(Start Node)엔드 노드(End Node)가 하나씩 배치되어 있습니다.

이때, 스타트 노드는 전체 흐름을 시작하는 역할을 하고, 엔드 노드는 전체 흐름을 종료하는 역할을 합니다.

따라서 ‘수면시간 계산’ 워크플로를 구성하기 위해서는 먼저 스타트 노드에서 필요한 변수를 선언해야 합니다.

스타트 노드를 더블클릭하면 노드 편집기(Node Editor)가 열리며, 여기에서 자료형과 이름, 설명을 설정할 수 있습니다.



본 튜토리얼에서는 기상 시간을 입력값으로 받아야 하므로, 자료형을 String으로 두고 변수명을 WakeUpTime으로 설정하여 변수를 선언하겠습니다.

변수 선언을 완료했다면 다시 캔버스로 돌아갑니다.


2단계: Python 노드 추가



이제 수면 시간을 계산할 파이썬 노드를 추가할 차례입니다.

캔버스 하단의 +노드 추가(Add Node) 버튼을 클릭하고, 코드(Code) 카테고리에서 파이썬 노드를 드래그 앤 드롭(Drag and Drop)으로 캔버스에 배치합니다.

파이썬 노드는 직접 코드를 작성하거나, 짧은 프롬프트로 자동 코드 생성을 지원하는 코드 생성기(Code Generator) 기능을 사용할 수 있습니다.


3단계: 엣지로 노드 연결



스타트 노드에서 입력받은 WakeUpTime 변수를 파이썬 노드에서 사용하기 위해서는 두 노드를 연결해야 합니다.

이 연결선을 엣지(Edge)라고 부릅니다.

스타트 노드의 오른쪽 아웃 핀(Out-Pin)을 파이썬 노드의 왼쪽 인 핀(In-Pin)과 연결하면, 입력값이 파이썬 노드로 전달됩니다.


4단계: 파이썬 코드 작성



파이썬 노드를 더블 클릭하면 노드 편집기가 열립니다.

인풋(Input) 영역에 WakeUpTime 변수가 표시된다면 두 노드가 정상적으로 연결된 것입니다.

이제 파이썬 코드 입력창에 수면 시간을 계산하는 스크립트를 작성합니다.


예시:

wake_up_time = int()

time_minus_9 = (wake_up_time - 9) % 12

time_minus_7 = (wake_up_time - 7) % 12

time_minus_9 = 12 if time_minus_9 == 0 else time_minus_9

time_minus_7 = 12 if time_minus_7 == 0 else time_minus_7

recommended_sleep_time = f"{time_minus_9}시~{time_minus_7}시"

return {"output": recommended_sleep_time}


5단계: 드래그 앤 드롭으로 변수 바인딩



에이전트리아에서는 별도의 코드를 작성하지 않고, 드래그 앤 드롭 방식으로 변수를 손쉽게 불러올 수 있습니다.

다음과 같이 WakeUpTime 변수를 스크립트 첫 번째 줄의 int() 괄호 안에 배치합니다.


int(WakeUpTime)


6단계: 코드 생성기 사용



프로그래밍에 익숙하지 않아도 괜찮습니다.

에이전트리아의 파이썬 노드는 코드 생성기(Code Generator)를 통해 짧은 프롬프트만으로도 자동 코드를 생성할 수 있도록 지원합니다.

코드 생성기 아이콘을 클릭하면 나타나는 프롬프트 입력창에 필요한 코드에 대한 설명을 입력하세요.

생성(Generate) 버튼을 눌러 코드를 생성하고, 해당 코드를 적용하고 싶다면 수락(Accept) 버튼을 눌러 적용합니다.



예시:

WakeUpTime을 정수로 받아서 시간처럼 계산하는 코드 만들어줘

예를 들어 8을 입력받으면 거기서 9시간을 뺀 11시, 그리고 7시간을 뺀 1시를 계산하고

권장 취침 시간을 11시~1시라고 출력하는 코드를 만들어야 해

12시간제로 출력되도록 해줘


7단계: 노드 테스트 실행



코드를 작성한 후, 편집기 내 인풋 영역의 TEST 버튼을 눌러 파이썬 노드 개별 점검을 진행할 수 있습니다.

노드 테스트(Node Test)란 노드 편집기에서 개별적으로 진행할 수 있는 점검 작업입니다.

이를 통해 노드가 올바르게 구성되어 있음을 확인하고 다른 노드와 연결하면 오류를 최소화하고 흐름을 안정적으로 이어 나갈 수 있습니다.

예를 들어 WakeUpTime07을 입력했을 때 다음과 같이 결과가 출력된다면 정상적으로 구성된 것입니다.

"output": "10시~12시"


8단계: 함수 기능 사용


본 튜토리얼에서는 함수 기능을 사용하지 않으므로, 워크플로 구성에 대해서는 해당 단계를 건너뛰어도 됩니다.


파이썬 노드에서 함수 기능을 사용하면 조건 분기를 통해 지정된 조건을 충족할 때만 함수를 호출하여 새로운 실행 경로를 만듭니다.

이렇게 하면 노드가 불필요한 연산을 하지 않도록 제한하여 워크플로의 효율성을 높일 수 있습니다.

함수 노드 사용법은 노드 유형 페이지의 함수 노드를 확인하시길 바랍니다.


9단계: 엔드 노드 연결



이제 계산된 수면시간 계산 아웃풋 값을 엔드 노드로 전달합니다.

다시 캔버스로 돌아와서 파이썬 노드와 엔드 노드를 엣지로 연결합니다.

엔드 노드를 더블클릭하여 노드 편집기를 열고, String 타입의 SleepTime 변수를 추가합니다.

파이썬 노드에서 아웃풋 값을 담은 Output 변수를 선택 또는 드래그 앤 드롭 방식으로 SleepTime 변수와 연결합니다.

이로써 ‘수면시간 계산’ 워크플로가 완성되었습니다.


10단계: 어빌리티 테스트로 워크플로 전체 실행



캔버스 우측 하단에서 RUN TEST 버튼을 클릭하여 완성된 전체 워크플로를 실행할 수 있습니다.

노드 테스트와 마찬가지로 기상 시간을 입력한 뒤 실행하면, SleepTime 결과에 권장 취침 시간이 표시됩니다.

"SleepTime": "10시~12시"


다음 단계



🎉 축하합니다! 에이전트리아를 사용해 ‘수면시간 계산’ 워크플로를 완성했습니다.

이제 다양한 입력값을 적용해 결과를 확인해 보고, 파이썬 코드를 수정하며 워크플로의 성능을 개선해 보세요.


에이전트리아는 아이디어를 현실로 바꾸는 가능성의 공간입니다.

당신의 상상력으로 워크플로는 무한히 확장될 수 있습니다.



  • 더 많은 어빌리티 예제가 궁금하다면 입문 가이드 페이지를 확인하세요.

  • 에이전트 예제를 원한다면 응용 가이드 페이지를 확인하세요.