한 번 잘된 작업을 저장해도 다음 요청에서 잘못 고르면 소용없다. 실행 순서가 정확하다는 사실과 이번에 그 순서를 써도 된다는 판단은 다르기 때문이다. 북극성에서는 등록 플러그인과 스킬을 나누어 이 두 질문을 다루었다. 프로그램 파일 묶음 자체보다 그 옆에 어떤 설명을 남길지에 관한 이야기다.
버튼은 대상을 가리키고 지침은 선택 이유를 설명한다
TaskPluginService의 등록은 programId를 받아 현재 사용 설정에 연결한다. 이름과 설명, 사용 방법을 붙일 수 있지만 반환값은 executed=False다. 반면 TaskSkillService의 지침은 언제 그 절차를 고르고 어떤 입력을 확인하며 실패했을 때 무엇을 먼저 읽어야 하는지 설명한다. 지침을 읽는 함수에는 프로그램 시작 호출이 없다.
둘을 하나로 합치면 설명을 보려던 행위가 실행으로 이어지거나, 실행 코드를 고칠 때 업무 판단 문구까지 뒤섞이기 쉽다. 나는 같은 프로그램을 향해도 실행 진입점과 판단 자료를 별도로 보관했다. 안내 문구가 좋아졌다는 사실만으로 프로그램의 검증 상태도 좋아졌다고 표시하지 않는 구분이다.
자동으로 남기는 것은 이번 원문이 아닌 재사용 방법이다
rememberProgram은 basedOnProgram으로 기존 동반 지침을 찾는다. 이미 있으면 같은 정의를 재사용한다. 새로 만들 때는 단계 설명과 매개변수 확인 방법을 남기고 저장된 기본 입력이나 이전 대화의 값을 새 요청으로 대신하지 말라고 쓴다. 완료한 행동을 다시 보내지 말고 원래 결과를 검증하라는 경계도 지침에 들어간다.
기존 시험은 매개변수에 합성 비공개 표식을 넣은 뒤 생성된 instructions에 그 값이 들어가지 않는지 확인한다. 이것이 설명과 모든 메타데이터를 완전히 익명화한다는 증명은 아니다. 이름·사이트·단계 설명도 검토 대상이다. 공개 글과 공유 예제에는 실제 업무 원문을 가져오지 않고 이 구조의 판단만 남겼다.
한 번 꺼 둔 지침을 재발견이 다시 켜지 않는다
같은 프로그램이 다시 발견되면 동반 지침을 매번 새로 만들지 않는다. 기존 시험에서는 지침을 끈 다음 rememberProgram을 다시 부른다. 같은 ID와 버전을 돌려주고 enabled=False를 유지해야 한다. 반복 사용을 쉽게 만드는 기능이 사용자의 중지 선택을 매번 되돌려서는 안 됐다.
플러그인의 enabled와 스킬의 사용 스위치는 서로 다른 자료다. 실행 기능을 쓸 수 있는 것과 해당 설명을 현재 문맥에 읽을지는 같은 선택이 아니다. 한쪽이 꺼졌다는 사실을 다른 쪽의 파일 삭제나 코드 손상으로 해석하지 않는다. 관리 화면에서도 무엇의 스위치인지 문구로 구분할 필요가 생겼다.
사용 방법은 실행 권한을 늘리지 않는다
지침에는 현재 요청과 대상이 우선이라는 조건이 있다. 글쓰기 지침이 켜져 있어도 사용자가 다른 서비스를 요청했다면 익숙한 블로그로 돌리면 안 된다. 파일을 만들라는 요청을 실제 공개 게시로 바꾸는 것도 지침의 역할이 아니다. 사용할 도구와 확인 순서를 설명할 수 있지만 새 권한을 만들지는 않는다.
이 원칙은 프로그램을 많이 저장할수록 중요해진다. 과거에 허용된 절차에는 업로드와 공개 같은 행동이 포함될 수 있다. 이름이 비슷하다고 전부 다시 실행하면 이번 요청의 범위를 넘는다. 그래서 현재 절차를 inspect하고 모든 현재 입력을 확인한 다음에만 실행 대상으로 선택하도록 설명을 남겼다.
옛 자동 판단 설명과 현재 연결을 나누어 읽었다
개발 초기 문서에는 내장 CLI와 모델이 스킬을 읽고 작업을 선택하던 설명이 남아 있다. 그 경로는 이후 제거됐으므로 현재 북극성 안에서 같은 모델이 계속 판단한다고 쓰지 않는다. 지금 이 글에서 확인하는 것은 남아 있는 지침 저장·프로젝트 선택·읽기 함수와 실행 등록의 차이다.
기존 시험은 선택된 본문만 읽는지, 다른 프로필의 사용자 정의를 읽지 못하는지, 잘못된 정의를 무시하는지도 다룬다. 이번 콘텐츠 작업에서는 원래 앱과 모델을 실행하지 않았다. 소스와 당시 시험을 대조한 근거, 새 합성 모듈을 실제로 시험한 근거를 서로 다른 수준으로 설명한다.
맞춤 프로그램에는 사용 판단도 인수인계해야 한다
회사에 맞춘 기능은 버튼만 남겨서는 오래 쓰기 어렵다. 어떤 자료에서 시작하고 어떤 상황에서는 멈추며 결과를 무엇으로 확인하는지가 함께 있어야 한다. 그렇다고 매번 긴 설명을 실행 코드 안에 섞을 필요는 없다. 대상 프로그램과 선택 지침의 연결을 보존하고 각각의 변경 이유를 남기면 된다.
아래 모듈은 이 구분 중 등록·사용 설정만 독립적으로 보여 준다. 스킬 작성기나 실제 실행기는 아니다. 나는 다음 사람이 기능을 발견하고도 무턱대고 누르지 않을 만큼의 안내를 남기고 싶었다. 재사용할 수 있다는 말에 현재 요청을 다시 읽는 책임까지 포함시키는 방식이다.