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

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

같은 워크플로에서 여러 평가 사용하기#
워크플로당 평가는 하나만 설정할 수 있습니다. 다시 말해, 워크플로당 평가 트리거는 하나만 가질 수 있습니다.
그럼에도 불구하고, 워크플로의 각 부분을 서브 워크플로로 분리하고 각 서브 워크플로를 평가함으로써 서로 다른 평가로 워크플로의 다양한 부분을 테스트할 수 있습니다.
일관되지 않은 결과 다루기#
메트릭에는 노이즈가 있는 경우가 많습니다. 즉, 완전히 동일한 워크플로의 평가 실행 간에도 결과가 다를 수 있습니다. 이는 워크플로 자체가 다른 결과를 반환할 수 있거나, LLM 기반 메트릭에 자연스러운 변동이 있을 수 있기 때문입니다.
데이터 세트의 행을 중복시켜 각 행이 데이터 세트에 한 번 이상 나타나도록 함으로써 이를 보완할 수 있습니다. 이는 각 입력이 사실상 여러 번 실행된다는 것을 의미하므로, 변동을 완화하는 효과가 있습니다.