업무 스크립트 통합과 독립 모듈의 조건
흩어진 업무 자동화 스크립트를 하나로 합치려는 고민에 독립 모듈 조건을 단 조언과 cli 적응담을 정리한 에이전트코리아 대화.
10월 15일 밤 10시 35분, 에이전트코리아에 회사 업무 자동화를 많이 해놨는데 파이썬 파일이 엄청 많다는 한 참가자의 글이 올라왔다. 짧은 메시지가 연이어 나눠 올라왔고, 마지막 줄은 이걸 하나로 합치고 싶다는 바람이었다. 이 화제는 2명이 23건을 주고받은 일대일에 가까운 대화였다.
py파일이 엄청많은데..
왜 합치려는가
다른 참가자가 먼저 되물었다. 왜 합치느냐는 질문이었다. 질문자의 설명은 이랬다.
데이터 받고 정렬해서 리포트 뽑고 매일 실행하고 이런루트인데
데이터를 받고, 정렬하고, 리포트를 만들고, 매일 실행하는 일이 사실상 하나의 흐름인데 파일은 여러 개로 흩어져 있다는 뜻이다. 합치고 싶은 이유는 이 흐름을 한곳에서 보고 싶다는 데 있는 것으로 읽힌다.
합치되 독립된 모듈로
조언한 참가자는 스스로 하나의 워크플로우에서 쓰는 스크립트를 깔끔하게 정리하려고 하나로 합쳤다가 겪은 일이 있는 사람으로 보인다. 그는 먼저 한마디를 보탰다.
미리 한마디만 조언 드리자면 스크립트를 하나로 합치되 반드시 독립되어 모듈화된 형태로 합쳐져야 돼
여기서 모듈은 기능별로 따로 떼어 놓은 코드 덩어리를 가리킨다. 한 파일 안에 있더라도 각 부분이 서로 얽히지 않고 독립적으로 동작하게 만들라는 것이다. 이어 이 지시를 어떻게 지킬지도 구체적으로 말했다.
꼭 이 지시를 준수해야 돼. 리뷰 및 검증 절차에 이 지시 준수 여부를 집어넣어야 해
원칙을 말로만 두지 말고 리뷰와 검증 단계의 항목으로 넣으라는 것이다. 이유는 한 줄로 요약됐다.
하나 고장나면 스크립트 전체가 다 고장납니다.
조언자는 당시에는 의존성이라는 단어를 몰랐다는 말도 덧붙였다. 의존성은 한 부분이 다른 부분에 기대어 있어 하나가 바뀌면 다른 쪽도 영향을 받는 관계를 뜻한다. 합치는 일 자체보다, 합친 뒤에 부분들이 서로를 끌고 넘어지지 않게 하는 일이 핵심이라는 것이 이 조언의 요지다.
알듯 말듯 답답해도 효율은 오른다
질문자는 이제 무슨 말인지 이해가 된다고 답했다. 그러면서 지금은 억지로 cli로 작업하는 데 익숙해지는 중이고, 집에 오면 코덱스와 클로드 앱으로 한다고 말했다.
뭔가 알듯 말듯.. 안되고 답답 해서 스트레스~ 그런데 업무 효율성은 올라가서 뿌듯
앱으로 하던 작업을 cli로 옮기는 동안 겪는 불편이 있고, 그럼에도 얻는 효율이 불편을 상쇄한다는 체감이다. 자동화를 늘려 온 사람이 도구 환경까지 바꾸는 중간 지점에 서 있음을 보여 주는 장면으로 보인다.
읽을거리
이 대화는 두 사람 사이의 문답이라 일반화하기는 어렵다. 조언 역시 한 참가자의 개인 경험에 바탕한 것이며, 모든 업무 스크립트가 합쳐서 이득을 보는 것도 아니다. 합치기 전에 먼저 왜 합치려는지 되물은 첫 질문이 오히려 중요한 대목일 수 있다.
그럼에도 이 문답에는 두 가지 실용적인 점이 담겨 있다. 하나는 통합의 이득과 장애 범위가 같은 선택에서 갈린다는 것, 다른 하나는 원칙을 말로만 두지 않고 검증 절차에 넣으라는 방식이다. 자동화 파일이 하나둘 늘어난 사람이라면 합치기 전에 각 부분이 독립해서 돌아가는지부터 확인해 보라는 시사로 읽을 수 있다.