프롬프트 관리하기
프롬프트 관리하기
LangSmith에서 프롬프트 버전, 환경, 접근 제어를 관리하는 방법을 알려드릴게요.
LangSmith는 프롬프트를 효과적으로 관리하는 여러 도구를 제공합니다. 이 페이지는 다음 기능을 설명합니다:
- Staging과 Production을 통해 커밋을 승격하는 환경.
- 버전 제어와 환경 관리를 위한 커밋 태그.
- 커밋 승격과 프롬프트 삭제를 제어하는 프롬프트 소유자.
- 프롬프트 업데이트 시 워크플로를 자동화하는 웹훅 트리거.
- 커뮤니티 생성 프롬프트를 발견·사용하기 위한 공개 프롬프트 허브.
출처: 문서
본문
프롬프트 상세 페이지
Prompts 테이블에서 프롬프트를 선택해 상세 페이지를 엽니다. 이 페이지는 두 개의 창 레이아웃을 사용합니다: 왼쪽에는 커밋 기록과 환경이, 오른쪽에는 커밋 세부정보가 나타납니다.
오른쪽 위에서 Diff를 토글하면 커밋을 이전 버전과 비교할 수 있습니다.
환경
환경은 Staging과 Production이라는 명명된 배포 대상을 나타내며, 특정 커밋에 배정할 수 있습니다. 각 환경에서 어떤 버전의 프롬프트가 활성인지 추적하고 커밋을 환경 간에 승격할 수 있게 합니다.
환경은 예약된 커밋 태그(staging과 production)로 정의되며, 자유 형식 태그 선택기가 아닌 승격 UI를 통해 관리됩니다.
커밋 승격
커밋을 승격하면 커밋을 환경에 배정합니다. 어떤 커밋이든 Staging 또는 Production으로 승격할 수 있습니다.
커밋을 승격하려면:
- 왼쪽 창에서 커밋 위에 마우스를 올려 Promote를 표시하거나, 페이지 오른쪽 위의 Promote를 클릭합니다. 드롭다운에서 Staging 또는 Production을 선택합니다.
- 배포 모달이 열리고, 현재 해당 환경에 배정되어 대체될 커밋을 보여줍니다.
- 승격을 확인합니다. 환경 포인터가 즉시 업데이트됩니다.
참고: 커밋을 Production으로 승격해도 Staging에서 제거되지 않습니다. Staging에 있는 커밋을 Production으로 승격하면 Staging에도 계속 남아 있습니다.
환경 롤백
각 환경은 어떤 커밋이 언제 배정되었는지 순서 있는 기록을 유지합니다. 이전 커밋으로 롤백하려면:
- 왼쪽 창에서 롤백하려는 환경을 찾습니다.
- 해당 환경의 롤백 아이콘을 클릭합니다.
- 표시되는 Rollback history에서 롤백할 커밋을 선택합니다. 환경 포인터가 해당 커밋으로 업데이트됩니다.
커밋 태그
커밋 태그는 프롬프트 버전 기록의 특정 커밋을 참조하는 레이블입니다. 중요한 버전을 표시하고 다양한 환경에서 어떤 버전이 실행되는지 제어하는 데 도움이 됩니다. 코드에서 커밋 ID 대신 태그를 참조하면 코드를 수정하지 않고 사용 중인 버전을 업데이트할 수 있습니다.
각 태그는 정확히 하나의 커밋을 참조하지만, 태그를 다시 배정해 다른 커밋을 가리킬 수 있습니다.
참고: 예약 태그:
staging과production태그는 환경 관리용으로 예약되어 자유 형식 태그 선택기에서 활성화되지 않습니다. 승격 흐름을 사용해 커밋을 이 환경에 배정하세요.
참고: 리소스 태그와 혼동하지 마세요: 커밋 태그는 프롬프트 버전 관리에 특화되어 있으며 프롬프트 기록의 개별 커밋을 참조합니다. 리소스 태그는 프로젝트, 데이터셋, 프롬프트 같은 워크스페이스 리소스를 조직화하는 키-값 쌍입니다. 둘 다 비슷한 명명 규칙(
prod나staging같은)을 사용할 수 있지만, 커밋 태그는 프롬프트의 어느 버전이 실행되는지 제어하고, 리소스 태그는 워크스페이스 전반의 리소스를 조직화·필터링하는 데 도움이 됩니다.
태그 생성
태그를 만들려면 프롬프트 상세 페이지의 왼쪽 창에서 태그할 커밋을 선택합니다. 오른쪽 창 오른쪽 위의 Tag를 클릭합니다. 드롭다운에서 Commit Tag를 클릭하고 이름을 입력합니다.
태그 이동
태그를 다른 커밋을 가리키게 하려면 프롬프트 상세 페이지의 왼쪽 창에서 대상 커밋을 선택합니다. 오른쪽 창 오른쪽 위의 Tag를 클릭합니다. 드롭다운에서 이동할 태그를 선택합니다. 태그가 새 커밋을 가리키도록 자동으로 업데이트됩니다.
태그 삭제
태그를 삭제하려면 (어떤 커밋이 선택되어 있어도 상관없이) 오른쪽 창 오른쪽 위의 Tag를 클릭합니다. 드롭다운에서 삭제할 태그 옆의 삭제 아이콘을 클릭합니다. 태그가 완전히 제거되고 더 이상 어떤 커밋과도 연결되지 않습니다.
코드에서 태그 사용
태그는 코드에서 프롬프트의 특정 버전을 안정적으로 참조하는 방법을 제공합니다. 커밋 해시를 직접 사용하는 대신 코드를 변경하지 않고 업데이트할 수 있는 태그를 참조할 수 있습니다.
Python에서 태그로 프롬프트를 풀하는 예:
prompt = client.pull_prompt("joke-generator:production")
# If production tag points to commit a1b2c3d4, this is equivalent to:
prompt = client.pull_prompt("joke-generator:a1b2c3d4")
코드에서 프롬프트를 사용하는 방법에 대한 자세한 내용은 프로그래매틱으로 프롬프트 관리를 참고하세요.
프롬프트 소유자
프롬프트 소유자 기능은 누가 커밋에 태그를 지정하고 특정 프롬프트를 삭제할 수 있는지 세밀하게 제어하게 합니다. 태그를 배정·이동해 팀 구성원만 커밋을 환경으로 승격할 수 있도록 제한하려는 프로덕션 승격 흐름에 유용합니다.
접근 모드
각 프롬프트는 UI의 Access and Permissions 아래에서 구성되는 두 가지 접근 모드가 있습니다:
- Workspace authorized users (기본):
prompts:tag권한이 있는 모든 워크스페이스 사용자가 태그를 생성·업데이트·삭제하고 프롬프트를 삭제할 수 있습니다. - Owners only: 프롬프트 소유자로 추가된 사용자만 커밋 태그를 생성·업데이트하고, 커밋을 환경으로 승격하며, 프롬프트를 삭제할 수 있습니다.
LangSmith는 프롬프트 생성자를 소유자로 자동 추가합니다.
접근과 권한 구성
- LangSmith UI에서 프롬프트를 엽니다.
- 오른쪽 위의
More 아이콘을 클릭하고 Access and Permissions을 선택합니다. - Owners only 모드를 선택합니다.
- 소유자 그룹에서 사용자를 추가·제거합니다.
경고: 자신을 소유자에서 제거하는 변경을 저장하면 소유자 관리나 프롬프트를 workspace authorized users 모드로 되돌리는 능력을 잃게 됩니다. 다른 소유자만 접근을 복원할 수 있습니다.
Owners only 모드가 활성 상태일 때는 소유자만 비활성화하거나 다른 소유자를 추가·제거할 수 있습니다.
프롬프트 커밋 시 웹훅 트리거
프롬프트에 커밋될 때마다 트리거되는 웹훅을 구성할 수 있습니다.
일반적인 사용 사례:
- 프롬프트가 업데이트될 때 CI/CD 파이프라인 트리거.
- 프롬프트를 GitHub 저장소와 동기화.
- 프롬프트 수정에 대해 팀 구성원에게 알림.
웹훅 구성
왼쪽 사이드바 또는 애플리케이션 홈페이지에서 Prompts 섹션으로 이동합니다. 오른쪽 위의 + Webhook 버튼을 클릭합니다.
웹훅 URL과 필요한 헤더를 추가합니다.
참고: 워크스페이스당 하나의 웹훅만 구성할 수 있습니다. 워크스페이스당 여러 개를 구성하거나 프롬프트마다 다른 웹훅을 설정하려면 LangChain 포럼에 알려주세요.
웹훅을 테스트하려면 Send test notification 버튼을 클릭합니다. 이는 제공한 웹훅 URL로 샘플 페이로드와 함께 테스트 알림을 보냅니다.
샘플 페이로드는 다음 필드를 가진 JSON 객체입니다:
prompt_id: 커밋된 프롬프트의 ID.prompt_name: 커밋된 프롬프트의 이름.commit_hash: 프롬프트의 커밋 해시.created_at: 커밋 날짜.created_by: 커밋 작성자.manifest: 프롬프트의 매니페스트.
웹훅 트리거
구성한 웹훅을 트리거하려면 프롬프트에 커밋합니다.
Playground 사용
Playground에서 이렇게 하면 트리거를 피하고 싶은 웹훅을 선택 해제하라는 프롬프트가 표시됩니다.
API 사용
API로 커밋하면 skip_webhooks 파라미터를 true로 설정하거나 무시할 웹훅 ID 배열로 설정해 웹훅 트리거를 건너뛸 수 있습니다. 자세한 내용은 API 문서를 참고하세요.
공개 프롬프트 허브
LangSmith의 공개 프롬프트 허브는 참고용으로 사용할 수 있는 LangChain 커뮤니티가 만든 프롬프트 모음입니다.
참고: 프롬프트는 사용자 생성이며 검증되지 않았습니다. LangChain은 공개 프롬프트를 검토하거나 보증하지 않습니다. 자신의 책임하에 사용하세요. Prompt Hub 사용은 서비스 약관에 따릅니다.
왼쪽 사이드바의 Prompts 섹션으로 이동해 Browse all Public Prompts in the LangChain Hub를 클릭합니다.
여기서 LangChain Hub에 공개적으로 등록된 모든 프롬프트를 찾을 수 있습니다. 이름, 핸들, 사용 사례, 설명, 모델로 프롬프트를 검색할 수 있습니다. 프롬프트를 개인 조직으로 포크하고, 상세정보를 보며, Playground에서 프롬프트를 실행할 수 있습니다. SDK를 사용해 공개 프롬프트를 코드로 풀 수 있습니다.
워크스페이스에 연결된 프롬프트를 보려면 사이드바에서 Prompts로 이동합니다.
더 알아보기
- 프로그래매틱으로 프롬프트 관리 — 코드에서 프롬프트 사용.
- 프롬프트 만들기 — 프롬프트 생성과 보기.