콘텐츠로 이동

AI로 워크플로 오류 수정하기

워크플로 단계가 실패하거나 경고를 기록하면 AI 수정 어시스턴트가 해당 오류를 읽고 원인을 파악합니다. 원인이 단계 자체의 잘못된 구성이면 수정된 구성을 제안하고, 승인하면 적용합니다. 오류를 설명하는 데서 그치지 않고 변경까지 대신 수행할 수 있습니다.

이 기능은 PlaidCloud의 Weave AI에 속하며, 프로젝트의 로그 뷰어에서 실패한 단계를 가리킨 상태로 열립니다. 프로젝트의 Weave 탭에 표시된 문제에서도 열 수 있습니다.

프로젝트의 로그 탭에서 원시 로그 항목 옆에서 엽니다.

  1. 프로젝트를 열고 로그 탭을 클릭합니다.
  2. 로그 목록에서 실패한 단계의 항목을 선택합니다. 트레이스백을 포함한 전체 메시지가 오른쪽 패널의 로그 메시지 탭에 열립니다.
  3. 해당 패널을 AI Assistant 탭으로 전환합니다.

AI Assistant 채팅은 선택한 로그 항목이 발생한 워크플로와 단계를 이미 가리킨 상태로 열리므로 바로 진단을 시작합니다. 어느 단계가 실패했는지 알려 줄 필요가 없습니다. 로그 메시지에서 원시 오류를 읽으면서 AI Assistant에서 어시스턴트와 나란히 채팅할 수 있습니다. 일부 흔한 오류에서는 첫 응답이 진단 대신 설명으로 제공됩니다. 흔한 오류를 참조하십시오.

프로젝트의 Weave 탭에서 Weave가 찾은 문제의 카드에 있는 수정을 클릭합니다. 어시스턴트가 별도 창에서 열리며, 문제와 관련된 단계를 이미 가리키고 Weave가 현재 보고하는 문제를 출발점으로 삼습니다. 어떤 결과 항목에 수정이 제공되는지는 AI 어시스턴트로 결과 항목 수정하기를 참조하십시오.

  1. 진단 — 실패한 단계의 구성과 해당 단계가 다루는 테이블 및 열을 읽고, 오류 텍스트만으로 추측하지 않고 사용자의 데이터와 대조해 자신의 판단을 확인합니다.
  2. 제안 — 실제 잘못된 구성을 찾으면 카드에 변경 내용을 보여 줍니다. 먼저 Why it failed에 한 문장으로 이유를 설명하고, 변경되는 설정마다 상자를 하나씩 표시합니다. 가능한 경우 단계 양식에 표시되는 이름을 사용하고, 현재 값은 빨간색, 새 값은 녹색으로 표시합니다. 변경되는 항목만 나열하며, 열 목록이라면 바뀌는 열만 표시합니다. 이 시점에는 아무것도 저장되지 않습니다.
  3. 승인 — 카드에서 Approve N changes를 선택하거나, 단계를 그대로 두려면 나중에를 선택합니다. 자신의 말로 답해도 됩니다. 단추는 어시스턴트가 응답을 끝낸 뒤에 사용할 수 있게 되며, 승인은 항상 제안 이후의 메시지로 이루어집니다.
  4. 적용 — 승인하면 단계 편집기가 사용하는 것과 같은 경로로 변경 사항을 단계에 기록합니다. 저장되는 내용은 카드에 표시된 변경 사항이며, 승인 한 번으로 한 번만 저장됩니다. 저장 직전에 단계의 현재 설정 사본을 보관하므로 수정을 실행 취소할 수 있습니다. 수정 실행 취소를 참조하십시오.
  5. 다시 실행 제안 — 두 번째 카드가 수정을 확인하기 위해 단계를 지금 다시 실행할지 묻습니다. 승인하면 어시스턴트가 단계를 실행하고 성공했는지, 경고와 함께 끝났는지, 다시 실패했는지 알려 줍니다. 새 실패는 어시스턴트가 이어서 진단하는 오류가 됩니다. 단계가 2분 안에 끝나지 않으면 그렇다고 알려 주며, 결과는 워크플로와 로그 탭에 표시됩니다.

ERP 시스템에 전기하는 단계나 다른 워크플로를 실행하는 단계, 채팅이 워크플로와 연결되어 있지 않은 경우, 또는 역할이 워크플로를 실행할 수 없는 경우에는 어시스턴트가 다시 실행을 제안하지 않습니다. ERP 전기 모드를 선택할 수 있는 해당 워크플로에서 다시 실행하십시오. 워크플로가 이미 실행 중이면 아무것도 실행하지 않고 다시 시도할지 묻습니다.

각 제안, 사용자의 승인 또는 거부, 변경 자체는 변경이 대체한 내용과 기록한 내용과 함께 프로젝트의 Weave 활동 기록에 기록됩니다. 승인은 변경이 이루어지기 전에 기록됩니다. 기록할 수 없으면 아무것도 저장되지 않고 카드에 그 사실이 표시되며, 나중에 다시 승인할 수 있습니다.

수정의 카드에는 수정을 실행 취소할 수 있는지 여부가 표시됩니다. Weave가 단계의 현재 설정 사본을 보관하므로, 그 사이에 단계가 다시 변경되지 않는 한 일정 기간 동안 이 작업을 실행 취소할 수 있습니다. 이 문구가 없는 카드는 실행 취소할 수 없습니다. Weave가 사본을 보관할 수 없으면 아무것도 저장하지 않고 그렇다고 알려 주며, 다시 요청할 수 있습니다.

수정이 저장되면 카드에 실행 취소가 표시됩니다. 프로젝트의 Weave 활동 기록에 있는 해당 수정 항목에도 같은 단추가 있으므로, 채팅을 닫은 뒤에도 수정을 실행 취소할 수 있습니다. 승인한 사람뿐 아니라 프로젝트에서 단계를 변경할 수 있는 역할이면 누구나 수정을 실행 취소할 수 있습니다.

실행 취소를 누르면 실행 취소로 되돌려지는 내용을 보여 주는 창이 열립니다. 수정으로 바뀐 각 설정이 현재 값과 실행 취소 후 값으로 표시됩니다. 이후 다음 중에서 선택합니다.

  • 실행 취소 — 단계의 설정을 수정 직전 상태로 되돌립니다.
  • 실행 취소 후 실행 — 설정을 되돌린 다음 단계를 실행합니다. 이 옵션은 역할이 워크플로를 실행할 수 있고, 단계가 수정이 이루어진 워크플로(해당 워크플로에 없으면 단계가 속한 워크플로가 하나뿐인 경우 그 워크플로)에 여전히 있으며, 사용자가 그 워크플로를 열 수 있고, 단계가 ERP 시스템에 전기하거나 다른 워크플로를 실행하지 않는 경우에 제공됩니다. 실행 자체는 취소할 수 없습니다.
  • 취소 — 단계를 그대로 둡니다.

실행 취소는 단계의 설정만 변경합니다. 단계를 이미 실행하여 기록된 데이터는 그대로 남으므로, 단계를 다시 실행하여 데이터를 재구성하십시오.

다음의 경우 Weave는 수정을 실행 취소하지 않으며 아무것도 변경하지 않습니다.

  • 수정 이후 단계가 변경되었습니다. 실행 취소하면 오래된 설정으로 되돌려지므로, 창에 단계의 현재 상태와 Weave 변경 전 설정을 나란히 보여 주며 직접 변경할 수 있습니다.
  • 단계가 이미 수정 전의 설정을 가지고 있습니다.
  • 사본이 더 이상 보관되지 않습니다. 사본은 일정 기간 동안만 보관됩니다.
  • 역할이 단계를 변경할 수 없거나 프로젝트가 잠겨 있습니다.
  • Weave가 실행 취소를 기록하지 못했습니다. 나중에 다시 시도하십시오.

실행 취소는 *승인된 대로 완료됨: Weave의 단계 설정 변경 실행 취소.*와 같이 활동 기록에 별도의 변경으로 기록됩니다.

단계가 다음과 같은 흔한 오류로 실패하면, 첫 응답은 PlaidCloud가 해당 종류의 오류에 대해 이미 가지고 있는 설명이며 즉시 표시됩니다.

모든 유형의 단계에서:

  • 단계가 읽는 테이블에 없는 열을 사용하는 식
  • 소스 열이 단계가 읽는 테이블에 없는 열 매핑
  • 사용하는 연결이나 읽는 테이블처럼 단계에 필요한 설정이 비어 있는 경우
  • 단계가 실행하는 워크플로가 실패한 경우. 원인은 대개 그 워크플로의 단계 중 하나에 있으므로 해당 워크플로의 로그를 확인하십시오.
  • 단계가 지정한 테이블을 찾을 수 없는 경우
  • PlaidCloud의 주소를 차단하거나, 로그인을 거부하거나, 할당량을 모두 사용했거나, 찾을 수 없거나 사용할 수 없거나, PlaidCloud의 역할에 필요한 권한이 없는 Snowflake 또는 Databricks 웨어하우스

SQL 추출 단계에서:

  • 철자가 틀린 키워드나 닫히지 않은 괄호처럼 작성된 그대로 읽을 수 없는 SQL
  • 데이터베이스가 인식하지 못하는 함수
  • 존재하지 않는 테이블
  • 텍스트 열의 합계를 구하는 것처럼 처리할 수 없는 유형의 값을 받은 함수(Databend)
  • SQL이 요구한 유형으로 변환할 수 없는 값. 예를 들어 숫자나 날짜가 필요한 곳에 텍스트가 있는 경우(Databend)

Table Extract 단계에서는 SQL이 아니라 단계 자체의 탭과 필드를 가리키는 수정과 함께 다음 오류를 다룹니다.

  • 아직 존재하지 않거나 더 이상 존재하지 않는 소스 테이블(Databend)
  • 데이터베이스가 인식하지 못하는 함수를 사용하는 식(Databend)
  • 식에서 또는 요약으로 텍스트 열의 합계를 구하는 것처럼 처리할 수 없는 유형의 값을 받은 함수(Databend)
  • 모든 열이 제거된 단계처럼 출력 열이 없는 단계

설명에는 오류의 일반적인 원인, 오류 메시지에서 살펴볼 단어, 해결 방법이 담겨 있습니다. 일반적인 내용이며 사용자의 단계를 검사하거나 아무것도 변경하지 않습니다. 어시스턴트가 단계 자체를 살펴보게 하려면 답장하십시오. 그때부터는 설명이 대화의 일부로 포함된 상태에서 작동 방식에 설명된 대로 동작합니다.

그 밖의 오류는 곧바로 어시스턴트 자체의 진단으로 넘어갑니다. 위에 나열된 데이터베이스 오류가 다른 유형의 단계에서 발생한 경우도 마찬가지입니다.

어시스턴트는 오류가 발생한 단계 하나의 구성을 수정합니다. 예를 들어 잘못 입력한 열 이름이나 함수 이름, 유효하지 않은 식, 잘못된 데이터 유형이나 형 변환, 잘못된 형식의 SQL이 해당됩니다. 오류를 해결하는 데 필요한 최소한만 변경합니다. 실패 하나에 필요한 변경 하나만 적용하고 나머지 구성은 그대로 둡니다.

열, 필터, having 절 등에서 식이 실패하면 식 편집기 옆에 있는 것과 동일한 식 전문가에게 오류와 소스 테이블의 열을 함께 전달합니다. 전문가가 돌려준 수정된 식은 제안되기 전에 검사되며, 제안은 여전히 단계의 해당 필드 하나에 대한 변경이고 다른 변경과 같은 방식으로 승인합니다.

어시스턴트가 쓸 수 있는 수단은 해당 단계의 구성뿐이며, 문제가 다른 곳에 있을 때는 편집으로 해결한 것처럼 꾸미지 않고 솔직하게 알려 줍니다.

  • 단계 하나의 구성만 편집하며 그 밖의 것은 다루지 않습니다. 단계를 만들거나 삭제하거나 순서를 바꾸지 않고, 테이블을 만들지 않으며, 다른 단계를 편집하지 않고, 데이터를 변경하지 않습니다.
  • 많은 실패는 구성 문제가 아닙니다. 소스 데이터가 없거나 형식이 잘못된 경우, 앞선 업스트림 단계가 먼저 실패한 경우, 일시적이거나 인프라와 관련된 오류, 권한 문제, UDF나 사용자 코드 단계의 잘못된 Python, 문서 계정에 파일이 없는 경우, 리소스 또는 시간 제한이 여기에 해당합니다. 이런 경우에는 찾은 내용을 설명하고 실제 해결책이 있는 곳을 안내합니다.
  • 경고는 대개 무해하여 변경이 필요하지 않습니다. 이 경우 편집을 억지로 만들어 내지 않고 그렇다고 분명히 알려 줍니다.
  • 변경이 효과가 있다고 확신하지 못할 때는 추측을 확실한 것처럼 제시하지 않고 그렇다고 말하며 어떤 점이 확실하지 않은지 밝힙니다.
  • 진단은 실시간 단계 구성과 테이블 메타데이터를 기반으로 하므로, 캐시되었거나 가정한 형태가 아니라 프로젝트의 현재 상태를 반영합니다.
  • 수정이 적용된 후 어시스턴트가 단계를 다시 실행할지 물으면 예라고 답하거나 직접 다시 실행하여 오류가 해결되었는지 확인하십시오.
  • 원인이 단계 구성 밖에 있다고(잘못된 데이터, 업스트림 실패, 권한 문제 등) 어시스턴트가 말하면 그것이 답입니다. 어시스턴트에게 그래도 단계를 편집하라고 요구하지 말고 실제 원인이 있는 곳에서 해결하십시오.