팁과 자주 발생하는 문제
여러 트리거 병합하기
워크플로에 이미 다른 트리거가 있는 경우, 기존 트리거와 평가용 트리거라는 두 가지 잠재적인 시작점이 존재하게 됩니다. 워크플로가 어느 트리거에서 실행되더라도 정상적으로 작동하도록 하려면 두 분기를 병합해야 합니다.

두 트리거 분기를 병합하여 동일한 데이터 형식을 갖도록 하고, 단일 노드에서 참조할 수 있게 만듭니다.
작업 단계:
-
다른 트리거의 데이터 형식 확인하기:
- 해당 트리거를 실행합니다.
- 실행 결과를 열고 출력 패널의 JSON 보기로 이동합니다.
- 오른쪽의 복사(Copy) 버튼을 클릭합니다.
-
평가용 트리거의 데이터를 일치하도록 조정하기:
- 평가용 트리거 뒤에 Edit Fields (Set) 노드를 추가하고 연결합니다.
- 노드 모드를 JSON으로 변경합니다.
- 앞서 복사한 데이터를 "JSON" 필드에 붙여넣고, 첫 번째와 마지막 줄의
[와]를 제거합니다. - 필드 유형을 표현식(Expression) 으로 전환합니다.
- 입력 패널에서 드래그 앤 드롭 방식으로 트리거의 데이터를 매핑합니다.
- 문자열(string) 필드의 경우, 기존 값(따옴표 포함)을 완전히 삭제하고, 입력 데이터를 드래그해 만든 표현식 뒤에
.toJsonString()을 추가하세요.
-
"No-op" 노드로 분기 병합하기:
No-op 노드를 삽입하고, 다른 트리거와 Set 노드를 모두 이 노드에 연결합니다. No-op 노드는 입력된 데이터를 그대로 출력만 합니다. -
워크플로 나머지 부분에서 "No-op" 노드의 출력 참조하기:
두 경로 모두 동일한 형식으로 이 노드를 통과하므로, 입력 데이터가 항상 일관되게 존재함을 보장할 수 있습니다.
평가 기능이 채팅을 망가뜨리지 않도록 하기
n8n 내부 채팅은 워크플로에서 마지막으로 실행된 노드의 출력 데이터를 읽습니다. "출력 설정(Set Output)" 작업이 포함된 평가 노드를 추가하면, 해당 데이터가 올바른 형식이 아닐 수도 있고, 채팅 응답 내용이 전혀 포함되지 않을 수도 있습니다.

이 문제를 해결하려면 에이전트 노드 뒤에 추가 분기를 하나 더 만드세요. n8n은 여러 출력 분기가 있을 때 화면상 아래에 있는 분기부터 나중에 실행되므로, 이 분기에 연결된 노드가 최종 출력 노드가 됩니다. 여기에는 단순히 에이전트의 출력을 전달하기만 하면 되므로, No-op 노드를 사용하면 적절합니다.
지표 계산 시 도구 데이터에 접근하기
때로는 에이전트의 하위 노드(예: 실행된 도구)에서 어떤 일이 발생했는지 파악해야 할 필요가 있습니다. 이러한 노드를 직접 표현식에서 참조할 수는 없지만, 에이전트 설정에서 Return intermediate steps(중간 단계 반환) 옵션을 활성화할 수 있습니다. 이 옵션을 켜면 intermediateSteps라는 추가 출력 필드가 생성되며, 이후 노드에서 이 필드를 활용할 수 있습니다:

하나의 워크플로에서 여러 평가 실행하기
각 워크플로에는 하나의 평가만 설정할 수 있습니다. 즉, 하나의 워크플로에는 오직 하나의 평가용 트리거만 존재할 수 있습니다.
하지만 여전히 워크플로의 서로 다른 부분을 서브워크플로(sub-workflow)로 분리한 후, 각 서브워크플로에 대해 개별적으로 평가를 수행함으로써 워크플로의 다양한 부분을 테스트할 수 있습니다.
일관성 없는 결과 처리하기
지표 결과는 종종 노이즈(잡음)를 포함합니다. 완전히 동일한 워크플로를 여러 번 평가 실행해도 결과가 달라질 수 있습니다. 이는 워크플로 자체가 매번 다른 결과를 반환할 수도 있고, LLM 기반 지표의 경우 자연스러운 변동성이 존재하기 때문입니다.
이 문제를 완화하려면 데이터셋 내의 행을 복제하여 각 입력이 여러 번 등장하도록 만들 수 있습니다. 이렇게 하면 동일한 입력이 실제로 여러 번 실행되어 결과 간의 차이가 완화됩니다.