맥 AI 작업환경 세팅 체크리스트: 권한·경로·자동실행 기준

Mac에 AI 도구를 붙였는데 생각보다 자주 멈춘다면, 대부분은 모델 성능 문제가 아니었다. 내가 겪은 막힘은 권한 팝업, 외장 SSD 경로, 자동 실행 계정, 브라우저 로그인, 로그가 남지 않는 크론 쪽에서 나왔다. 화면 앞에서는 한 번 눌러 넘길 수 있는 문제가, 새벽 자동화에서는 그대로 실패가 됐다.
10초 결론: Mac AI 작업환경은 앱을 많이 까는 순서가 아니라 읽어도 되는 폴더, 쓰면 안 되는 폴더, 사람이 확인해야 하는 계정 작업, 실패했을 때 남길 로그를 먼저 고정해야 안정된다. 이 네 가지가 잡혀야 Gemini CLI, Codex, Hermes, Obsidian 같은 도구를 붙여도 덜 꼬였다.
확인한 환경
이 기준은 Mac mini M4를 AI 작업대처럼 쓰며 정리한 운영 노트에서 시작했다. 작업 파일은 외장 저장장치와 동기화 폴더에 나뉘어 있었고, 원고 초안은 Obsidian에서 출발했다. 실행 쪽에는 터미널, 브라우저, WordPress REST, Antigravity CLI, 예약 작업이 붙었다. 공개 글로 나가는 작업은 본문 작성, 말투 점검, 링크 검증, 공개 URL 확인까지 이어졌다.
한 대의 컴퓨터가 빨라지는 것보다 더 중요했던 건 경계였다. 어떤 도구가 파일을 읽는지, 어느 계정으로 실행되는지, 실패 로그가 어디에 남는지 모르면 자동화가 성공한 것처럼 보여도 나중에 원인을 찾기 어려웠다.
증상: 사람 손이 빠지는 순간 멈췄다
직접 터미널을 열고 실행할 때는 문제가 없어 보였다. 그런데 같은 명령을 예약 작업으로 돌리면 결과 파일이 비어 있거나, 브라우저 로그인이 풀리거나, 외장 디스크 경로를 찾지 못하는 일이 생겼다. macOS 권한 창이나 Google 계정 확인처럼 사람에게는 작은 단계가 자동화 입장에서는 완전한 중단점이었다.
블로그 운영에서도 비슷했다. 원고는 만들어졌는데 검증 파일이 없거나, Antigravity 출력이 stdout에는 없고 transcript에만 남는 경우가 있었다. 이때 결과 메시지만 믿으면 실제 공개 글이 바뀌었는지 알 수 없다. 그래서 작업마다 원문 백업, 적용 결과, 공개 검증을 따로 남기는 식으로 바꿨다.
원인: 성능보다 권한과 경로가 먼저 흔들렸다
AI 도구는 똑똑해도 macOS 권한 밖의 파일은 못 읽는다. 터미널, 브라우저, 자동화 도구, 음성 입력 도구가 요구하는 권한도 서로 다르다. 사람이 직접 실행할 때 접근되던 폴더가 백그라운드 작업에서는 막힐 수 있고, 외장 SSD가 다시 마운트되며 경로가 살짝 달라지는 일도 있었다.
두 번째 원인은 경로의 중복이었다. 노트 루트, 다운로드 폴더, 공개 작업 폴더, 비밀 파일 폴더가 섞이면 AI에게 넘긴 지시서가 너무 넓어진다. 내가 원하는 건 “이 폴더 전체를 봐”가 아니라 “이 작업에 필요한 파일만 보고, 나머지는 건드리지 마”에 가까웠다.
내가 고정한 세 가지 선
| 구분 | 열어둔 범위 | 막아둔 범위 |
|---|---|---|
| 작업 파일 | 공개 가능한 원고, 캡처, 검증 결과 | 계정 비밀번호, 토큰, 결제·정산 자료 |
| 자동 실행 | 정해진 작업 폴더, 결과 파일 생성 | 로그인 승인, 2단계 인증, 계정 설정 변경 |
| 공개 적용 | REST로 한 글 또는 한 페이지 수정 | 삭제, noindex, redirect, canonical, 플러그인 설정 |
이렇게 나눠두면 AI 도구에 줄 문장이 짧아진다. “전체를 알아서 처리해”가 아니라 “이 파일을 읽고, 이 링크를 유지하고, 이 검증을 통과하지 못하면 적용하지 마”라고 말할 수 있다. 실제로 공개 글 수정에서는 이 차이가 컸다.
해결 순서: 권한을 넓히기 전에 작업 루트부터 줄였다
처음에는 권한을 더 주면 해결될 줄 알았다. 하지만 전체 디스크 접근을 넓히는 방식은 편한 대신 위험했다. 지금은 작업 루트를 줄이는 쪽을 먼저 택한다. 오늘 고칠 글, 사용할 이미지, 남길 검증 파일을 한 묶음으로 두고, 자동화 도구가 그 범위 안에서만 움직이게 만든다.
Obsidian 노트도 같은 기준으로 바꿨다. 생각을 적는 메모와 AI에게 넘기는 작업 지시서는 다르게 써야 했다. 그 흐름은 Obsidian 노트를 AI 작업 지시서로 바꾸는 법에 따로 정리했다. Mac 쪽에서는 권한, 경로, 자동 실행, 로그를 한꺼번에 넓히기보다 지시서의 범위를 줄이는 편이 더 오래 갔다.
자동 실행에서 꼭 남기는 로그
예약 작업은 성공 알림보다 실패 증거가 더 필요했다. 실행 시각, 작업 폴더, 만든 파일, 공개 URL, 검증 결과가 남아야 다음 날 같은 문제를 다시 밟지 않는다. 특히 AI 도구 출력은 화면에 보이는 응답과 실제 저장된 로그가 다를 수 있었다. 그래서 stdout이 비었을 때도 transcript 로그를 확인하는 절차를 따로 뒀다.
크론 작업에서 결과 파일을 먼저 남기는 기준은 AI 에이전트 크론 작업은 결과 파일부터 남겨야 덜 꼬인다와 이어진다. Gemini CLI가 OAuth나 trust 단계에서 멈출 때는 Gemini CLI OAuth 크론 오류 체크리스트를 같이 본다.
도구별 역할은 겹치지 않게 둔다
Codex, OpenClaw, Hermes, Gemini, Antigravity를 한 덩어리로 보면 운영이 금방 꼬인다. 코드를 고치는 도구, 브라우저와 파일을 확인하는 도구, 메시지를 받아 실행하는 도구, 한국어 말투를 다듬는 도구를 나눠야 했다. 실패했을 때 어느 층을 고쳐야 하는지가 보여야 하니까.
장기기억도 마찬가지였다. 저장할 사실과 버릴 로그를 나누지 않으면 오래된 경로, 예전 계정 상태, 이미 고친 오류가 다시 작업 기준으로 올라온다. 이 기준은 AI 에이전트 장기기억 설계 기준과 연결된다. Mac 작업환경은 결국 도구 설치보다 운영 규칙에 더 가까웠다.
내 체크리스트
- AI 도구가 읽어도 되는 폴더와 절대 읽으면 안 되는 폴더를 문서로 나눈다.
- 터미널, 브라우저, 자동화 도구별 macOS 권한을 따로 확인한다.
- 외장 SSD와 동기화 폴더는 작업 기준 경로를 하나로 정한다.
- 자동 실행 작업은 결과 파일과 실패 로그를 먼저 남긴다.
- OAuth, 2단계 인증, 결제·계정 설정은 자동화 실패가 아니라 사람 확인 단계로 둔다.
- 공개 글 수정은 원문 백업, diff, 말투 점검, public 200 확인까지 끝난 뒤 적용한다.
검증 기준과 다음 글
내 기준에서 이 세팅이 끝났다는 말은 “AI가 뭔가 답했다”가 아니다. 정해진 폴더에서 실행됐고, 결과 파일이 생겼고, 공개 URL이 200으로 열렸고, noindex나 canonical이 흔들리지 않았을 때만 끝난 걸로 본다. 메일과 문서처럼 민감한 자료를 AI에게 넘기기 전 경계는 AI 메일·문서 자동화 전에 막아야 할 입력 경계에서 이어서 보면 좋다.
