한 번 잘 된 일을 다음 요청에서도 다시 찾고 누르면 경험은 남아도 실행 자산은 남지 않는다. 나는 북극성에서 성공한 작업의 절차를 Python·주피터와 플러그인으로 이어 쓰는 구조를 만들었다. 핵심은 대화를 저장하는 것보다 어떤 성공을 어떤 조건으로 재사용할지 정하는 일이었다.

이름이 같은 업무가 같은 절차는 아니었다

비슷한 제목의 프로그램이 있어도 현재 요청과 맞는지 읽어야 한다. 사이트와 단계, 입력 키와 결과 조건이 다르면 같은 업무라고 볼 수 없다. 이름은 검색의 단서이고 실행 정의가 실제 계약이다. 이전 사용자의 요청을 이번 작업의 지시로 다시 쓰지 않기 위한 구분이었다.

반대로 제목이나 본문의 기본값만 달라졌는데 매번 새로운 프로그램으로 저장하면 목록이 금방 늘어난다. procedure의 동일성과 이번 콘텐츠의 동일성도 나눌 필요가 있었다. 나는 재사용할 정의의 의미를 정하는 일부터 시작했다. 같은 이름이라서 합치거나 다른 이름이라서 나누는 방식은 피했다.

동일성을 계산할 때 뺀 값과 남긴 값

recipeIdentity는 객체 키 순서를 정리한 뒤 정의의 해시를 만든다. 표시 이름과 매개변수의 일반 기본값은 절차의 동일성을 새로 만들지 않도록 다룬다. 하지만 텍스트 초안 진입점처럼 실행 의미가 달라지는 특수 조건은 보존한다. 정규화가 모든 차이를 지워도 되는 과정은 아니었다.

단계 순서는 배열로 유지되므로 문단 입력 뒤 확인하는 절차와 먼저 확인한 뒤 입력하는 절차를 같다고 만들지 않는다. 입력 키가 무엇인지도 남는다. 무엇을 바꿔도 같은 프로그램으로 볼지 규칙을 코드로 적어 두면 다음 수정자가 단순한 해시 비교 뒤의 판단을 읽을 수 있다.

이미 등록한 프로그램을 우선 이어 쓴다

ProgramLibrary.remember는 기존 정의를 읽고 같은 identity인지 대조한다. 우선할 등록 ID가 있으면 그것을 먼저 보며, 같은 절차를 찾으면 새 ID를 만드는 대신 사용 시각과 최근 의도를 갱신한다. 등록된 플러그인과 고정 선택이 불필요하게 새 사본으로 갈라지지 않게 하려는 연결이다.

파일이 바뀌어 코드 해시 검증을 통과하지 못하는 정의는 조용히 재사용하지 않는다. 같아 보이는 절차라도 검증되지 않은 수정본을 믿으면 이전 시험이 현재 실행의 근거가 될 수 없다. 절차 중복을 줄이는 규칙과 변경 감지를 함께 둬야 했다.

모든 대화를 자동 프로그램으로 저장하지 않는다

reusableRecipe에는 단계 수와 동작 종류를 보는 기준이 있다. 실제 반복할 만한 조작이나 파일 결과가 있는지 살펴 저장 후보를 고른다. 짧은 관찰 한 번이나 확인되지 않은 대상까지 모두 실행 자산으로 등록하면 사용자는 목록의 존재를 성공으로 오해하기 쉽다.

자동 등록과 실제 실행 검증도 다른 상태다. Python·노트북 동반 파일이 생성됐다는 것만으로 그 파일을 다시 돌렸다고 말할 수 없다. 이번 글에서는 과거 자동 저장과 재사용 시험에서 이 차이를 기록한 부분을 함께 읽었다. 초안 정의와 검증한 절차의 이름을 섞지 않는 것이 자산 관리의 시작이었다.

재사용에서 실패한 기록도 자산에 남긴다

과거 비교에는 첫 성공 뒤 재사용이 중복 대상에서 실패한 사례가 있다. 수정한 대상 조건과 원래 기대 결과를 보존하고 같은 프로그램의 버전을 올린 뒤 다시 썼다. 이 과정을 처음 한 번 성공하자 영원히 자동화됐다는 이야기로 바꾸지 않는다. 실패가 생기면 어떤 차이가 새로운 버전을 필요로 했는지 남겨야 한다.

당시 내부 CLI가 수행한 부분과 감독자가 앱 소스를 고친 부분도 다르다. 현재는 내부 CLI가 제거돼 외부 Codex가 판단을 맡는다. 같은 프로그램을 이어 쓴 경험을 설명하면서 과거의 자동수리 범위를 현재 제품의 무인 소스수리 보장으로 넓히지 않는다.

회사에 남길 수 있는 실행 자산

회사의 업무를 자동화해 달라는 요청에는 다음 사람도 같은 일을 이어가게 해 달라는 기대가 포함될 수 있다. 그때 남길 것은 대화 전체보다 현재 입력 계약, 실행 정의와 버전, 실제 시험 결과와 멈출 조건이다. 대화 기록은 판단의 재료로 보존하되 매 실행의 지시로 통째로 전달하지 않는다.

이번 글은 현재 identity와 remember 코드, 과거 재사용 기록을 읽어 썼다. 새 고객 업무를 실행한 보고서는 아니다. 이미 있는 프로그램을 먼저 살피고 이번 요청과 맞는지 검사하는 습관까지 안내에 담고 싶었다. 다음 에이전트가 다시 만들기 전에 무엇을 믿고 무엇을 확인해야 하는지 찾을 수 있는 자산이 목표다.