팁 및 일반적인 문제
워크플로에 이미 다른 트리거가 있는 경우, 두 개의 잠재적 시작 지점(해당 트리거와 평가 트리거)이 생깁니다. n8n의 내부 채팅은 워크플로에서 마지막으로 실행된 노드의 출력 데이터를 읽습니다. 해결책은 에이전트에서 나오는 추가 분기를 만드는 것입니다.
여러 트리거 결합하기#
워크플로에 이미 다른 트리거가 있는 경우, 두 개의 잠재적 시작 지점(해당 트리거와 평가 트리거)이 생깁니다. 어느 트리거가 실행되더라도 워크플로가 예상대로 작동하도록 하려면 이 두 분기를 합쳐야 합니다.
이를 수행하려면:
- 다른 트리거의 데이터 형식 확인:
- 다른 트리거를 실행합니다.
- 해당 트리거를 열고 출력 창의 JSON 보기로 이동합니다.
- 오른쪽의 copy 버튼을 클릭합니다.
- 평가 트리거 데이터를 해당 형식에 맞게 변환:
- 평가 트리거 다음에 Edit Fields (Set) node를 삽입하고 연결합니다.
- 모드를 JSON으로 변경합니다.
- 첫 번째와 마지막 줄의
[와]를 제거하고 데이터를 'JSON' 필드에 붙여 넣습니다. - 필드 유형을 Expression으로 전환합니다.
- 입력 창에서 드래그하여 트리거의 데이터를 매핑합니다.
- 문자열의 경우, 전체 값(따옴표 포함)을 대체하고 표현식 끝에
.toJsonString()을 추가해야 합니다.
- 'No-op' 노드를 사용하여 분기 합치기: No-op node를 삽입하고 다른 트리거와 Set 노드 모두를 연결합니다. 'No-op' 노드는 수신한 입력을 그대로 출력합니다.
- 워크플로의 나머지 부분에서 'No-op' 노드 출력 참조하기: 두 경로 모두 동일한 형식으로 이 노드를 통과하므로, 입력 데이터가 항상 존재함을 확신할 수 있습니다.
평가가 채팅을 방해하지 않도록 하기#
n8n의 내부 채팅은 워크플로에서 마지막으로 실행된 노드의 출력 데이터를 읽습니다. 'set outputs' 작업이 포함된 evaluation 노드를 추가하면, 이 데이터가 예상된 형식이 아니거나 채팅 응답을 포함하지 않을 수 있습니다.

해결책은 에이전트에서 나오는 추가 분기를 만드는 것입니다. n8n에서 하위 분기는 나중에 실행되므로, 이 분기에 연결하는 노드는 마지막에 실행됩니다. 여기서는 에이전트 출력을 그대로 통과시키기만 하면 되므로 no-op 노드를 사용할 수 있습니다.
메트릭 계산 시 도구 데이터 접근하기#
에이전트의 실행된 하위 노드에서 발생한 내용을 알아야 하는 경우가 있습니다. 예를 들어 특정 도구를 실행했는지 확인하기 위해서입니다. 표현식으로 이러한 노드를 직접 참조할 수는 없지만, 에이전트에서 Return intermediate steps 옵션을 활성화할 수 있습니다. 이렇게 하면 이후 노드에서 사용할 수 있는 intermediateSteps라는 추가 출력 필드가 생성됩니다:

동일 워크플로에서 여러 평가 사용하기#
하나의 워크플로에는 하나의 평가 설정만 가능합니다. 즉, 워크플로당 평가 트리거는 하나만 가질 수 있습니다.
그렇더라도, 해당 부분들을 서브 워크플로에 배치하고 각 서브 워크플로를 평가함으로써 워크플로의 여러 부분을 서로 다른 평가로 테스트할 수 있습니다.
일관성 없는 결과 처리하기#
메트릭은 종종 노이즈가 있을 수 있습니다. 완전히 동일한 워크플로의 평가 실행 간에 결과가 다를 수 있습니다. 이는 워크플로 자체가 다른 결과를 반환하거나, LLM 기반 메트릭에 자연적인 변동성이 있을 수 있기 때문입니다.
데이터셋의 행을 복제하여 각 행이 데이터셋에 두 번 이상 나타나도록 함으로써 이를 보완할 수 있습니다. 각 입력이 사실상 여러 번 실행되기 때문에 변동성이 완화됩니다.
