이 문서의 목적
헤르메스를 지속 운영 가능한 시스템으로 정착
단발성 사용법이 아니라 운영 루프, 승인 정책, 실패 복구 구조를 함께 다룹니다.
24시간 Hermes 자동화에서 운영자가 바로 판단할 수 있는 상태·증거·중단 기준 중심의 알림 설계
콘텐츠 형식
심층 실전 가이드
핵심 주제
Hermes Notification Digest Ops
결과 목표
24시간 자동화 루프 정착
이 문서의 목적
헤르메스를 지속 운영 가능한 시스템으로 정착
단발성 사용법이 아니라 운영 루프, 승인 정책, 실패 복구 구조를 함께 다룹니다.
핵심 결과물
개인 AI 에이전트 운영 플레이북
역할 분리, 검증 기준, 비용 상한, 중단 규칙까지 한 세트로 정리합니다.
활용 방식
목차 순서대로 읽고 체크리스트로 바로 적용
이론 뒤에 반드시 실행 규칙을 붙여 실제 작업 루틴에 녹여 사용하는 방식입니다.
Hermes Agent를 24시간 운영하면 가장 많이 받는 것은 결과물이 아니라 알림입니다. 글이 올라갔는지, 검증이 통과했는지, live smoke와 라이브 스모크가 실패했는지, 다음 실행이 무엇을 이어받아야 하는지 계속 신호가 옵니다. 문제는 알림이 많아질수록 운영자는 더 잘 알게 되는 것이 아니라 더 빨리 지칩니다. 그래서 Hermes 운영에는 알림 요약 설계가 필요합니다.
알림 요약은 단순히 로그를 짧게 줄이는 일이 아닙니다. 운영자가 지금 해야 할 판단을 한 화면에 올리는 일입니다. 좋은 요약은 상태, 영향, 증거, 다음 행동, 중단 기준을 분리합니다. 반대로 나쁜 요약은 “작업 완료”, “오류 발생”, “확인 필요”처럼 행동을 미루는 말만 남깁니다.
이 글은 Hermes가 콘텐츠 운영, Q&A 점검, 배포 확인, DB-only 업로드, 품질 감사처럼 반복 작업을 수행할 때 어떤 알림을 보내고 어떤 정보는 숨겨야 하는지 정리합니다. 특히 모바일에서 짧게 확인해야 하는 운영자에게 맞춘 요약, 실패 시 중단 기준, 권한과 보안 경계를 중심으로 설명합니다.
자동화가 많아지면 운영자는 모든 실행의 전체 로그를 읽을 수 없습니다. 크론 실행은 정해진 시간에 도착하고, 품질 감사는 많은 항목을 발견하며, 콘텐츠 게시 작업은 검증과 업로드와 live smoke를 연속으로 수행합니다. 이 모든 결과가 장문의 로그로만 남으면 운영자는 무엇이 중요한지 판단하기 어렵습니다.
알림 요약은 운영자의 주의를 어디에 써야 하는지 정하는 필터입니다. 성공은 짧게, 위험은 구체적으로, 실패는 재현 가능하게 전달해야 합니다. 예를 들어 “검증 실패”라는 알림은 거의 쓸모가 없습니다. “Hermes 글 업로드 전 품질 scan에서 본문 깊이 기준이 부족해 업로드하지 않고 draft로 이동했다”라고 말해야 운영자가 안심하고 다음 실행을 기다릴 수 있습니다.
또 하나 중요한 점은 알림이 공개 품질과 연결된다는 것입니다. 운영자가 알림만 보고 성공으로 착각하면 실제 사이트에는 오래된 목록, 깨진 상세 페이지, 공개 금지어, 콘솔 오류가 남을 수 있습니다. 따라서 Hermes 알림은 항상 “내부 작업이 끝났다”가 아니라 “공개 화면까지 확인했다”를 기준으로 설계해야 합니다.
좋은 운영 알림은 다섯 줄 안에서도 충분한 판단 재료를 줄 수 있습니다. 핵심은 모든 정보를 넣는 것이 아니라, 다음 행동을 결정하는 데 필요한 최소 증거를 넣는 것입니다.
| 항목 | 포함할 내용 | 빠지면 생기는 문제 |
|---|---|---|
| 상태 | 정상, 주의, 장애 중 하나 | 중요도 판단이 느려짐 |
| 작업 범위 | 이번 실행이 다룬 섹션과 slug | 다른 작업과 충돌 가능 |
| 검증 결과 | validation, upload, revalidate, live smoke | 성공 기준이 모호해짐 |
| 증거 marker | 제목, slug, 목록 노출, 상세 응답 | 실제 공개 반영 여부 불명 |
| 다음 행동 | 끝, 재시도, 보류, 사람 확인 | 알림을 보고도 행동하지 못함 |
이 구조는 길게 써도 되고 짧게 써도 됩니다. 중요한 것은 순서가 반복되어야 한다는 점입니다. 매번 다른 형식으로 보고하면 운영자는 알림을 해석하는 데 시간을 씁니다. Hermes 운영에서는 알림 형식도 하나의 인터페이스입니다.
첫 줄은 감정 표현이 아니라 운영 상태여야 합니다. “잘 된 것 같습니다”보다 “정상: 업로드와 live smoke 통과”가 낫습니다. “주의: 업로드는 성공했지만 revalidate가 건너뛰어 live detail marker만 확인”처럼 부분 성공도 명확히 써야 합니다.
상태 줄에는 세 단계가 적당합니다. 정상은 사용자가 볼 공개 경로까지 확인된 상태입니다. 주의는 서비스는 살아 있지만 캐시, 검증 누락, 오래된 drift, 관련 없는 dirty 상태 같은 위험이 남은 상태입니다. 장애는 공개 페이지 실패, 업로드 실패, 품질 기준 미달, 금지어 노출, 권한 경계 위반처럼 운영자가 즉시 봐야 하는 상태입니다.
두 번째 줄은 이번 실행이 정확히 무엇을 했는지 말합니다. “콘텐츠 작업”보다 “Hermes DB-only 글 1건, slug는 hermes-ops-notification-digest-ops”가 안전합니다. 범위가 보이면 다음 실행이 같은 영역을 다시 만지거나 다른 작업의 산출물을 덮어쓸 가능성이 줄어듭니다.
범위 줄에는 하지 않은 일도 간단히 포함할 수 있습니다. 예를 들어 DB-only 작업이라면 “git 변경 없음, cron 변경 없음, 임시 JSON은 archive로 이동”처럼 말합니다. 이 한 줄만 있어도 운영자는 저장소가 더러워졌는지, 배포가 필요한지, 다음에 어떤 점검을 해야 하는지 빠르게 알 수 있습니다.
알림 요약은 마지막에 쓰는 문장이 아니라 작업 전체의 설계 기준입니다. 처음부터 어떤 결과를 보고할지 정해야 검증도 흔들리지 않습니다.
Hermes가 작업을 시작할 때는 결과 보고에 들어갈 필드를 먼저 정합니다. 예를 들어 콘텐츠 게시라면 slug, validation 결과, 품질 scan 결과, upload 결과, revalidate 결과, live detail 상태, list marker, archive 위치, git 상태가 필요합니다. Q&A 점검이라면 worker exit, 대기 건수, 공개 금지어 scan, 첫 상세 페이지 상태, 콘솔 오류가 필요합니다.
이렇게 목표 필드를 먼저 정하면 중간에 불필요한 로그를 붙잡지 않습니다. 검증을 마친 뒤 “무엇을 보고해야 하지?”라고 생각하는 대신, 필요한 증거를 하나씩 채웁니다.
업로드 성공은 내부 결과입니다. live page 200, 제목 marker, 목록 노출, 브라우저 콘솔 0은 공개 결과입니다. 두 결과를 같은 줄에 섞으면 실패를 놓치기 쉽습니다. Hermes 알림은 내부 결과와 공개 결과를 반드시 분리해야 합니다.
예를 들어 “post upload 성공, revalidate 성공, 상세 200, 목록에 제목 marker 확인”은 좋은 요약입니다. 반대로 “게시 완료”는 위험합니다. 게시 완료라는 말이 DB 저장을 뜻하는지, 캐시 갱신을 뜻하는지, 실제 독자 화면을 뜻하는지 알 수 없기 때문입니다.
품질 기준을 통과하지 못한 글은 업로드하지 않아야 합니다. 이때 알림은 “실패”만 말하지 말고 어떤 기준이 부족했는지, 원본이 어디로 이동했는지, 다음 실행이 무엇을 보완하면 되는지 알려야 합니다. 단, 민감정보나 실제 인증값, 연결 문자열, 로컬 비밀 위치는 절대 알림에 넣지 않습니다.
예를 들어 “주의: 본문 길이와 상황별 예시가 부족해 업로드하지 않았고 draft archive로 이동. 다음 실행은 상황별 예시와 실패 중단 기준을 보강해야 함”처럼 쓰면 충분합니다.
알림을 보내기 전에 Hermes는 중단 기준을 스스로 확인해야 합니다. 공개 금지어가 발견됐는가, live smoke가 실패했는가, revalidate가 실패했는데 캐시 확인도 못 했는가, 작업 범위를 벗어난 파일이 생겼는가, 인증 관련 값이 출력됐는가를 봅니다. 하나라도 해당하면 정상 보고를 하면 안 됩니다.
중단 기준은 자동화가 스스로 멈추는 브레이크입니다. 운영자는 긴 로그보다 “왜 멈췄는지”를 먼저 알아야 합니다.
알림 요약은 상황에 따라 강조점이 다릅니다. 같은 형식에 모든 작업을 억지로 넣으면 중요한 신호가 흐려집니다. 아래 예시는 Hermes 운영에서 자주 만나는 세 가지 경우입니다.
DB-only 글 게시의 핵심은 저장소를 더럽히지 않는 것입니다. 알림은 다음 흐름을 보여야 합니다.
| 단계 | 요약에 남길 증거 |
|---|---|
| 임시 JSON 생성 | slug와 category가 hermes인지 |
| validation | post schema 통과 여부 |
| 품질 scan | 본문 깊이, 필수 섹션, FAQ, 금지어 scan |
| upload | 업로드 성공과 갱신 응답 상태 |
| live smoke | 상세 200, 목록 200, 제목 marker |
| archive | content 경로에 임시 파일이 남지 않았는지 |
이때 정상 알림은 짧아도 됩니다. “정상: hermes-ops-notification-digest-ops 업로드, revalidate 성공, /hermes와 상세 marker 확인, 원본 archive 이동, git clean”이면 운영자는 필요한 판단을 끝낼 수 있습니다.
Q&A worker 알림은 공개 페이지 안전을 강조해야 합니다. 대기 질문이 없다는 사실만으로 정상이라고 말하면 부족합니다. 목록 페이지가 열리는지, 첫 상세가 열리는지, 관리자용 문구나 테스트 질문이 보이지 않는지, 브라우저 콘솔에 오류가 없는지 확인해야 합니다.
좋은 요약은 “worker idle, 공개 Q&A 200, 첫 상세 200, 금지어 없음, 테스트 문구 없음, 콘솔 오류 없음”처럼 공개 경로를 포함합니다. 만약 공개 페이지에 raw 상태 label이 보이면 worker는 정상이어도 운영 상태는 주의가 됩니다.
배포가 느릴 때 가장 위험한 알림은 “push 완료”입니다. push는 배포가 아닙니다. Hermes는 배포 상태를 확인하지 못하면 정상으로 보고하면 안 됩니다. 대신 “원격 반영은 확인됐지만 배포 성공 상태를 아직 확인하지 못해 live smoke를 보류”처럼 말해야 합니다.
DB-only 작업은 배포가 필요 없을 수도 있지만, revalidate와 live smoke는 여전히 필요합니다. 알림은 항상 현재 방식에 맞는 공개 확인을 기준으로 합니다.
알림은 보안 경계의 일부입니다. 많은 운영 사고는 실제 작업보다 보고 과정에서 생깁니다. 명령 결과를 그대로 복사하거나, 환경 상태를 지나치게 자세히 쓰거나, 인증 관련 이름을 반복해서 노출하면 알림 자체가 위험한 기록이 됩니다.
Hermes 알림에는 값을 넣지 않습니다. 필요한 것은 “있다/없다”, “성공/실패”, “권한 부족”, “재설정 필요” 같은 상태입니다. 외부 서비스 인증값, 데이터 연결 정보, 관리자 접근 문자열, 개인 토큰 같은 것은 알림에 등장하면 안 됩니다. 운영자가 실제 값을 확인해야 한다면 안전한 비공개 채널에서 별도로 처리해야 합니다.
또한 알림은 작업 권한을 넓히는 도구가 아닙니다. “검증 실패했으니 알아서 고쳐서 배포”처럼 쓰면 다음 실행이 범위를 과도하게 해석할 수 있습니다. 대신 “검증 실패: 공개 상세 marker 없음. 다음 행동은 재조회 또는 캐시 갱신 확인. 코드 변경은 별도 승인 필요”처럼 범위를 좁혀야 합니다.
알림 요약이 신뢰받으려면 알림 자체도 검증해야 합니다. 다음 네 가지를 통과해야 합니다.
첫째, 각 상태가 실제 명령 결과와 연결되어야 합니다. validation 통과라고 썼다면 해당 명령이 0으로 끝났어야 합니다. live smoke 통과라고 썼다면 공개 URL의 응답과 marker를 확인했어야 합니다.
둘째, 금지어 scan을 해야 합니다. 내부 관리자 문구, 비밀정보를 연상시키는 영어 약어, 로컬 파일 경로, 운영자 전용 label은 공개 HTML과 API 응답에 남기면 안 됩니다. 글 본문에서도 같은 원칙을 적용합니다.
셋째, 목록과 상세를 나누어 확인해야 합니다. 상세만 200이면 목록 카드가 오래됐을 수 있고, 목록만 보이면 상세 캐시가 실패했을 수 있습니다. Hermes 요약은 두 경로를 따로 적어야 합니다.
넷째, 브라우저 확인이 필요한 작업은 콘솔 오류를 봅니다. HTML fetch는 빠르지만 클라이언트 렌더링 오류, 보기 전환 오류, hydration 문제를 놓칠 수 있습니다. 중요한 공개 화면은 최소 한 번 브라우저로 확인하는 것이 안전합니다.
Hermes가 알림을 정상으로 보내면 운영자는 그 작업을 완료로 받아들입니다. 따라서 다음 조건에서는 정상 보고를 중단해야 합니다.
| 중단 조건 | 보고 방식 |
|---|---|
| 품질 scan 실패 | 업로드하지 않고 draft 이동, 부족 기준 보고 |
| upload 실패 | live smoke를 하지 않고 저장 실패 보고 |
| revalidate 실패 | DB 반영과 캐시 갱신 상태를 분리 보고 |
| live detail 404 | 공개 완료 금지, slug/category 확인 필요 |
| 목록 marker 없음 | 목록 갱신 보류 또는 캐시 지연으로 주의 보고 |
| 금지어 발견 | 공개 완료 금지, 문구 수정 후 재검증 |
| 임시 content 파일 잔존 | archive 전까지 작업 미완료 |
| 범위 밖 변경 발견 | 정상 보고 금지, 충돌 위험으로 분류 |
중단 기준은 운영자를 귀찮게 하려고 있는 것이 아닙니다. 자동화가 스스로 신뢰를 지키기 위한 장치입니다. 빠르게 많은 일을 하는 Hermes일수록, 멈춰야 할 때 확실히 멈춰야 합니다.
가장 흔한 실수는 성공 알림을 너무 낙관적으로 쓰는 것입니다. “완료”라는 단어는 짧지만, 무엇이 완료됐는지 설명하지 않습니다. DB 저장, 캐시 갱신, 목록 노출, 상세 렌더링, 브라우저 검증은 모두 다른 완료입니다. 알림에는 최소한 어느 완료인지 드러나야 합니다.
두 번째 실수는 요약에 모든 로그를 넣는 것입니다. 긴 알림은 로그와 다르지 않습니다. 운영자에게 필요한 것은 전체 출력이 아니라 판단 가능한 증거입니다. 긴 실패 로그가 필요하면 별도 보관하고, 알림에는 실패 단계와 재현 경로만 남깁니다.
세 번째 실수는 모바일 화면을 고려하지 않는 것입니다. 운영자는 이동 중에 알림을 볼 수 있습니다. 첫 줄에서 정상/주의/장애를 알 수 있어야 하고, 상세한 설명은 아래로 내려가야 합니다. 중요한 링크나 slug는 복사하기 쉽게 짧아야 합니다.
네 번째 실수는 보안 경계를 설명하면서 실제 민감한 이름을 예시로 쓰는 것입니다. 공개 글과 알림에서는 일반 표현을 사용해야 합니다. 외부 인증값, 데이터 연결 정보, 관리자 접근 문자열처럼 의미는 전달하되 복사 가능한 값이나 변수명을 남기지 않는 방식이 안전합니다.
알림 요약은 한 번 정하면 끝나는 문서가 아닙니다. 운영하면서 어떤 알림이 실제 판단에 도움이 됐는지, 어떤 알림이 너무 길었는지, 어떤 실패가 요약에서 빠졌는지 주기적으로 고쳐야 합니다.
Hermes 운영팀은 각 반복 작업마다 “좋은 최종 보고 예시”를 하나씩 쌓는 방식으로 시작할 수 있습니다. Hermes 글 게시, Q&A 점검, 배포 검증, 품질 감사, DB-only 업로드처럼 자주 반복되는 작업부터 표준 요약을 만들면 됩니다. 표준이 생기면 AI 에이전트는 더 짧고 정확하게 보고하고, 운영자는 더 적은 화면으로 더 중요한 결정을 내릴 수 있습니다.
결국 24시간 AI 운영의 품질은 많이 실행하는 능력보다, 무엇이 안전하게 끝났고 무엇은 아직 끝나지 않았는지 정확히 말하는 능력에서 갈립니다. 알림 요약은 그 경계를 만드는 운영 언어입니다.