사용자 지정 프롬프트
Read Frog가 모델에 보내는 두 개의 텍스트, 그것을 편집하는 곳, 그리고 자리표시자를 지우면 무엇이 망가지는지 설명합니다.
페이지 번역이 LLM 제공업체에서 실행될 때, 모든 문단은 두 개의 텍스트로 묶여 전송됩니다. 하나는 모델이 어떤 번역가가 되어야 하는지 알려 주는 시스템 프롬프트, 다른 하나는 문단 자체를 실어 보내는 프롬프트입니다. 두 텍스트 모두 Read Frog가 기본으로 제공하며, 둘 다 교체할 수 있습니다.
이 내용은 LLM 제공업체에만 해당합니다. Google 번역, Microsoft 번역, DeepL은 프롬프트를 아예 받지 않으므로 이 페이지의 내용은 그들에게 전달되지 않습니다.
두 개의 필드
| 필드 | 용도 |
|---|---|
| 시스템 프롬프트 | 상시 적용되는 지시입니다. 역할, 출력 규칙, 그리고 컨텍스트로 제공되는 페이지 메타데이터. |
| 프롬프트 | 요청마다 보내는 메시지입니다. 내장 프롬프트에서는 모두 세 줄뿐이고, 하는 일은 텍스트를 실어 보내는 것입니다. |
기본 프롬프트 필드의 내용은 딱 이것뿐이고, 더는 없습니다.
Translate to {{targetLanguage}}:
{{input}}{{...}} 부분이 변수입니다. Read Frog는 전송 직전에 이들을 치환하므로 {{targetLanguage}}는 Simplified Mandarin Chinese가 되고 {{input}}은 해당 문단이 됩니다. 모든 변수와 각각의 실제 예시 값은 프롬프트 변수 페이지에 있습니다.
내장 프롬프트
페이지 번역에는 두 개, 동영상 자막에는 하나가 내장되어 있습니다.
| 프롬프트 | 적용 대상 | 하는 일 |
|---|---|---|
| 기본 | 페이지, 자막 | 균형 있고 예측 가능합니다. 짧은 규칙 네 개, 그리고 페이지 제목과 요약을 컨텍스트로 씁니다. |
| 번역 다듬기 | 페이지 전용 | 번역을 다시 쓰기로 봅니다. 문장을 대상 언어에 자연스러운 글로 재구성합니다. 길이가 길어서 문단당 token 비용이 더 듭니다. |
둘 다 읽기 전용입니다. 내장 프롬프트를 그 자리에서 수정할 수는 없습니다. 복사해야 하고, 그 사본이 내 것이 됩니다.
편집기가 있는 곳
페이지는 페이지 번역 → 사용자 정의 페이지 프롬프트 → 프롬프트 관리. 동영상은 비디오 자막 → 사용자 정의 자막 프롬프트 → 프롬프트 관리.
각 행이 프롬프트 하나입니다. 내장 행은 눈 아이콘으로 열고, 내가 만든 행은 연필 아이콘으로 엽니다.

하나를 열면 두 필드, 시스템 프롬프트 아래에 칩으로 표시된 사용 가능한 변수, 그리고 내장 프롬프트라면 저장 버튼 대신 복사하여 사용자 지정이 보입니다.

두 목록은 서로 독립적이고, 쓸 수 있는 변수도 다릅니다. 페이지 프롬프트에는 {{webContent}}와 {{webSummary}}가 있고, 자막 프롬프트에는 대신 {{videoSummary}}가 있습니다. 한쪽 목록의 텍스트를 다른 쪽으로 복사하면 영원히 값이 채워지지 않는 변수가 남습니다.
복사하여 사용자 지정
눈 아이콘으로 내장 프롬프트를 엽니다. 두 필드가 모두 보이지만 회색으로 비활성 상태입니다.
복사하여 사용자 지정을 누릅니다. 기본 사본이라는 이름의 편집 가능한 사본이 생기고, 그 즉시
페이지 번역이 사용하는 프롬프트가 됩니다.
두 필드 중 어느 쪽이든 편집합니다. 각 필드 아래에는 변수 버튼이 한 줄로 놓여 있고, 하나를 누르면 커서 위치에 그 변수가 삽입되므로 중괄호를 직접 입력할 필요가 없습니다.
되돌리려면 목록에서 내장 프롬프트를 다시 선택하세요. 다른 것으로 바꿔도 내 사본이 삭제되지는 않습니다.
자리표시자를 지우면
아무 경고도 없고, 저장이 거부되지도 않습니다. 두 필드는 적어 둔 그대로 전송되므로, 변수가 빠졌다는 것은 값이 빠졌다는 뜻입니다.
가장 중요한 것은 {{input}}입니다. 프롬프트 필드에서 이것을 지우면 모델은 번역할 텍스트가 없는 요청을 받습니다.
Translate to Simplified Mandarin Chinese:돌아오는 것은 LLM이 그 한 문장에 내놓는 아무 반응입니다. 사과, 되묻는 질문, 엉뚱한 문장 같은 것이고, Read Frog는 그것을 해당 문단의 번역으로 렌더링합니다. 모든 문단이 같은 프롬프트를 쓰기 때문에 페이지의 문단마다 그렇게 됩니다.
프롬프트 필드에는 input 변수를 남겨 두고, 두 필드 중 한 곳에는 targetLanguage를 남겨 두세요.
메타데이터 변수는 선택 사항이지만 이 둘은 그렇지 않습니다.
비슷한 실수가 두 가지 더 있고, 둘 다 아무 알림 없이 지나갑니다.
{{input}}을 프롬프트가 아니라 시스템 프롬프트 에 넣는 것. 치환은 됩니다. Read Frog는 두 필드 모두에서 변수를 채웁니다. 하지만 배치 모드에서는 시스템 프롬프트가 모든 요청에 동일하므로, 지시문이 상시 컨텍스트로 취급하는 자리에서 모델이 문단을 보게 됩니다.{{sourceLanguage}}나{{url}}처럼 존재하지 않는 변수를 쓰는 것. 알 수 없는 이름은 그대로 남으므로 모델은{{sourceLanguage}}라는 문자 그 자체를 받습니다.
프롬프트를 수정하면 캐시된 번역이 무효가 됩니다
최종적으로 완성된 프롬프트, 즉 변수를 치환하고 추가 규칙 블록을 붙이고 용어집 용어까지 붙인 결과는 Read Frog가 번역을 저장할 때 쓰는 키의 일부입니다. 두 필드 중 어디서든 한 글자만 바꾸면 예전 문구로 번역해 캐시해 둔 모든 문단에 더 이상 접근할 수 없고, 그 페이지를 다시 방문할 때 비용을 또 내게 됩니다.
보통은 그것이 원하는 결과입니다. 아무것도 다시 번역하지 않는 프롬프트 변경은 효과가 없는 것처럼 보일 테니까요. 수정한 뒤 첫 페이지가 느려진다는 점만 예상하고, 열 번에 걸쳐 조금씩 고치기보다 한 번에 대략 만족스러운 프롬프트를 만드는 편이 좋습니다. 요청이 조립되는 과정에서 그 키가 무엇으로 구성되는지 정확히 설명합니다.
페이지마다 프롬프트 고르기
확장 프로그램 팝업에는 제공업체 옆에 프롬프트 선택기가 있고, 내장 프롬프트와 내가 작성한 모든 프롬프트가 나열됩니다. 여기서 바꾸면 그 이후 페이지 번역이 사용하는 프롬프트가 바뀝니다. 설정에 있는 것과 같은 항목이며, 글을 읽는 중에 손이 닿는 곳에 놓여 있을 뿐입니다.
프롬프트 공유하기
내보내기는 체크한 프롬프트를 .json 파일로 씁니다. name, systemPrompt, prompt만 담긴 단순한 목록이고, 내부 id는 제거되므로 가져온 프롬프트가 이미 가지고 있는 프롬프트와 충돌하는 일은 없습니다. 가져오기는 그런 파일을 다시 읽어 들입니다. 내장 프롬프트는 내보낼 수 없으니 먼저 하나를 복사하세요.
목록 위의 커뮤니티에서 프롬프트 가져오기 또는 공유 링크는 사람들이 자기 프롬프트를 올리는 GitHub 토론 페이지로 연결됩니다.
