피드로 돌아가기
Treat Form Responses as Workflow State, Not Just Submissions
Dev.toDev.to
Backend

Form Submission을 단순 데이터 수집에서 Workflow State 기반 자동화 체계로 전환

Treat Form Responses as Workflow State, Not Just Submissions

Lovanaut2026년 6월 24일3intermediate

Context

단순 Row 단위의 데이터 수집 방식으로는 운영 단계의 책임 소재와 처리 상태 추적이 불가능한 한계 발생. Submission을 단순 Event로 처리할 경우 Side Effect의 성공 여부와 실제 비즈니스 프로세스의 진행 상태를 구분하지 못하는 구조적 결함 존재.

Technical Solution

  • Submission Event와 Workflow State를 분리하여 운영 상태를 관리하는 State Record 설계
  • Side Effect별 독립적 State 필드(slack_notification_state, crm_sync_state 등)를 도입하여 개별 작업의 원자적 성공/실패 추적
  • AI 생성 결과물을 Suggestion State와 Confirmed State로 이원화하여 모델의 환각 가능성을 배제한 Source of Truth 확보
  • owner, status, next_action 등의 필드를 통해 데이터에 Operational Memory를 부여한 쿼리 최적화 구조 채택
  • Exclusion Reason 기록 강제를 통한 데이터 누락 방지 및 투명한 제외 처리 로직 구현

- [ ] 단순 저장용 Row 외에 owner, status, next_action 필드를 포함한 상태 레코드 생성 - [ ] 알림 전송 등 개별 Side Effect의 성공 여부를 상태 필드로 분리하여 관리 - [ ] AI 출력값을 최종 상태가 아닌 제안(Suggestion) 필드에 우선 저장 - [ ] 데이터 제외 처리 시 반드시 구체적인 사유(Exclusion Reason)를 기록하는 로직 추가 - [ ] 상태 변경 이력(State Change Log)을 기록하여 감사 추적 가능성 확보

원문 읽기