AI 개발에서 규칙 기반 자동화가 실패하는 이유

대부분의 개발자는 자동화를 트리거, 프로세스, 그리고 출력으로 정의합니다. 이는 크론 잡(cron jobs)이나 배포 스크립트에는 적합합니다. 하지만 AI를 사용하여 소프트웨어를 작성할 때는 실패합니다.

AI는 고정된 단계의 시퀀스를 따르지 않습니다. 아키텍처와 의존성에 대해 판단을 내립니다. 이러한 변화는 단순 자동화에서 관리형 실행(managed execution)으로의 전환을 요구합니다.

단순 자동화의 문제점

단순 자동화는 예측 가능한 작업에 효과적입니다. 보일러플레이트 코드를 작성하거나 린터(linters)를 실행하는 데 탁월합니다. 이러한 작업은 경로가 명확하고 출력이 알려져 있습니다.

작업에 맥락(context)이 필요할 때 문제가 발생합니다. 새로운 기능이 기존 서비스와 어떻게 상호작용하는지 알아야 합니다. 스키마 변경이 무언가를 망가뜨리는지 확인해야 합니다.

당면한 작업에만 집중하는 도구는 종종 실패합니다. 겉보기에는 올바르지만 아키텍처를 망가뜨리는 코드를 생성합니다. 해당 코드는 사용자의 특정 시스템에 대한 인지 능력이 부족합니다.

워크플로우의 격차

대부분의 기업은 이미 쉬운 작업들을 자동화하고 있습니다. 업계 데이터에 따르면 워크플로우의 30%에서 40%는 이미 자동화되어 있습니다.

남은 작업에는 판단이 필요합니다. 이것이 소프트웨어 엔지니어링의 어려운 부분입니다. 규칙 기반 자동화는 맥락이 부족하기 때문에 이 단계에서 비용이 많이 들게 됩니다.

관리형 실행이 제공하는 것

관리형 실행은 시스템이 작동하는 방식을 바꿉니다. 다음 세 가지 단계에 집중합니다:

계획(Planning)이 실행보다 먼저 이루어집니다. 시스템은 요구 사항과 아키텍처에 대한 계획을 수립합니다. 코드를 작성하기 전에 이 계획을 검토합니다. • 속도보다 가시성(Visibility)을 우선합니다. 이제 도구들은 작업 과정을 보여주는 것을 우선시합니다. 나중에 추측하는 대신 빌드 뒤에 숨겨진 논리를 확인할 수 있습니다. • 제어된 워크플로우(Controlled workflows). 시스템은 에이전트의 행동을 검사할 수 있도록 상태 머신(state machines)과 작업 위임(task delegation)을 사용합니다.

적절한 도구 선택 방법

도구가 시간을 절약해 주는지 묻지 마십시오. 거의 모든 도구는 시간을 절약해 줍니다. 작업의 범위(scope)를 물으십시오.

범위가 좁고 위험이 낮은 작업에는 단순 자동화를 사용하십시오. 빠르고 오버헤드가 적습니다.

복잡한 빌드에는 관리형 실행을 사용하십시오. 아키텍처 결정의 리스크가 클 때 사용하십시오.

목표는 자동화를 대체하는 것이 아닙니다. 목표는 작업의 위험도에 맞춰 도구를 선택하는 것입니다.

Source: https://dev.to/8080_ai/why-rule-based-automation-breaks-in-ai-development-and-what-managed-execution-fixes-1j9f