작업을 몇 번 해 달라는 말은 같은 자료를 몰래 복제해 그 숫자를 채우라는 뜻이 아니다. 자료가 적으면 부족함을 알려야 하고 횟수를 생략했다면 준비한 범위를 알아야 한다. 나는 반복문 안에서 조용히 횟수를 줄이거나 늘리는 대신 실행 계획을 만들 때 자료 수와 요청을 먼저 맞추도록 했다.
한 작업이 무엇인지 폴더에서 먼저 정한다
자료 위치에 title.txt가 있으면 그 위치 하나를 작업으로 본다. 그렇지 않으면 바로 아래 폴더들을 정렬해 목록으로 만든다. 빈 목록과 과도한 크기는 거절한다. 파일 개수와 작업 개수를 같게 세지 않고 한 폴더를 한 작업의 자료 묶음으로 다루는 경계다.
폴더가 있다고 실제 필요한 내용이 다 있다는 뜻은 아니다. 플랫폼에 따라 제목과 본문, 미디어 조건을 더 읽는다. 같은 폴더 수라도 자료의 준비 상태가 다를 수 있다. 나는 숫자를 세는 일과 처리 가능한 입력을 준비하는 일을 별도로 검사해야 한다고 봤다. 수량 표시가 곧 실행 가능 표시가 되지 않게 한다.
명시한 수량과 생략한 수량을 다르게 해석한다
repeatCount가 있으면 양의 정수 형식과 범위를 확인하고 준비한 폴더 수보다 크면 REPEAT_INPUTS_INSUFFICIENT로 거절한다. 비어 있으면 준비한 목록 전체를 사용한다.0을 무조건 전체로 해석하는 UI 입력과 섞지 않고 이 어댑터가 받는 실제 형식을 설명한다.
자연어에 서로 다른 수량이 있으면 외부 계획 단계가 정리해야 한다. 예를 들어 여러 숫자가 나타났다는 이유로 임의 곱셈을 하거나 가장 큰 수를 선택하지 않는다. 사용자의 작업 묶음이 무엇인지 명확히 한 뒤 값을 전달하는 것이 먼저다. 반복기가 숫자를 잘 세는 것과 요청의 뜻을 이해하는 것은 다른 역할이다.
반복기 내부의 min만으로 요청을 검증하지 않는다
원래 run_scheduler는 요청과 대기 폴더 수, 한도를 min으로 묶어 실행량을 정한다. 이 제한은 내부 보호지만 자료 부족을 사용자 요청의 성공으로 바꾸면 안 된다. 새 어댑터의 plan은 먼저 부족한 수량을 거절해 조용히 적게 처리하는 상황을 줄인다.
이 차이는 기존 함수를 재사용할 때 놓치기 쉽다. 원래 함수가 잘 돌았다고 새 입력 계약까지 갖춰진 것은 아니다. 나는 반복의 안쪽에서 이미 있는 제한을 읽고 바깥 계획에서 어떤 오류를 명시해야 하는지 정했다. 코드를 복사하는 일보다 재사용할 조건을 다시 만드는 일이 더 중요할 때가 있었다.
선택 수와 자료 검사 범위도 다를 수 있다
원본 plan은 전체 폴더를 읽고 각 내용을 검사한 뒤 시각으로 정렬하고 요청 수만큼 자른다. 따라서 앞의 일부만 요청해도 뒤쪽 폴더의 잘못된 자료가 계획을 막을 수 있다. “두 개만 처리”와 “두 개만 읽음”은 같은 설명이 아니다. 실제 검토 범위를 알아야 오류 위치를 이해할 수 있다.
날짜가 있는 업무는 정렬한 시각에서 먼저 선택되고 일반 workflow의 빈 일정은 원래 목록 순서를 유지할 수 있다. 폴더 이름이 화면에서 먼저 보였다는 이유만으로 실행 순서를 추정하지 않는다. 나는 어떤 정렬과 선택이 적용됐는지 준비 결과의 항목 목록을 읽는 것이 중요하다고 생각했다.
복제 방지와 내용 중복 판정은 다른 기능이다
어댑터가 부족한 자료를 자동 복제하지 않는다고 두 폴더의 문장이 같은지까지 판정하는 것은 아니다. 다른 이름으로 같은 원고를 준비한 경우에는 별도의 내용 검토가 필요하다. 파일 hash는 자료 변경을 대조하는 근거이며 글의 독창성을 평가하는 점수는 아니다.
공유 예제는 부족한 수량일 때 작업 사본이0개인지 시험한다. 원본 보존과 선택한 수량, 중복 이름 거절도 확인했다. 이24개 파일 시험은 실제 외부 게시나 모든 자료의 의미 중복을 검수한 결과가 아니다. 이번 글도 원래 자료와 고객 폴더를 새로 처리하지 않았다. 수량 계약의 작은 보장을 정확히 남긴다.
숫자를 맞추는 대신 부족함을 설명한다
운영자는 횟수를 지정하면 그만큼 실제 자료가 처리됐다고 생각한다. 프로그램이 조용히 적게 하거나 같은 것을 늘려 처리하면 그 기대를 깨뜨린다. 나는 부족한 자료와 실행할 수 있는 수를 드러내고 사용자가 요청 범위를 다시 정할 수 있게 하는 것이 더 낫다고 본다.
회사 업무의 청구서와 보고서도 마찬가지다. 건수를 채우는 것보다 각 건에 필요한 근거가 있는지가 중요하다. 반복 자동화의 편리함은 숫자를 임의로 맞추는 능력이 아니라 준비한 자료와 현재 요청이 어떻게 연결되는지 설명하는 능력에서 시작했다.