원하는 이미지나 영상이 나오지 않았다는 결과만 보면 모두 프로그램 오류처럼 보일 수 있다. 하지만 입력을 못 보낸 경우와 올바른 요청 뒤 제공자가 생성하지 못한다고 답한 경우는 다르다. 북극성에서는 실패 이유를 좁히고 실제 없는 생성물을 성공으로 대신하지 않도록 기록을 나눴다.

먼저 요청이 어디까지 갔는지 구분한다

도구를 못 찾았는지, 입력 검증이 실패했는지, 보내기 준비가 안 됐는지, 새 응답이 나온 뒤 매체가 없는지 질문을 나눈다. 같은 빈 결과라도 근거가 다르다. 현재 code의 dispatched는 입력 전부터 보수적으로 남을 수 있으므로 그 이름만으로 서비스가 질문을 받았다고 단정하지 않는다.

기록에서 확인한 실제 클릭과 응답, 원래 영수증을 함께 봐야 한다. 사람이 필요한 인증 화면도 구현 결함과는 다른 경계다. 한 단어의 실패 상태로 모두 묶으면 필요 없는 수리나 같은 요청의 반복 전송이 이어질 수 있었다. 무엇을 고쳐야 하는지 판단하기 전에 관찰한 사건부터 나눴다.

스케치 오조작 수정과 이미지 생성 성공은 다르다

실제 이미지 편집 기록에는 스케치 화면을 문장 입력란으로 오인한 문제가 있었다. 그 구현을 고쳐 현재 대화에 문장 요청을 전달하도록 했다. 하지만 이후 제공자는 생성하지 못한다고 답했고 새 편집 이미지는 없었다. 요청 전달 경로를 고쳤다는 사실을 생성 성공으로 적지 않았다.

과거 기록은 대기가 길어진 실행을 멈춘 뒤 원래 답을 읽어 확인했으며 같은 요청을 또 보내지 않았다고 남긴다. 원래 이미지를 다시 내려받아 새 편집 결과처럼 보이게 하지도 않았다. 수리한 프로그램의 동작과 외부 서비스가 만든 결과는 각각의 근거로 확인해야 했다.

새 응답과 매체 없음이 함께 맞아야 거절을 분류한다

waitAnswer는 새 응답이고 busy가 아니며 필요한 ready 매체가 없을 때 알려진 생성 불가·한도 표현을 본다. 같은 거절 내용이 안정돼야 GEMINI_MEDIA_UNAVAILABLE로 끝난다. 이전 대화의 거절 문구나 단어 하나만 페이지에서 찾아 현재 요청을 실패로 만들지 않는다.

현재 분류는 제한된 표현 패턴이다. 모든 언어와 인용 문맥, 계정 문제의 정확한 원인을 이해하는 모델은 아니다. 표현을 못 알아보면 시간 초과처럼 다른 결과가 남을 수도 있다. 서비스 근본 원인까지 자동으로 진단했다고 넓히지 않고 어떤 응답과 매체 상태에서 분류했는지를 설명한다.

실제 매체가 있으면 거절 단어만으로 지우지 않는다

관련 시험은 같은 텍스트 기반 AI라는 문구가 있어도 새 응답에 준비된 이미지가 있으면 완료되는 반례를 둔다. 단어와 실제 생성물 중 하나를 무조건 고르는 것이 아니라 요청한 매체 증거를 먼저 본다. 글에 생성 불가를 언급했다고 결과물이 없는 것은 아닐 수 있기 때문이다.

반대로 설명 문장이 아무리 길어도 영상 요청에 새 영상이 없으면 완료라고 하지 않는다. 당시 서로 다른 모델 상태를 확인한 영상 요청도 매체0으로 남았다. 이것은 그 실행에서 관찰한 사실이며 특정 계정이나 모델이 영구히 불가능하다는 제품 일반론으로 바꾸지 않았다.

실패를 다시 읽는 검증과 새 요청 시험을 나눈다

이번에는 당시 report와 edit-refusal·video proof, 현재 함수와 기존 시험을 대조했다. 원래 요청을 새로 보내거나 제공자 응답을 바꾸려 하지 않았다. 당시 오류 표현을 넣은 fixture에서 분류가 바로잡힌 결과와 실제 새 매체 생성 성공은 서로 다른 확인이다.

공유 모듈은 unavailable을 선언한 합성 응답에서 안정 후 media_unavailable을 돌려준다. 자연어 거절 판별을 구현하지 않았고 모든 observed_complete에도 업무 성공 검증 False를 남긴다.32개 단위 시험은 그 계약의 근거이며 실제 서비스의 모든 거절을 정확히 분류했다는 수치가 아니다.

실패 원인이 정확해야 다음 작업도 작아진다

입력 경로의 구현 오류라면 관련 함수와 재현을 고친다. 사람 확인이면 현재 세션에서 인계하고, 실제 생성 불가 응답이면 그 결과와 없는 매체를 그대로 남긴다. 확인하지 못한 원인은 미확인으로 적는다. 같은 작업을 반복하는 것이 진단을 대신하지 않게 한다.

나는 고객이 원하는 결과가 나오지 않았을 때도 프로그램이 쓸모 있는 설명을 남기길 원했다. 무엇을 시도했고 어디까지 확인했으며 무엇이 아직 없는지 읽을 수 있으면 다음 판단이 구체적이다. 실패를 숨기는 성공 문구보다 원래 결과를 보존하는 기록이 확장 가능한 자동화의 기반이 된다.