이미지를 만들고 싶다고 모델 이름만 바꾸면 충분한 것은 아니었다. 화면에는 채팅 모드와 모델 선택, 이미지 도구와 기존 입력이 함께 있었다. 북극성에서는 어느 선택이 무엇을 바꾸는지 나누고, 메뉴가 켜졌다는 사실을 생성 성공으로 읽지 않도록 했다.

모드·모델·기능을 다른 입력으로 둔다

실행 계약에는 mode와 model·power, feature가 따로 있다. 빈 모델·강도는 현재 사이트 값을 유지하는 선택이며 이미지·영상 feature는 전용 도구를 찾는 흐름으로 이어진다. 모델 메뉴가 보인다는 것과 해당 도구를 선택했다는 것은 다른 상태다. 사용자가 의도한 선택을 한 값으로 뭉치지 않았다.

이 구조는 모든 서비스에 같은 메뉴가 있다는 가정도 아니다. 실제 화면에서 제공된 정확한 이름과 상태를 읽고 없거나 모호하면 기능별 오류를 돌려준다. 메뉴 이름을 알고 있다는 이유로 계정에 그 기능이 반드시 있다고 표시하지 않는다. 기능군 등록과 실사이트 사용 가능성을 나누는 첫 경계였다.

도구 더보기와 새 대화 요구도 상태로 다룬다

Gemini chooseTool은 추가 메뉴를 확인하고 필요한 도구가 없으면 알려진 더보기에서 다시 관찰한다. 후보가 하나여야 하고 이미 checked이면 다시 누르지 않는다. 새 대화 확인창이 나오면 이번 옵션에서 허용한 경우에만 이어 가며 그렇지 않으면 창을 닫고 기존 대화를 유지한 오류를 남긴다.

메뉴를 여는 데 성공했다고 결과가 생긴 것은 아니다. 실제 전송과 새 응답, 원하는 매체 준비는 뒤에서 확인한다. 도구 선택의 성공을 전체 생성 완료로 키우면 서비스 거절이나 계정 제한을 놓치기 쉽다. 시작 경로의 준비와 최종 결과를 다른 기록으로 남겼다.

도구가 넣은 자체 문구와 사용자 초안을 구별한다

도구를 고르면 빈 입력란에 도구 이름이 자동으로 들어올 수 있다. 이를 전부 기존 사용자 글로 보면 정상 요청을 막고, 어떤 문구든 지워도 된다고 보면 초안을 잃는다. 코드는 선택 전 빈 값이었고 자신의 선택 직후 정확한 도구 이름이 들어온 경우만 selectedToolDraft로 인정한다.

다른 사용자 문장이 있으면 도구를 고르기 전부터 보존 오류다. 기존 시험은 정확한 자체 이름과 관계없는 원고를 나눠 보고 후자에는 fill을 하지 않는지 확인한다. 단어가 비슷하다는 추정 대신 입력이 생긴 시점과 자신의 동작을 연결해 범위를 좁혔다.

모델을 바꿔도 생성 불가 응답은 그대로 남긴다

실제 작업 기록에서는 영상 도구 표시와 서로 다른 모델 상태를 확인한 뒤 요청했지만 두 경우 모두 새 영상이 없었다. 나는 이를 특정 모델이 언제나 영상을 못 만든다는 결론으로 쓰지 않는다. 당시 계정·화면·입력에서 관찰한 응답과 매체0이라는 범위로 남긴다.

이미지 편집에서도 스케치 창을 문장 입력란으로 오인한 구현 오류와, 문장을 정상 전달한 뒤 제공자가 생성하지 못한 결과는 다르다. 전자를 수정했다고 후자까지 성공했다고 표시할 수 없다. 올바른 도구로 진입한 사실과 서비스가 원하는 결과를 만든 사실을 구분하는 이유다.

같은 단어가 보여도 원래 화면을 다시 확인한다

모드 버튼이 없을 때 일반 속성 접근 오류로 끝내는 대신 필요한 선택이 없다는 오류를 주는 시험이 있다. 실제 모드 버튼이 선택 상태를 노출하지 않는 경우도 모델 선택기에서 멋대로 추정하지 않도록 다룬다. 화면 계약의 차이를 숨기지 않는 진단이 다음 작업에 더 유용했다.

이번에는 원본 함수·기존 시험·과거 실측 기록을 읽었으며 모델이나 도구를 새로 선택하지 않았다. 독립 생성 관찰 모듈도 메뉴 선택기는 아니다. 그 코드의 결과를 도구와 모델의 실제 호환성 검증으로 말하지 않는다. 무엇을 관찰하고 무엇을 아직 확인하지 않았는지가 연결돼야 한다.

선택의 편의보다 결과의 의미를 지킨다

고객에게 내부 feature 이름을 외우게 할 필요는 없다. 하지만 어떤 기능을 준비했고 어떤 결과가 나왔는지는 읽을 수 있어야 한다. 이미지 도구를 골랐다, 요청이 전달됐다, 새 이미지가 준비됐다를 나눠 설명하면 어디에서 멈췄는지 구체적이다.

나는 생성형 서비스 관리도 버튼을 많이 누를 수 있다는 소개보다 선택과 결과의 관계가 분명한 프로그램으로 남기고 싶었다. 메뉴의 존재·현재 모델·실제 매체를 따로 확인하는 작은 구분이 자동화의 주장과 실제 작업 사이의 거리를 줄여 준다.