붙어 있는 스크립트를 “workflow automation”이라고 부르는 것이 지겹다

발행: (2025년 12월 27일 오후 07:37 GMT+9)
8 min read
원문: Dev.to

Source: Dev.to

Cover image for “I’m tired of calling glued‑together scripts ‘workflow automation’”

Felix Schultz

수년간 많은 “자동화”를 구축하고 유지해 왔습니다. 대부분은 같은 패턴을 따랐습니다:

  • 여기서 약간의 JavaScript, 저기서 Python 스크립트, 몇 가지 환경 변수, 어쩌면 cron 작업, 어쩌면 웹훅;
  • 그런 다음 이를 연결하고 아무도 너무 많이 건드리지 않기를 바랍니다.

잠시 동안은 잘 작동했습니다. 하지만 어느 순간 그렇지 않게 됩니다.

Flow‑Like overview

스크립팅이 확장성을 잃을 때

오늘날 흔히 “워크플로 자동화” 라고 불리는 것은 종종 마케팅이 더 좋은 스크립팅에 불과합니다.

  • JS와 Python 조각들을 이어 붙입니다.
  • 단계 사이에 JSON 블롭을 전달합니다.
  • 런타임 동작에 의존해 구성 요소가 맞는지 판단합니다.

처음에는 유연하게 느껴집니다. 나중에는 깨지기 쉽습니다.

  • 리팩토링이 두렵습니다.
  • 디버깅은 로그를 읽고 어느 단계가 데이터를 변형했는지 추측하는 것입니다.
  • 누군가 필드 이름을 바꾸면 전체가 여전히 실행되지만—잘못된 결과만 나오게 됩니다.

그것은 자동화가 아닙니다. 스케줄러와 함께 쌓인 기술 부채입니다.

나는 소프트웨어처럼 동작하는 워크플로우를 원했다

Flow‑Like는 꽤 단순한 아이디어에서 시작되었습니다:

워크플로우가 중요하다면, 실제 소프트웨어 시스템처럼 동작해야 합니다.

즉:

  • 명확한 입력과 출력
  • 늦은 실패 대신 조기 검증
  • 예측 가능한 실행
  • 다섯 개의 스크립트를 읽지 않고도 워크플로우가 무엇을 하는지 이해할 수 있는 능력

Flow‑Like에서는 워크플로우가 시각적 그래프이지만 타입이 지정되어 있습니다. 연결이 단순히 “데이터가 여기로 간다”가 아니라 의미를 가집니다. 두 단계가 교환하는 내용에 대해 합의하지 않으면, 나중에 실행이 깨지는 것이 아니라 즉시 피드백을 받게 됩니다.

Typed connections and validation

이것만으로도 많은 자동화 환경에서 “당연히” 여겨지는 버그 유형을 크게 줄일 수 있습니다.

Visual doesn’t mean dumbed‑down

많은 도구들이 시각적 워크플로를 복잡성을 숨기는 방법으로 사용한다. 나는 그 접근 방식이 마음에 들지 않는다.

Flow‑Like는 시각적 요소를 구조를 드러내기 위해 사용한다, 그것이 없다고 가장하는 것이 아니다. 실행 순서, 의존성, 부수 효과를 볼 수 있다. 워크플로가 복잡하면 그래프가 그것을 보여준다 — 그리고 그것은 좋은 일이다.

개발자로서 나는 복잡성에 대해 정직한 시스템을 원한다.

Source:

기본적으로 견고함

내부적으로 Flow‑Like는 Rust로 작성되었습니다. 이것은 트렌디한 선택이 아니라 실용적인 선택이었습니다.

워크플로우 엔진은 I/O, 동시성, 장기 실행 작업 및 실패를 처리합니다. 충돌이나 정의되지 않은 동작은 허용될 수 없습니다. Rust는 빠르고 예측 가능하며 기본적으로 안전한 런타임을 제공합니다.

더 중요한 것은 시스템을 이식 가능하게 만든다는 점입니다. 동일한 워크플로우를 로컬에서, 데스크톱 앱 안에서, 혹은 서버에서 실행해도 동작 방식이 변하지 않습니다.

프라이버시와 로컬‑우선 실행

많은 자동화 도구가 “모두 클라우드로 보내라”고 빨리 가정하는 점이 마음에 들지 않습니다.

Flow‑Like은 로컬‑우선입니다. 워크플로를 완전히 자신의 컴퓨터에서 구축하고 실행할 수 있습니다. 필수 백엔드가 없으며, 숨겨진 SaaS 의존성도 없습니다.

이는 클라우드에 반대한다는 의미가 아니라 선택권을 제공한다는 의미입니다.

로컬 실행의 장점:

  • 디버깅이 더 쉬움
  • 개발 중 실제 데이터 사용 가능
  • 프라이버시와 컴플라이언스에 대한 놀라움이 적음

나중에 워크플로를 서버나 쿠버네티스에서 실행하고 싶다면 괜찮습니다. 하지만 그것이 필수는 아니어야 합니다.

Local and offline execution

AI 워크플로우, 접착 테이프 없이

AI는 이제 많은 자동화 파이프라인의 일부가 되었습니다. 너무 자주 프롬프트를 스크립트에 삽입하고 이상한 일이 일어나지 않기를 바라는 상황이 발생합니다.

Flow‑Like에서는 AI 단계가 워크플로우 그래프의 일부일 뿐입니다. 다른 모든 요소와 마찬가지로 타입이 지정된 입력과 출력이 있습니다. 데이터가 어디서 오는지, 어떻게 변환되는지, 무엇이 생성되는지를 확인할 수 있습니다.

이렇게 하면 AI 워크플로우가 덜 마법처럼 보이고, 훨씬 신뢰하기 쉬워집니다.

Node detail view

왜 이걸 만들고 있는가

(원본 기사는 여기서 계속됩니다…)

Back to Blog

관련 글

더 보기 »