순서도 템플릿: 결정·담당 역할·예외 정리하기

순서도 템플릿은 범위가 정해진 작업을 이름이 있는 행동, 답을 확인할 수 있는 결정, 명확한 결과로 정리합니다. 실행 가능한 노드를 연결하기 전에 분기 이름과 담당 역할을 채웁니다. 아래 예시는 CSV 가져오기 사전 분류를 나타냅니다. 파싱 프로필을 확정하고, 구조가 일관되지 않은 파일을 격리하거나, 대상 레코드를 쓰지 않고 매핑 명세서를 준비합니다.

작성: Ai Flowi · 게시일

프로세스의 범위와 출력 정하기

이 도식은 가상 CSV 파일의 변경하지 않는 사본에서 시작하여 준비된 매핑 명세서, 격리 보고서, 미해결 프로필 기록 중 하나로 끝납니다. 레코드 가져오기는 별도의 프로세스입니다. 따라서 명세서는 제안된 매핑을 검토할 준비가 되었다는 뜻이며, 행이 삽입되었다는 뜻이 아닙니다.

앞서 소개한 요청 접수 도식 은 수정과 사람의 검토를 다룹니다. 이 템플릿은 파일 해석, 구조 승인, 대상 매핑을 구분합니다.

그리기 전에 결정을 관찰 가능한 답이 있는 질문으로 작성합니다. “파일이 괜찮아 보이는가?”로는 경로 선택에 사용된 검사를 알 수 없습니다. “파싱된 모든 레코드의 열 수가 선언된 열 수와 일치하는가?”는 알 수 있습니다. 파일 참조와 파싱 프로필을 함께 고정합니다. 중간에 구분자를 바꾸면 같은 바이트도 다르게 해석되므로 이전 열 수 검사는 유효하지 않게 됩니다.

편집 가능한 워크플로우 도식 복사하기

프로필 확정과 격리 결과가 명확한 CSV 사전 분류파일을 고정하고 파싱 프로필을 확인합니다. 미해결 프로필은 프로필 분석 담당자에게 전달하여 확정하거나 보류 결과를 기록합니다. 확정된 프로필로 각 행의 열 수를 확인합니다. 일관되지 않은 파일은 격리하고, 일관된 파일은 열 매핑을 거쳐 명세서를 준비합니다. 파일 사본 고정파싱 프로필 확인프로필 하나 확정?프로필 분석 담당자해석 확정파싱된 행의 열 수 확인열 수가 일관적인가?격리 보고서열 매핑 기록매핑 명세서 준비됨보류: 미해결파싱 프로필아니요예아니요예해결됨미해결
작은 화면에서는 포커스가 있는 영역 안에서 도식을 스크롤할 수 있습니다. 아래 소스는 분석 담당자의 행동과 결정을 구분합니다.

이 Mermaid 소스를 Mermaid를 지원하는 기존 편집기에 복사합니다. 직사각형은 행동, 마름모는 질문이며, 둥근 끝점은 결과 자료의 이름을 나타냅니다. 이 이름은 작성된 프로세스를 설명하며, AI Flowi Workflow에 CSV 가져오기 제어 기능이 내장되어 있다는 주장이 아닙니다.

flowchart TD
    A([Frozen file copy]) --> B[Identify parsing profile]
    B --> C{Exactly one profile established?}
    C -- Yes --> D[Inspect parsed record widths]
    C -- No --> F[Profile analyst resolves interpretation]
    F --> G{Explicit profile established?}
    G -- Yes --> D
    G -- No --> H([Held: unresolved profile note])
    D --> E{All record widths consistent?}
    E -- No --> Q([Quarantine report])
    E -- Yes --> M[Record explicit column mapping]
    M --> P([Mapping manifest prepared])

분석 담당자의 경로에도 범위가 있습니다. 이 사전 분류 과정에서 프로필을 확정할 수 없으면 불확실성을 기록하고 중단합니다. 파서 하나가 파일을 받아들일 때까지 계속 추측하지 않습니다. 격리는 고정된 입력과 구조 불일치의 위치를 보존하는 절차이며, 레코드나 원본 파일을 삭제하라는 명령이 아닙니다.

결정 및 책임 표 채우기

가상 파일 사전 분류의 입력과 출력
행동담당 역할결정 근거출력
입력 고정가져오기 작업 담당자파일 참조와 변경 불가능한 작업 사본모든 후속 검사에서 식별 가능한 입력
프로필 확인가져오기 작업 담당자선언된 인코딩, 구분자, 인용 규칙, 머리글 정책확정된 프로필 하나 또는 분석 담당자 배정
모호성 해소프로필 분석 담당자원본 내보내기 명세와 해석 후보명확한 프로필 또는 미해결 프로필 기록
구조 확인가져오기 작업 담당자예상 열 수와 파싱된 각 레코드의 비교일관성 확인 결과 또는 불일치를 명시한 격리 보고서
열 매핑매핑 관리 담당자확정된 프로필, 머리글 위치, 대상 필드의 의미각 원본 열과 제안된 대상 필드를 연결한 명세서

열 수가 같아도 의미가 같다고 볼 수 없으므로 열 매핑에는 별도 자료가 필요합니다. reference, message, version 순서의 세 열 파일에 reference, version, message 순서로 작성한 명세서를 그대로 적용할 수 없습니다. 머리글 이름과 함께 원본 위치도 보존합니다. 그렇지 않으면 이름이 중복될 때 이름만으로 매핑하기가 모호해집니다.

연결되지 않은 분기와 누락된 책임 수정하기

BEFORE
Identify profile -> Inspect widths -> Map columns [role missing] -> End
Identify profile -> Ambiguous -> [no destination]

AFTER
Ambiguous profile -> Profile analyst -> Explicit profile or held note
Established profile -> Inspect every record -> Quarantine or column mapping
Consistent structure -> Mapping maintainer -> Prepared manifest

초안의 모호한 분기는 해석 후보를 보존하지 않은 채 끝납니다. 프로필 분석 담당자와 보류 결과를 명시하여 수정합니다. 일반적인 종료 상자도 명세서라는 결과 자료로 바꾸고, 작성을 매핑 관리 담당자에게 배정합니다. 이제 파싱은 성공했지만 매핑을 아직 기록하지 않았을 때 남은 작업을 독자가 알 수 있습니다.

수정된 도식에 가상 파일을 대입해 봅니다. 선언된 프로필은 UTF-8 텍스트, 쉼표 구분자, 큰따옴표로 묶인 필드, 머리글 행을 사용합니다. 한 메시지에는 따옴표 안에 쉼표가 있습니다. 원시 줄의 쉼표를 세면 열이 하나 더 있다는 잘못된 결과가 나오지만, 명시된 인용 규칙에 따라 레코드를 확인하면 의도한 세 필드를 유지할 수 있습니다. 다른 레코드는 실제로 필드가 두 개뿐이므로 매핑 전에 전체 배치가 격리 보고서로 이어집니다. 이 도식에는 대상에 일부만 쓰는 단계가 없습니다.

수정된 파일이 도착하면 새 입력으로 고정하고 검사를 반복합니다. 이전 격리 근거를 덮어쓰거나 이전 판정을 새 바이트에 적용하지 않습니다. 교체 파일의 구조가 일관되면 매핑 관리 담당자가 원본 위치와 대상 의미를 명세서에 기록합니다. 이 자료는 별도로 설계한 가져오기 프로세스의 입력으로 사용할 수 있습니다.

가져오기를 실행하지 않고 분기 누락 확인하기

  1. 선언된 프로필과 일관된 레코드가 준비된 명세서로 이어지는지 추적합니다. 끝점이 완료된 가져오기가 아니라 결과 자료의 이름인지 확인합니다.
  2. 누락되거나 충돌하는 프로필 정보가 분석 담당자에게 이어지는지 추적합니다. 확정된 답과 미해결 답을 모두 확인합니다.
  3. 파싱된 레코드 하나가 일관되지 않을 때 격리로 이어지는지 추적합니다. 보고서에 레코드 위치와 예상 열 수가 남는지 확인합니다.
  4. 따옴표 안의 구분자와 줄바꿈을 예시로 사용합니다. 레코드가 물리적인 줄과 일치할 필요는 없습니다.
  5. 매핑할 때 중복된 머리글과 바뀐 열 순서를 확인합니다. 구조가 일관되다는 이유만으로 이전 매핑을 선택해서는 안 됩니다.

이 검토는 실행 없이 시나리오를 따라가며 분기를 확인하는 방식입니다. 자료 흐름도에서는 파일의 어떤 필드가 저장소에 들어가는지 별도로 추적할 수 있습니다. 이 도식은 각 해석 결정에 따라 어떤 프로세스 결과가 나오는지 기록합니다.

AI Flowi Workflow에서 라우팅 결정 하나 표현하기

상태: 문서화됨. Condition은 카탈로그에 문서화되어 있으며, Ai Flowi가 운영 환경에서 테스트하지 않았습니다.

인터페이스는 Condition 참조 문서에서 다룹니다. 이 실습은 외부 검사로 결과를 확정한 뒤의 구조 결과 분기만 표현합니다.

설정 예시이며, 기록된 테스트가 아닙니다

AI Flowi Workflow 계정과 가상의 JSON 검사 자료를 준비합니다. Condition의 data_input에 해당 자료를 넣고, key_name을 width_state로, operator를 equals 로, compare_value를 consistent로 설정합니다. 일관된 테스트 자료 하나와 일관되지 않은 자료 하나를 사용해 두 라우팅 출력을 모두 확인합니다. 이 단독 라우팅 검사에는 제공업체 계정이나 API 키가 필요하지 않습니다. 이후 제공업체 서비스를 이용할 때는 직접 준비한 인증 정보와 별도 요금 결제가 필요합니다.

예상 출력은 선택된 분기의 자료입니다. 여기서 Condition은 CSV를 파싱하거나 격리 보고서를 생성하지 않습니다. 행동을 연결하기 전에 width_state가 없는 경우를 별도의 미해결 입력으로 확인합니다. 비교 결과만으로 검사 원본까지 검증되었다고 추론하지 않습니다.

워크플로 다이어그램 템플릿의 한계는 무엇인가요?

이 템플릿은 가져오기 전 파일 단위 사전 분류에 사용합니다. 부분 승인, 병렬 파싱, 대상 트랜잭션, 공식 BPMN 의미 체계는 규정하지 않습니다. 정상 레코드는 받아들이고 오류 레코드는 격리해야 한다면, 전체 파일 격리 정책을 바꾸기 전에 레코드 식별 정보, 배치 합계, 거부된 레코드 보고서를 어떻게 대조·확인할지 정합니다.