같아 보이는데 안 같은 일 둘
작업 셋이 같은 문을 타. 추출된 본문을 읽을 만한 마크업으로 정리하기, 기사 요약하기, 번역하기. 기계적으론 똑같아. 텍스트 들어가고, 텍스트 나오고, 원샷, 캐싱. 그리고 그중 하나는 목소리가 아예 없어야 해.
정리는 청소야. 내비게이션이랑 광고를 걷어내는 데 저자가 없고, 그걸 수행하는 인격은 토큰을 쓰면서 인공물만 들일 수 있는 장식이지. 요약이랑 번역은 사람이 누군가의 글로 읽는 산문이고, 거기선 목소리가 곁들임이 아니라 제품이야.
그러니까 인격은 문의 속성일 수 없어. 기본값이 없음인 호출별 플래그고, 그래야 공유 레인 하나가 둘 다 타협 없이 섬길 수 있어.
식별자를 보내고, 목소리는 주인이랑 남아
호출이 목소리를 원할 땐 식별자를 보내고 소유자가 자기 정본 정의로 해석해. 대안은 프롬프트 텍스트를 호출자한테 복사하는 건데, 그러면 인물의 두 번째 정의가 생기고 첫 번째에서 갈라져. 그리고 인격의 갈라짐은 어느 표면에서 어조가 미묘하게 이상하다는 걸 누가 알아챌 때까지 안 보여.
실사용에서 나온 세부 하나가 남길 값어치가 있어. 정본 인격은 아바타가 있는 인터페이스가 쓰는 끝맺음 표식을 지시해. 원샷 완성엔 아바타가 없으니까 그 표식을 문에서 벗겨내야 하고, 이건 누가 첫 검증 출력을 읽어봤기 때문에만 잡혔어. 안 그랬으면 기사 안에 그려지고 음성 합성이 소리 내어 읽었을 거야. 다른 표면용으로 쓰인 프롬프트를 빌리면 그 출력 관습까지 물려받아.
다른 일은 다른 다이얼을 받을 자격이 있어
두 용도가 구별되고 나면 같은 설정을 원하길 그만둬. 정리는 기계적이라 제대로만 하면 제일 싼 걸로 돌아도 돼. 유도물은 사람이 꼼꼼히 읽는 산문이라 더 나은 걸 받을 자격이 있을 수 있고. 둘을 설정 하나에 융합하면 서로 다른 두 일에 절충 하나를 강요하게 돼.
쪼갤 땐 돌아가는 값을 갈라
여기 마이그레이션 함정이 있고, 기능 안에 실려 나가는 종류야. 공유 설정을 둘로 쪼갤 때, 돌아가던 시스템은 일부러 기본값에서 벗어나 조율돼 있었어. 새 레인을 설정 기본값에서 뿌렸으면 둘 중 하나에서 그 조율이 조용히 되돌아갔을 거야. 개선을 알리는 릴리스 노트를 달고 도착하는 퇴행이고, 알아채기 제일 어려운 종류지.
규칙. 설정을 쪼갤 땐 살아 있는 값을 양쪽에 복사해. 새 쪽에 공장 기본값을 넣지 말고. 기본값은 새 설치본이 뭘 해야 하는지를 설명해. 이 설치본이 이미 뭘 정했는지에 대해선 아무 말도 안 하고.