콘텐츠로 이동

팁 및 일반적인 문제#

여러 트리거 결합#

워크플로우에 이미 다른 트리거가 있는 경우 해당 트리거와 평가 트리거라는 두 가지 잠재적인 시작점이 있습니다. 어떤 트리거가 실행되든 워크플로우가 예상대로 작동하도록 하려면 이러한 분기를 함께 병합해야 합니다.

트리거 분기 병합
두 트리거 분기를 병합하여 동일한 데이터 형식을 갖고 단일 노드에서 참조할 수 있도록 하는 로직입니다.

그렇게 하려면:

  1. 다른 트리거의 데이터 형식 가져오기:
    • 다른 트리거를 실행합니다.
    • 열고 출력 창의 JSON 보기로 이동합니다.
    • 오른쪽에 있는 복사 버튼을 클릭합니다.
  2. 일치하도록 평가 트리거 데이터 재구성:
    • 평가 트리거 뒤에 필드 편집(설정) 노드를 삽입하고 함께 연결합니다.
    • 모드를 JSON으로 변경합니다.
    • 데이터를 'JSON' 필드에 붙여넣고 첫 번째 줄과 마지막 줄의 []를 제거합니다.
    • 필드 유형을 표현식으로 전환합니다.
    • 입력 창에서 트리거의 데이터를 끌어와 매핑합니다.
    • 문자열의 경우 따옴표를 포함한 전체 값을 바꾸고 표현식 끝에 .toJsonString()을 추가해야 합니다.
  3. 'No-op' 노드를 사용하여 분기 병합: No-op 노드를 삽입하고 다른 트리거와 Set 노드를 모두 연결합니다. 'No-op' 노드는 수신하는 모든 입력을 출력합니다.
  4. 워크플로우의 나머지 부분에서 'No-op' 노드 출력 참조: 두 경로 모두 동일한 형식으로 이 노드를 통해 흐르므로 입력 데이터가 항상 거기에 있는지 확인할 수 있습니다.

평가가 채팅을 중단하는 것을 방지#

n8n의 내부 채팅은 워크플로우에서 마지막으로 실행된 노드의 출력 데이터를 읽습니다. '출력 설정' 작업으로 평가 노드를 추가한 후 이 데이터가 예상 형식과 다르거나 채팅 응답을 포함하지 않을 수 있습니다.

두 번째 출력 분기 추가

해결책은 에이전트에서 나오는 추가 분기를 추가하는 것입니다. n8n에서는 하위 분기가 나중에 실행되므로 이 분기에 연결하는 모든 노드가 마지막으로 실행됩니다. 여기서는 에이전트 출력을 통과시키기만 하면 되므로 no-op 노드를 사용할 수 있습니다.

메트릭 계산 시 도구 데이터에 액세스#

에이전트의 실행된 하위 노드에서 무슨 일이 일어났는지 알아야 할 때가 있습니다. 예를 들어 도구를 실행했는지 확인하기 위해서입니다. 이러한 노드를 표현식으로 직접 참조할 수는 없지만 에이전트에서 중간 단계 반환 옵션을 활성화할 수 있습니다. 이렇게 하면 나중 노드에서 사용할 수 있는 intermediateSteps라는 추가 출력 필드가 추가됩니다.

중간 단계 반환 활성화

동일한 워크플로우의 여러 평가#

워크플로우당 하나의 평가만 설정할 수 있습니다. 즉, 워크플로우당 하나의 평가 트리거만 가질 수 있습니다.

그럼에도 불구하고 해당 부분을 하위 워크플로우에 넣고 각 하위 워크플로우를 평가하여 워크플로우의 다른 부분을 다른 평가로 테스트할 수 있습니다.

일관성 없는 결과 처리#

메트릭에는 종종 노이즈가 있을 수 있습니다. 정확히 동일한 워크플로우의 평가 실행에서 다를 수 있습니다. 이는 워크플로우 자체가 다른 결과를 반환하거나 LLM 기반 메트릭에 자연스러운 변형이 있을 수 있기 때문입니다.

데이터 세트의 행을 복제하여 각 행이 데이터 세트에 두 번 이상 나타나도록 하여 이를 보완할 수 있습니다. 즉, 각 입력이 효과적으로 여러 번 실행되므로 변형이 완화됩니다.