한 줄 조건을 좁게 고친 뒤 작성기는 다시 움직였고, 첫 글 2,412자와 전체 13편 생성까지 확인했어요. 다만 이것은 원고 작성 단계의 복구이지 공개 발행 완료가 아닙니다.
2026년 8월 1일 오토큐 작업에서 실제로 겪은 일입니다. 기존 작성 도구 호출이 조직 정책 때문에 모두 중단됐고, 허용된 다른 작성기로 전환한 첫 결과도 검색설명 96자 때문에 검사에서 탈락했어요. 실패를 한 덩어리로 보지 않고 호출 실패와 결과 검증 실패로 나눈 것이 복구의 출발점이었습니다.
목표는 기존 오토큐를 갈아엎지 않는 것이었어요
오토큐의 목표는 활성 블로그 13곳에 들어갈 원고를 한 편씩 만드는 것이었어요. 입력 자료, 글쓰기 기준, 결과 검사, 이후 발행 흐름은 이미 마련돼 있었습니다. 고장 난 작성 구간 때문에 나머지 구조까지 새로 만들 이유는 없었어요.
처음에는 기존 Claude CLI를 외부 프로그램으로 호출했어요. 쉽게 말하면 주 프로그램이 별도의 작성 프로그램을 불러 결과를 받아오는 방식입니다. 13개 작업을 준비했지만 모든 호출이 조직 정책에 막혔고, 유효한 원고를 모으는 결과 파일에는 빈 목록만 남았습니다.
Python 공식 문서에서는 이런 외부 프로그램 실행을 다룰 때 종료 상태와 정상 출력, 오류 출력을 구분해 확인할 수 있다고 안내해요. 실행 명령만 보며 “왜 글이 없지?”라고 추측하기보다, 외부 프로그램이 시작되지 않은 것인지 시작됐지만 잘못된 결과를 냈는지 먼저 나눠야 합니다.
Python subprocess.run 공식 문서 바로가기두 번째 실패는 작성 도구가 아니라 결과 검사에서 났어요
조직 정책을 억지로 피하지 않고 허용된 Codex 작성기로 전환했어요. 이번에는 실제 원고가 생성됐지만 첫 글이 최종 결과에 들어가지 못했습니다. 검사 기록에 남은 이유는 “검색 설명 96자, 허용 120~160자”였어요.
여기서 구분할 점이 있습니다. 120~160자는 Google이 정한 합격선이 아니라 이 오토큐가 사용하는 내부 편집 기준이에요. Google Search Central은 검색 결과의 설명을 주로 페이지 본문에서 자동으로 만들며, 페이지의 메타 설명이 더 알맞다고 판단되면 그것을 사용할 수 있다고 안내합니다. 고정된 최소 글자 수를 지키면 노출된다고 보장하지도 않아요.
제목도 비슷합니다. Google은 페이지의 제목과 눈에 띄는 본문 문구 등을 바탕으로 검색 결과의 제목 링크를 자동 생성해요. 그래서 이번 96자 실패는 검색 서비스가 글을 거절한 사건이 아니라, 우리가 정한 품질 규격을 작성 프로그램이 맞추지 못한 사건으로 기록하는 게 정확합니다.
Google 검색 결과 설명 공식 문서 바로가기 Google 제목 링크 공식 문서 바로가기96자는 왜 자동으로 고쳐지지 않았을까요
작성기에는 짧은 검색설명을 자동으로 늘리는 기능이 이미 있었어요. 문제는 기능이 없는 게 아니라 시작 조건이 잘못 잡혀 있었다는 점입니다.
수정 전 조건은 검색설명이 100자 이상이고 120자 미만일 때만 보정 문장을 붙였어요. 숫자로 쓰면 ‘100 <= 길이 < 120’이었습니다. 첫 결과는 96자였으니 이 문을 통과하지 못했고, 바로 다음의 120~160자 검사에서 탈락했어요.
생활 속 문으로 바꿔 생각하면 쉬워요. 키가 100cm 이상인 사람만 발판을 받을 수 있는데, 96cm인 사람에게도 발판이 필요한 상황이었습니다. 발판은 준비돼 있었지만 받을 수 있는 범위를 잘못 정한 셈이에요.
- 기존 작성 도구 중단: 외부 호출 단계의 실패
- Codex 첫 글 96자: 결과는 생겼지만 자동 보정 범위에서 빠진 실패
- 최종 검사: 120~160자 기준을 정상적으로 적용해 짧은 설명을 차단
수정은 한 줄, 최종 기준은 그대로 뒀어요
codex_write.py에서 자동 보정 조건만 ‘100 <= 길이 < 120’에서 ‘1 <= 길이 < 120’으로 바꿨어요. 검색설명이 비어 있지 않고 120자보다 짧다면 보정을 시도하도록 시작 범위를 넓힌 것입니다.
반대로 최종 검사인 120~160자 조건은 낮추지 않았어요. 96자도 그냥 통과시키도록 검사 기준을 풀었다면 실패 메시지만 사라지고 품질 계약은 깨졌을 겁니다. 이번 수정은 검사기를 약하게 만든 것이 아니라, 이미 있던 보정 기능이 짧은 설명에도 작동하게 연결한 작업이에요.
‘1자 이상’으로 바꿨다고 한 글자짜리 설명을 승인한다는 의미도 아닙니다. 보정 뒤에도 120자에 못 미치거나 160자를 넘으면 최종 검사에서 다시 멈춰요. 아주 짧은 입력은 문장 한 번을 덧붙여도 부족할 수 있으므로, 모든 짧은 설명을 해결하는 만능 수정은 아닙니다.
재실행은 한 편부터 시작했어요
수정 직후 13편을 한꺼번에 다시 돌리지 않았어요. 먼저 실패했던 첫 작업 한 편만 같은 입력으로 재실행했습니다. 원인이 맞다면 이 한 편에서 결과가 달라져야 했기 때문이에요.
재실행한 첫 원고는 검사 기록상 본문 2,412자였고, 검색설명은 자동 보정 뒤 132자가 됐어요. 두 값 모두 해당 작성기의 검사 범위에 들어왔고 원고 한 편이 결과 파일에 정상 저장됐습니다.
그다음 같은 작성기로 전체 입력을 실행했어요. 최종 결과 파일에서 서로 다른 작업 ID 13개와 원고 13개를 확인했습니다. 실제 복구 순서는 다음과 같아요.
- 13개 입력을 기존 작성기로 실행했지만 조직 정책 중단으로 유효 결과가 0편 남았습니다.
- 허용된 Codex 작성기로 바꿔 첫 작업만 실행했습니다.
- 첫 결과의 검색설명 96자가 내부 검사에서 탈락했습니다.
- 자동 보정 시작 조건 한 줄을 100자 이상에서 1자 이상으로 바꿨습니다.
- 같은 첫 작업을 재실행해 본문 2,412자와 검색설명 132자를 확인했습니다.
- 전체 작업으로 넓혀 원고 13편 생성을 확인했습니다.
공개 기록에는 계정명, 인증 정보, 쿠키, 전체 내부 경로를 넣지 않았어요. 문제를 재현하는 데 필요한 조건과 결과 수치만 남겨도 어디서 실패했고 무엇을 바꿨는지는 설명할 수 있습니다.
13/13 생성과 오토큐 완료는 다른 말이에요
이번 복구가 증명한 범위는 작성기가 원고 13편을 생성했다는 데까지예요. 이미지 제작, 관련 글 연결, 사람의 내용 검수, 플랫폼 등록, 공개 주소 확인은 별도 단계입니다.
실제로 생성 뒤 독립 검수를 진행하자 일부 원고에서 주제 교체가 필요했고, 공통 문구가 글의 내용과 맞지 않는 문제도 발견됐어요. 관련 글 연결과 이미지 실물 확인 역시 남아 있었습니다. 그래서 13편이 만들어졌다는 사실을 13편 발행 완료로 바꾸어 말하면 안 됩니다.
자동 보정에 붙인 공용 문장도 한계가 있었어요. 글자 수는 맞춰도 전기요금 글에 신청 대상이나 기한을 확인하라는 문장이 붙는 식으로 문맥이 어긋날 수 있습니다. 이번 한 줄 수정은 작성 흐름을 되살린 응급 복구였고, 주제에 맞는 설명을 만드는 품질 개선은 다음 검수에서 따로 처리해야 해요.
복구 결과와 남은 한계
외부 AI 도구를 연결한 자동화가 멈췄다면 처음부터 전부 다시 실행하지 마세요. 먼저 어느 경계에서 깨졌는지 확인하면 불필요한 수정 범위를 줄일 수 있습니다.
- 외부 프로그램의 종료 상태와 오류 출력을 확인하세요. 조직 정책이나 권한으로 호출 자체가 중단됐는지부터 나눕니다.
- 결과 파일이 비었는지, 결과는 있지만 형식 검사에서 탈락했는지 구분하세요.
- 검사 메시지에 나온 실제 값과 허용 범위를 비교하세요. 이번 사례에서는 96자와 120~160자가 단서였어요.
- 검사 기준을 낮추기 전에 자동 보정 조건에서 입력이 빠지는지 확인하세요.
- 원인을 고친 뒤 실패했던 한 편만 같은 입력으로 재실행하세요.
- 한 편의 실제 산출물이 달라졌을 때만 전체 작업으로 확대하세요.
- 생성 수, 검수 통과 수, 공개 수를 따로 기록하세요. 세 숫자가 같지 않으면 전체 완료가 아닙니다.
2026년 8월 1일 기준으로 Python 공식 문서의 외부 프로그램 실행 결과 확인 방법과 Google Search Central의 제목·검색 결과 설명 안내를 대조했어요. 공식 문서는 프로그램 호출과 검색 표시의 일반 원칙을 설명할 뿐, 이번 오토큐의 120~160자 내부 규칙이나 13편 생성 성공을 보증하지 않습니다. 그 두 결과는 로컬 실패 기록과 실제 산출물로 따로 확인했습니다.