weave.publish로 프롬프트를 게시하면 W&B Weave가 변경할 수 없는 버전을 생성합니다. 각 버전은 이름과 버전으로 참조할 수 있으며, 코드에서는 weave.ref(...).get()으로 조회하고 Weights & Biases UI에서는 직접 확인할 수 있습니다.
프롬프트 버전
Weave는 프롬프트를 버전 관리되는 객체로 저장합니다. 덕분에 평가, 실험, 프로덕션 시스템에서 실행 당시 사용한 프롬프트 버전을 정확히 레퍼런스할 수 있으므로, 프롬프트를 안심하고 반복적으로 개선할 수 있습니다. 프롬프트 버전에는 Weave 객체 레퍼런스로 액세스합니다. 이 페이지에서는 Weave가 프롬프트 버전을 생성하는 방식, 코드에서 특정 버전을 가져오는 방법, Weights & Biases UI에서 버전을 살펴보고 비교하는 방법을 설명합니다.프롬프트 버전이 생성되는 방식
Weave는 프롬프트의 모든 버전을 자동으로 추적하여 프롬프트가 어떻게 발전해 왔는지 전체 이력을 남깁니다. 이러한 버전 관리 시스템은 프롬프트 엔지니어링 워크플로에서 중요한 역할을 합니다. 버전 관리를 활용하면 안전하게 실험하고, 어떤 변경이 성능을 개선하거나 떨어뜨렸는지 추적하며, 필요한 경우 이전 버전으로 롤백할 수 있습니다. 이름은 같지만 내용이 다른 프롬프트를 게시할 때마다 Weave는 이전 버전을 모두 보존한 채 새 버전을 생성합니다. 각 버전은 변경할 수 없으며, 한 번 생성된 버전의 내용은 수정할 수 없습니다. 프롬프트를 업데이트하여 다시 게시하면 Weave는 이전 버전을 보존한 채 새 버전을 생성합니다. 버전 관리를 통해 다음을 수행할 수 있습니다.- 과거 실험 재현
- 프롬프트 변경 사항의 안전한 반복 개선
- 프롬프트 업데이트의 통제된 단계적 배포
완전 수식된 ref URI 구성하기
코드에서 프롬프트 버전을 가져오기 전에 Weave가 저장된 객체를 식별하는 방식을 알아 두면 좋습니다. 완전 수식된 ref URI는 Weave 객체를 고유하게 식별합니다. 완전 수식된 Weave 객체 ref URI의 형식은 다음과 같습니다.your-team-name: Weights & Biases entity(사용자 이름 또는 팀 이름)your-project-name: Weights & Biases 프로젝트object_name: 객체 이름object_version: 버전 해시,v0이나v1같은 버전 인덱스,:latest나:production같은 별칭 중 하나입니다. 모든 객체에는:latest별칭이 있습니다.
코드에서 프롬프트 버전 조회하기
프롬프트를 조회하려면 프롬프트의 이름과 버전을 가리키는 레퍼런스를 만든 다음.get()을 호출하여 로드하세요. ref는 저장된 객체를 가리키며, .get()은 해당 객체를 가져와 애플리케이션에서 사용할 수 있게 해 줍니다.
ref는 다음과 같이 여러 방식으로 구성할 수 있습니다.
weave.ref(<name>): 프롬프트의:latest버전을 조회합니다.weave.init(...)을 호출해야 합니다.weave.ref(<name>:<alias_or_version>): 별칭, 버전 해시 또는 버전 인덱스로 프롬프트를 조회합니다.weave.init(...)을 호출해야 합니다.weave.ref(<fully_qualified_ref_uri>): 지정한 완전 수식된 ref URI에 있는 프롬프트를 조회합니다.weave.init(...)을 호출하지 않아도 됩니다.
support_prompt:v3 버전을 로드합니다.
프로덕션에서 프롬프트 사용하기
프로덕션 시스템에 프롬프트를 배포할 때는 버전 인덱스나 최신 버전 대신production과 같은 별칭을 사용하세요. 프로덕션 애플리케이션에서는 weave.ref(<name>:<alias>).get()으로 프롬프트를 로드하세요.
별칭을 사용하면 프로덕션 동작을 안정적이고 예측 가능하게 유지할 수 있습니다. 새 버전을 승격할 준비가 되면 별칭을 해당 버전으로 옮기기만 하면 됩니다. 그러면 해당 프롬프트를 사용하는 모든 곳에 변경 사항이 자동으로 반영됩니다.
일반적인 워크플로는 다음과 같습니다.
- 새 프롬프트 버전을 개발하고 테스트합니다.
- 데이터셋 또는 평가 스위트로 새 프롬프트를 평가합니다.
client.set_aliases(new_ref, "production")으로production별칭을 새 버전으로 옮깁니다.
프롬프트 버전 보기 및 비교
Weights & Biases UI에서는 프롬프트의 모든 버전을 둘러보고 버전 간 차이(diff)를 나란히 비교할 수 있습니다. 프롬프트가 어떻게 발전해 왔는지 검토할 때 유용합니다. UI에서 프롬프트 버전을 보려면 다음 단계를 따르세요.- Forge로 이동하여 프로젝트를 선택하세요.
- Weave 프로젝트 사이드바에서 Assets를 클릭하세요. Assets 페이지가 열립니다.
- Assets 페이지에서 Prompts를 클릭하세요. 프로젝트의 프롬프트 목록이 표시된 Prompts 페이지가 열립니다.
- Versions 열에서 보려는 프롬프트의 (x) Versions를 클릭하세요. 프롬프트 버전 목록이 열립니다.

- (선택) 프롬프트 버전을 비교하려면 목록에서 비교할 프롬프트 옆의 체크박스를 선택한 다음 table 툴바에서 Compare 버튼을 클릭하세요. 프롬프트 간 차이(diff)를 확인할 수 있습니다.

프롬프트 태그 및 별칭 추가
별칭과 태그를 사용하여 프롬프트 버전을 정리할 수 있습니다. 이러한 레이블을 활용하면 개발, 평가, 프로덕션 워크플로 전반에서 특정 버전을 쉽게 파악하고 참조할 수 있습니다.- 별칭: 하나의 프롬프트 버전을 가리키는 고유한 이름입니다. 별칭은 언제든지 다른 버전을 가리키도록 변경할 수 있으므로
production이나staging처럼 고정된 이름으로 참조할 때 유용합니다. - 태그: 버전에 붙이는 설명용 레이블입니다. 하나의 버전에 여러 태그를 붙일 수 있습니다.
reviewed나passed-eval과 같은 태그를 사용하여 버전을 분류하고 필터링하세요.
- Weave 프로젝트 사이드바에서 Assets를 클릭합니다. Assets 페이지가 열립니다.
- Assets 페이지에서 Prompts를 클릭합니다. table에서 부여된 Aliases와 Tags를 확인할 수 있습니다.
- Prompts table에서 변경하려는 프롬프트의 링크를 클릭합니다.
- 선택한 프롬프트의 상세 패널 제목 표시줄에 프롬프트 이름과 특정 버전이 표시됩니다. 업데이트하려는 프롬프트 버전을 선택합니다.
- 패널 툴바의 컨트롤을 사용하여 해당 버전에 별칭과 태그를 추가하거나 제거합니다.

코드에서 태그와 별칭 수정하기
코드에서도 태그와 별칭을 관리할 수 있습니다. 예를 들어 다음과 같은 작업을 할 수 있습니다.- 태그와 별칭을 인라인으로 지정하여 프롬프트 게시하기
- 별칭이 특정 버전을 가리키도록 지정하고, 별칭을 확인하여 프롬프트 로드하기
- 버전에 태그와 별칭을 추가, 제거하거나 목록 조회하기
my-prompt 프롬프트를 세 개의 버전으로 프로젝트에 추가하며, 각 버전에는 다양한 태그와 별칭이 지정됩니다. 프로젝트에 맞게 'your-team-name/your-project-name'을 수정하세요.