Claude Code 하네스

실전 Claude Code 하네스 ⑬ 「확인해 줘」라고 말하는 대신 확인할 수단을 남겼습니다

devalive 2026. 10. 13. 09:21

처음 오셨다면 용어 풀이와 연재 지도를 정리한 ⓪편 「AI에게 일을 맡기기 전에 알아야 할 것」부터 읽어 보세요.

연재 소개: 실전 Claude Code를 쓰며 다듬은 작업 체계(하네스)를 정리합니다. 처음이시라면 ⓪편부터 읽기를 권합니다.

어제 12편을 올릴 때 발행 버튼이 실제로는 눌리지 않았습니다. 화면에는 오류가 하나도 없었습니다. 그런데도 알아챌 수 있었던 이유는, 발행한 뒤에 공개 주소를 직접 열어 보는 단계가 있었기 때문입니다. 그 주소가 「없는 페이지」를 돌려줬습니다.

이번 글은 이런 단계들에 관한 이야기입니다. AI에게 「꼭 확인해 줘」라고 말하는 것과, 확인이 실제로 일어나게 만드는 것은 다릅니다.

말로 하는 확인은 지켜지지 않을 때가 있었습니다

처음에는 지시문에 이렇게 적었습니다. 「작업이 끝나면 결과를 확인하고 보고하라.」 대부분은 잘 지켜졌습니다. 그런데 바쁘게 돌아가는 날에는 확인을 건너뛰고 「완료했습니다」가 먼저 나왔습니다. 1편에서 다룬 「다 됐습니다」 문제입니다.

최근 본 한 해설 영상도 비슷한 이야기를 했습니다. 클로드 코드를 만든 사람이 여러 자리에서 「결과를 확인할 수단을 줘라」를 가장 중요하게 꼽았다는 내용입니다. 영상 화자를 거쳐 전해진 말이라 원문은 확인하지 못했습니다. 다만 제 경험과는 맞았습니다. 지시문은 실수할 확률을 낮출 뿐이고, 장치는 실수가 그대로 지나가지 못하게 막습니다.

사흘 동안 장치가 잡은 것 세 가지

지난 사흘 동안 장치가 문제를 세 번 잡았습니다. 셋 다 화면에는 아무 오류가 없던 경우입니다.

상황 겉으로 보인 것 잡은 장치
블로그 12편 발행 발행 명령이 끝났고 오류 없음 발행 뒤 공개 주소를 열어 보는 단계 → 404
아침 예약 작업 만들기 「생성됨」 응답 응답 내용을 다시 읽는 단계 → 지정하지 않은 커넥터 3개가 붙어 있었음
인터넷 읽기 도구 설치 점검 명령 「정상」 설치 뒤 스킬 폴더를 확인하는 단계 → 묻지 않고 만들어진 스킬(11편)

예약 작업은 도구 목록을 비워 보냈더니, 서버가 오히려 기본 도구 전체와 계정에 연결된 커넥터를 붙여 버린 경우였습니다. 응답에 「생성됨」만 보고 넘어갔다면 몰랐을 일입니다.

세 경우의 공통점은 하나입니다. 확인을 AI의 기억에 맡기지 않고, 작업 절차의 한 단계로 박아 두었다는 점입니다. 발행 절차에는 「공개 주소 열기」가, 설치 절차에는 「스킬 폴더 보기」가 들어 있습니다.

장치도 틀립니다

장치를 만들었다고 끝은 아니었습니다. 블로그 점검 스크립트에는 「다음 편: 준비 중」이 남아 있는지 보는 규칙이 있습니다. 새 편을 올리면 직전 편의 이 문구를 링크로 바꿔야 하기 때문입니다.

10월 10일에 이 규칙이 거꾸로 동작한 것을 발견했습니다. 규칙은 괄호가 붙은 「(준비 중)」을 찾고 있었습니다. 그런데 실제 글 끝에는 괄호가 없었습니다. 그래서 정작 고쳐야 할 꼬리말은 놓치고, 9편 본문에서 이 규칙을 설명하려고 인용한 문장만 잡고 있었습니다. 점검 결과는 늘 「통과」였습니다.

그 뒤로 점검 규칙을 바꿀 때는 걸려야 할 문장을 일부러 넣은 원고로 한 번 돌려 봅니다. 그 원고에서 실패가 나와야 규칙이 제대로 일하는 것입니다. 이번에 고친 규칙도 걸려야 할 경우와 걸리면 안 되는 경우를 섞은 네 가지 예로 시험한 뒤에 썼습니다.

빈 결과는 성공이 아닙니다

12편 발행 버튼이 안 눌린 원인도 비슷한 종류였습니다. 발행은 브라우저를 계속 띄워 두는 작은 프로그램에 명령 파일을 넘기는 방식입니다. 그런데 명령 파일을 다 쓰기 전에 프로그램이 그 파일을 먼저 집어 가면, 빈 명령을 실행하고 빈 결과를 돌려줬습니다.

빈 결과에는 오류 문구가 없습니다. 그래서 「잘 끝났다」로 읽기 쉽습니다. 고친 방법은 두 가지입니다.

  • 명령 파일을 임시 이름으로 다 쓴 뒤에 이름을 바꿔서 넘깁니다. 반쯤 쓴 파일을 집어 갈 틈이 없어집니다.
  • 빈 결과가 오면 실행되지 않은 것으로 본다는 규칙을 기록에 적었습니다. 그 뒤에는 상태부터 다시 확인합니다.

되돌릴 수 없는 일에는 사람이 있습니다

장치가 모든 것을 대신하지는 않습니다. 장치를 어디에 걸지 고르는 기준은 「되돌릴 수 있는 일인가」입니다.

  • 문서 수정, 원고 점검처럼 되돌릴 수 있는 일은 장치에 맡기고 결과만 봅니다.
  • 공개 발행, 예약 작업 만들기, 설정 바꾸기처럼 밖으로 나가거나 되돌리기 어려운 일은 매번 사람에게 확인을 받습니다. 이 연재의 모든 편도 「공개 발행할까요?」에 답을 받은 뒤에 올렸습니다.

맺으며

이번에 정리한 것은 이렇습니다.

  • 「확인해 줘」라는 지시보다, 확인이 절차의 한 단계로 박혀 있는 편이 확실합니다.
  • 오류가 없다는 것과 성공했다는 것은 다릅니다. 결과를 실제로 열어 봅니다.
  • 장치도 틀릴 수 있으니, 걸려야 할 문장을 일부러 넣어 장치를 시험합니다.
  • 빈 결과는 성공이 아니라 「실행 안 됨」으로 봅니다.
  • 되돌릴 수 없는 일은 장치와 함께 사람이 확인합니다.

확인하라는 말을 늘리는 대신, 확인이 저절로 일어나는 자리를 하나씩 늘려 가고 있습니다. 다음 편은 준비하는 대로 적겠습니다.


이전 편: ⑫ 설치하지 않은 도구도 목록으로 남깁니다
다음 편: ⑭ AI가 기억으로 쓴 API 이름, 118개 중 22개가 없었습니다
연재 전체: Claude Code 하네스