AIP Logic의 함수, 블록과 실행 맥락
AIP Logic은 온톨로지 데이터와 언어 모델을 사용하는 처리 로직을 함수로 구성하는 도구입니다. 입력을 받고, 여러 블록에서 값을 읽거나 계산하고, 결과를 반환하거나 온톨로지 변경을 구성합니다.
입력으로 사용할 데이터, 모델에 제공할 정보, 결과의 용도와 실행 권한을 함께 정해야 합니다.
Logic 함수
Logic 함수(Logic function)는 온톨로지 객체나 문자열 같은 입력을 받아 결과를 제공하는 함수입니다. 출력은 문자열 같은 값이나 객체일 수 있고, 온톨로지를 편집하는 로직을 구성할 수도 있습니다.
Logic 함수는 플랫폼의 다른 함수처럼 사용할 수 있습니다. 예를 들어 Workshop 모듈에서 호출하여 계산 결과나 필요한 정보를 화면에 제공할 수 있습니다.
온톨로지 편집을 수행하려면 Logic 함수를 작성해 게시하고 액션 유형에 연결한 뒤, 액션 호출을 통해 변경을 제출합니다.
블록으로 처리 과정 구성하기
Logic 함수는 블록(Block)으로 구성합니다. 각 블록은 특정 처리를 수행하고, 그 출력을 뒤의 블록에 전달할 수 있습니다.
블록에서 사용할 수 있는 처리에는 다음이 포함됩니다.
- 온톨로지의 데이터를 읽거나 쓰는 처리.
- 계산과 데이터 집계.
- 함수 호출.
- 컬렉션을 순회하는 반복 처리.
- 조건 판단.
- LLM과의 상호작용.
블록을 연결하면 여러 단계를 가진 연산을 구성할 수 있습니다. 어떤 블록이 어떤 입력을 받는지와 그 결과를 어느 단계에서 사용하는지를 명확히 해야 합니다.
가상의 고객 문의 분류 함수는 문의 객체를 입력받아 필요한 내용을 읽고 LLM으로 분류한 뒤, 분류 결과를 반환하거나 후속 변경의 입력으로 사용할 수 있습니다. 객체의 값은 별도의 편집 단계에서 변경합니다.
평가 모음으로 함수의 동작 살펴보기
함수를 게시한 뒤 평가 모음(Evaluation suite)을 구성하면 입력과 기대 결과를 정하고 실행 결과를 비교할 수 있습니다. Logic 함수에서는 다음과 같은 질문을 평가할 수 있습니다.
| 평가 목적 | 확인하는 내용 |
|---|---|
| 함수와 프롬프트 개선 | 어떤 입력에서 결과가 기대와 달라지는가? |
| 모델 비교 | 같은 함수와 입력에 대해 모델 선택이 결과에 어떤 영향을 주는가? |
| 반복 실행의 차이 | 같은 구성으로 여러 번 실행했을 때 결과가 얼마나 달라지는가? |
| 매개변수 실험 | 어떤 설정이 품질, 성능과 비용의 균형에 적합한가? |
LLM이 포함된 함수는 실행마다 결과가 달라질 수 있으므로 입력을 바꾼 평가와 동일 입력을 반복하는 평가를 함께 수행합니다.
평가 사례 생성
오른쪽 사이드바의 Evals 탭에서 Generate evals를 선택하면 함수의 구성을 분석하여 편집 가능한 평가 사례와 지표를 생성할 수 있습니다. 분석 대상에는 함수가 참조하는 객체 유형들이 포함되며 입력과 출력 유형에만 한정되지 않습니다.
생성된 사례와 지표가 업무 요구사항을 반영하는지 검토하고 수정합니다.
선택적 평가 지표
평가 함수가 어떤 사례에 적용되지 않을 수 있다면 선택적 지표 유형을 사용할 수 있습니다. 적용할 값이 없는 사례는 결과에 No value로 표시되며, 그 값은 집계 지표 점수에서 제외됩니다.
이 상태를 실패 점수나 숫자 0과 같은 의미로 해석하지 않습니다. 값을 계산한 결과와 해당 사례에 지표가 적용되지 않는 상태를 구분해야 합니다.
실패 사례 조사
결과 화면의 분석 기능은 실패한 사례를 원인 범주로 묶고 프롬프트 수정 방향을 제안할 수 있습니다. 이 정보는 어떤 입력과 단계에서 문제를 조사할지 정하는 데 활용합니다. 제안한 수정이 다른 사례의 동작에도 영향을 줄 수 있으므로 변경 후 같은 평가 모음으로 비교하는 과정이 필요합니다.
평가 구성 요소의 의미는 AIP Evals에서 설명합니다.
실행과 디버깅
함수를 구성한 뒤 시험 실행하면 Debugger 패널에서 구성 블록의 실행을 조사할 수 있습니다. 모델의 추론 관련 정보와 사용한 도구를 비롯해 각 단계가 어떤 처리를 했는지 살펴보면서 입력, 중간 결과와 최종 결과를 연결해 이해합니다.
가상의 분류 함수가 예상과 다른 범주를 반환했다면 모델에 전달한 데이터와 지시, 앞선 블록의 출력, 사용한 도구를 함께 확인합니다. 데이터 선택이 잘못된 경우와 분류 지시가 모호한 경우에는 각각에 맞는 수정이 필요합니다.
시험 실행에서도 연결한 도구가 변경 작업을 수행할 수 있으므로, 시작 전에 함수의 입력과 실행 모드, 도구와 변경 로직을 확인합니다.
실행 모드와 권한
Logic 함수는 다음 두 실행 모드로 구성할 수 있습니다.
| 실행 모드 | 권한을 판단하는 기준 |
|---|---|
| 사용자 권한으로 실행(User-scoped execution) | 함수를 실행하는 사용자의 권한 |
| 프로젝트 권한으로 실행(Project-scoped execution) | 함수를 포함하는 프로젝트의 권한 |
실행 모드에 따라 함수가 접근할 수 있는 데이터와 실행 로그를 볼 수 있는 사용자가 달라집니다.
함수를 공유할 때는 함수를 찾거나 호출할 권한과 실행에 사용하는 권한을 함께 확인해야 합니다. 화면에 표시되는 데이터와 함수가 읽을 수 있는 데이터는 각각 적용된 권한에 따라 달라질 수 있습니다.