터미널 반복 작업을 자동화 흐름으로 나누는 법
반복해서 하는 터미널 작업을 AI에게 맡기기 전에, 입력·처리·검증·출력·금지 조건으로 정리하고 AI가 만든 결과를 확인하는 방법입니다.
왜 필요한가 · 반복 작업을 바로 자동화해 달라고만 하면 AI가 위험한 삭제·덮어쓰기 명령을 섞거나 실패 조건을 빠뜨릴 수 있기 때문입니다.
누구에게 · WSL이나 리눅스 터미널에서 반복 작업을 줄이고 싶지만, 스크립트를 직접 깊게 작성하기보다 AI에게 맡기고 검수하고 싶은 입문자
읽고 나면 · 자동화할 작업을 AI에게 설명할 수 있는 작업 정의서로 바꾸고, AI가 만든 명령·스크립트에서 입력·출력·검증·위험 동작을 확인할 수 있습니다.
핵심 요약
- 자동화 흐름은 입력 → 처리 → 검증 → 출력 → 실패 처리로 나누면 AI에게 설명하기 쉽습니다.
- 핵심은 스크립트 문법을 외우는 것이 아니라 AI에게 줄 조건을 구체적으로 정하는 것입니다.
- 처음 요청할 때는 삭제·덮어쓰기 없이 대상 목록과 결과 경로만 확인하게 만드는 편이 안전합니다.
- AI가 만든 결과는 입력 경로, 출력 위치, 실패 조건, 위험 명령 순서로 검수합니다.
터미널에서 반복해서 하는 일이 생기면 “이거 자동화하면 좋겠다”는 생각이 듭니다. 예전 같으면 셸 스크립트 문법을 하나씩 배워야 했지만, 지금은 AI에게 자동화 스크립트 초안을 맡길 수 있습니다.
다만 “이 작업 자동화해줘”라고만 말하면 결과가 애매해집니다. AI가 어떤 파일을 처리해야 하는지, 실패하면 멈춰야 하는지, 원본을 건드려도 되는지 모르기 때문입니다.
그래서 입문자에게 더 중요한 것은 스크립트 문법을 다 외우는 것이 아니라, AI에게 맡길 자동화 흐름을 정확히 설명하고 결과를 검수하는 것입니다.
1단계: 자동화할 작업을 한 문장으로 좁힌다
먼저 자동화할 일을 작게 정합니다.
너무 넓은 요청은 좋지 않습니다.
- 문서 업무 자동화하기
- 블로그 운영 자동화하기
- 자료 정리 자동화하기
AI에게 맡기려면 이렇게 좁히는 편이 좋습니다.
docs폴더의 PDF 파일을 텍스트로 변환한다- 변환된 텍스트가 비어 있지 않은지 확인한다
- 문제가 없을 때만
ai-inputs폴더로 복사한다 - 원본 PDF는 삭제하지 않는다
이 정도까지 좁히면 AI가 만들 결과도 훨씬 안전해집니다.
2단계: 손으로 하던 일을 단계로 나눈다
자동화는 보통 아래 다섯 칸으로 나눌 수 있습니다.
| 단계 | AI에게 설명할 내용 | 예시 |
|---|---|---|
| 입력 | 어떤 파일이나 폴더를 받을지 | ./docs 안의 PDF |
| 처리 | 무엇을 할지 | PDF를 텍스트로 변환 |
| 검증 | 결과가 정상인지 어떻게 볼지 | 텍스트 파일이 비어 있지 않은지 확인 |
| 출력 | 어디에 결과를 둘지 | ./ai-inputs 폴더로 복사 |
| 금지/실패 | 하지 말아야 할 일 | 원본 삭제 금지, 실패 시 중단 |
이 표가 사실상 자동화 설계도입니다. 이걸 먼저 만들면 AI에게 훨씬 정확히 요청할 수 있습니다.
3단계: AI에게 줄 작업 정의서를 만든다
위 표를 바탕으로 AI에게 줄 요청을 문장으로 만듭니다.
WSL Ubuntu에서 실행할 자동화 스크립트를 만들어줘.
목표:
- ./docs 폴더 안의 PDF 파일을 텍스트 파일로 변환한다.
- 변환 결과가 비어 있지 않으면 ./ai-inputs 폴더로 복사한다.
조건:
- 원본 PDF는 삭제하지 않는다.
- 기존 txt 파일을 덮어쓰기 전에 경고하거나 다른 이름을 사용한다.
- 처음 버전은 처리 대상 목록을 먼저 보여주는 안전한 방식으로 만든다.
- 각 명령이 무엇을 하는지 주석으로 설명한다.
- 실패했을 때 어떤 메시지를 확인해야 하는지도 알려준다.
이렇게 요청하면 AI는 단순한 명령 나열보다 더 안전한 초안을 만들 가능성이 큽니다.
4단계: AI가 만든 결과에서 볼 것
AI가 스크립트나 명령을 만들어오면 바로 실행하지 말고 아래 순서로 확인합니다.
입력 경로가 맞는가
AI가 ./docs, /home/user/docs, /mnt/c/... 같은 경로를 임의로 만들 수 있습니다. 내가 실제로 쓰는 폴더인지 확인해야 합니다.
확인할 명령은 이 정도면 충분합니다.
pwd
ls
출력 위치가 안전한가
결과 파일을 어디에 두는지도 봅니다. 원본 파일과 같은 위치에 덮어쓰는지, 별도 폴더에 저장하는지 확인합니다.
입문 단계에서는 별도 출력 폴더를 쓰는 편이 안전합니다.
./ai-inputs
./output
./converted
실패 조건이 있는가
변환 결과가 비어 있거나 입력 파일이 없을 때 그냥 다음 단계로 넘어가면 안 됩니다. AI가 만든 코드 안에 이런 확인이 있는지 봅니다.
완벽히 이해할 필요는 없지만, 아래처럼 “없으면 멈춘다”, “비어 있으면 멈춘다”는 조건이 있는지 확인하면 됩니다.
test -f 파일명
test -s 결과파일
위험 명령이 있는가
처음 버전에는 아래 명령이 들어가면 한 번 멈추는 것이 좋습니다.
rm
mv
chmod -R
chown -R
sudo
이 명령들이 무조건 나쁜 것은 아닙니다. 하지만 삭제, 이동, 권한 변경, 관리자 권한이 들어가므로 AI에게 “왜 필요한지 설명해줘”라고 다시 물어보는 편이 안전합니다.
5단계: 처음에는 확인 모드로 요청한다
처음부터 실제 파일을 바꾸게 하지 말고 확인 모드로 요청하세요.
AI에게 이렇게 말하면 됩니다.
첫 번째 버전은 실제 변환이나 복사를 하지 말고,
처리 대상 파일 목록과 생성될 결과 파일 경로만 보여주는 dry-run 버전으로 만들어줘.
대상 목록이 맞는지 확인한 뒤에 다음 요청을 합니다.
대상 목록이 맞아. 이제 실제 변환을 하되 원본 삭제는 하지 않는 버전으로 바꿔줘.
이렇게 단계별로 넓히면 실수해도 되돌리기 쉽습니다.
6단계: AI에게 다시 물어볼 로그를 남긴다
자동화가 실패하면 AI에게 다시 보여줄 정보가 필요합니다. “안 돼요”보다 아래처럼 정리하면 좋습니다.
실행한 명령:
./pdf-to-ai-input.sh ./docs/report.pdf
나온 에러:
[에러 메시지 붙여넣기]
확인한 것:
- ./docs/report.pdf 파일은 있음
- ./ai-inputs 폴더는 있음
- 결과 txt 파일은 0바이트임
원하는 것:
왜 txt가 비어 있는지 확인하는 다음 점검 순서를 알려줘.
이렇게 주면 AI가 원인을 훨씬 잘 좁혀줍니다.
7단계: AI 워크플로우를 붙일 때도 중간 파일을 남긴다
AI 요약이나 분류를 붙일 때도 중간 결과를 남기는 편이 좋습니다.
01-original.pdf
02-extracted.txt
03-cleaned.txt
04-ai-summary.md
요약이 이상할 때 원인을 나눠 볼 수 있습니다.
- PDF 추출이 잘못됐는가
- 전처리에서 내용이 사라졌는가
- AI 프롬프트가 모호했는가
- 저장 단계에서 깨졌는가
AI 결과만 보면 그럴듯해 보여서 원인을 놓치기 쉽습니다. 그래서 자동화 흐름 안에 검증 지점을 남기는 것이 중요합니다.
AI에게 자동화 작업을 맡기기 전 체크리스트
- 자동화할 작업을 한 문장으로 좁혔다
- 입력, 처리, 검증, 출력, 금지 조건을 적었다
- 원본 삭제와 덮어쓰기는 하지 말라고 명시했다
- 처음에는 dry-run 또는 대상 목록 확인 버전으로 요청했다
- AI가 만든 결과에서 경로, 출력 위치, 실패 조건, 위험 명령을 확인했다
- 실패했을 때 AI에게 다시 보여줄 로그 형식을 정했다
정리
터미널 반복 작업을 자동화 흐름으로 만든다는 것은 명령어를 하나하나 외워서 직접 스크립트를 완성하는 일이 아닙니다. 입력, 처리, 검증, 출력, 금지 조건을 정리해 AI에게 맡길 수 있는 형태로 만드는 일입니다.
입문자는 스크립트 문법을 모두 이해하지 않아도 됩니다. 대신 AI가 만든 결과에서 어떤 파일을 건드리는지, 어디에 저장하는지, 실패하면 멈추는지, 위험한 명령이 들어갔는지를 확인할 수 있어야 합니다.
자주 묻는 질문
- 자동화 스크립트를 직접 짤 줄 알아야 하나요?
- 깊게 직접 짤 필요는 없습니다. 다만 입력, 처리, 검증, 출력이 무엇인지 설명할 수 있어야 AI에게 제대로 맡길 수 있고 결과도 검수할 수 있습니다.
- AI에게 자동화를 맡길 때 가장 먼저 말해야 할 것은 무엇인가요?
- 처리할 대상과 하지 말아야 할 일을 먼저 말하는 것이 좋습니다. 예를 들어 어떤 폴더의 어떤 파일만 처리할지, 원본 삭제나 덮어쓰기는 하지 말라고 명시합니다.
이 글은 입문자 기준으로 이해하기 쉽게 정리했으며, 내용은 운영 과정에서 순차적으로 보완될 수 있습니다. 환경에 따라 화면이나 명령이 다르게 보일 수 있으니, 막히는 부분이 있으면 isense2021@gmail.com 로 알려주세요.