로컬 AI 모델에서 일정한 결과를 얻는 법

같은 프롬프트가 매번 다른 모양을 내면 로컬 모델은 예측 불가능하게 느껴져요. 어떨 때는 글머리, 어떨 때는 에세이, 어떨 때는 사과에 에세이까지. 대부분은 설정과 빠진 제약이지, 설치가 고장난 것이 아니에요. 요약, 추출, 작은 코드 작업을 매일의 흐름에서 쓸 만큼 반복 가능하게 만들 수 있어요.

이 페이지는 이미 분명한 프롬프트를 쓴다고 가정해요. 문장이 아직 느슨하면 먼저 로컬 AI 모델을 위한 더 나은 프롬프트 쓰는 법을 읽으세요. 시험을 견디는 방법은 실제로 통하는 것에 요약되어 있어요.

답이 바뀌는 이유

샘플링은 다음 토큰을 어느 정도 무작위로 골라요. 온도(temperature)가 높을수록 무작위가 커져요. 긴 채팅은 앞의 규칙이 최신 질문에서 멀어져요. 열린 프롬프트(“도움이 되는 뭔가를 쓰세요”)는 타당한 완성이 많아서, 샘플러가 헤맬 방이 있어요. 그 방을 줄이면 변동이 줄어요. 더 낮은 온도, 진짜 재실행이 필요할 때의 시드(seed), 여지가 적은 형식, 짧은 컨텍스트, 그리고 일 다섯 개를 요구받지 않는 모델.

1. 프롬프트를 다시 쓰기 전에 온도를 낮추세요

반복하고 싶은 작업은 온도를 0.1에서 0.3 사이로 두세요. 왜 바꾸는지 알지 못하면 top-p는 앱 기본값으로 두세요. 그다음 똑같은 프롬프트를 세 번 실행하세요.

같은 프롬프트, 세 가지 의도:

공유 폴더의 파일 이름 규칙을 정확히 4개 나열하세요. 각각 한 문장. 서두는 넣지 마세요.
목록이 무작위로 보여서, 프롬프트 전체를 다시 쓰고, 긴 페르소나를 더하고, 온도는 1.0으로 뒀어요.

너무 많이 바꿨고, 섞임을 일으키는 설정은 그대로 뒀어요. 프롬프트를 고정하고, 온도를 낮춘 다음, 형식이 여전히 틀릴 때만 한 줄을 고치세요.

2. 프롬프트를 비교할 때 시드를 쓰세요

Ollama, LM Studio, 그리고 일부 다른 실행기는 시드를 정할 수 있게 해 줘요. 같은 모델, 같은 프롬프트, 같은 시드, 같은 샘플링 설정이면 거의 동일하게 돌아와야 해요. 문장 변경이 도움이 됐는지 그렇게 알아요.

실용적인 비교:

  1. 온도를 0.2로, 시드를 42로 두세요.
  2. 프롬프트 A의 출력을 저장하세요.
  3. 한 줄을 바꿔 프롬프트 B를 만드세요. 시드는 유지하세요.
  4. A와 B를 비교하세요. B가 더 나으면 그것을 유지하고, 시드 43으로 한 번 더 해서 형식이 유지되는지 보세요.

앱에 시드 조절이 없으면 비트 단위의 반복은 얻을 수 없어요. 그래도 형식과 낮은 온도를 요구할 수 있고, 매일 쓰는 데는 그것이 필요해요. 시드는 시험용이지, 요약을 읽는 사용자를 위한 것이 아니에요.

3. 헤매기 어려운 형식을 만드세요

모양이 더 조일수록 샘플러가 할 수 있는 일이 줄어요. 라벨은 “이것을 정리해 주세요”보다 나아요.

이 고객 이메일을 우리 팀이 쓸 수 있는 것으로 정리해 줄 수 있어요?
이메일을 이 라벨만으로 다시 쓰세요. 요청: 제품: 마감: 빠진 것: 규칙: - 라벨당 한 줄 - 모르면 “적혀 있지 않음”이라고 쓰세요 - 추천 답장은 더하지 마세요 이메일: [붙여넣기]

모델이 여전히 추천 답장을 더하면, 금지를 마지막 줄에 따로 두세요. “답장을 쓰지 마세요.” 마지막 줄 규칙은 가운데 묻힌 규칙보다 더 자주 지켜져요.

4. 잘 깨지는 형식에는 한 줄 점검을 더하세요

JSON, 표, 정확한 개수에 쓰세요. 평범한 산문에는 쓰지 마세요.

키가 sku와 qty인 JSON을 반환하세요. qty는 정수예요. 없는 값은 null이에요. 키가 빠졌으면 답하기 전에 JSON을 고치세요. 수정을 설명하지 마세요. 본문: [붙여넣기]

출력을 읽으세요. “JSON을 확인했어요”로 시작하는 문단이 보이면, 모델이 점검을 보여 주는 거예요. “JSON만 출력하세요”를 더하거나, 점검을 빼고 키 목록에 의지하세요. 일부 작은 모델은 조용한 점검을 하지 못해요. 그럴 때는 키 목록만 있는 프롬프트가 더 나아요.

작업을 꼼꼼히 다시 확인하고, 경계 경우를 고려하고, 사려 깊은 사람이 이 생일 메시지를 자랑스러워할 수 있게 해 주세요.

확인할 것이 없어요. 딱딱한 메시지와, 때로는 품질에 대한 문단이 나와요. 대신 단어 수를 제한하세요.

5. 컨텍스트를 짧게 유지하세요

열 개 메시지 전의 규칙은 작은 모델이 놓치기 쉬워요. 반복할 작업이라면 채팅을 이어 가지 마세요. 새 세션을 시작하거나, 최신 메시지 맨 위에 규칙을 다시 붙여 넣으세요.

안정적으로 남는 패턴:

[뒤섞인 질문을 15차례 한 뒤] 전하고 같은 형식이에요. 제 말 뜻을 아시죠.

종종 몰라요. 형식을 다시 붙여 넣으세요. “전과 같게”는 형식이 아니에요.

6. 모델 크기를 작업에 맞추세요

좁은 프롬프트의 작은 모델이, 느슨한 프롬프트의 더 큰 일반 모델보다 더 일정한 경우가 많아요. 하지만 마법은 아니에요. 다시 쓰기, 추출, 당신이 제공한 텍스트의 짧은 요약에는 작은 모델을 쓰세요. 더 긴 코드나 여러 단계 추론이 필요하면 더 큰 로컬 모델을 쓰세요. 3B 모델에게 400줄 파일을 검토하라고 하고 안정적인 검토를 기대하지는 마세요.

형식이 7B 모델에서는 유지되고 3B 모델에서 무너지면, 프롬프트는 유지하고 모델을 바꾸세요. 작은 모델이 묻힐 때까지 규칙을 계속 더하지 마세요.

반복 가능한 점검 목록

  1. 형식을 라벨, 개수, 또는 JSON 키로 쓰세요.
  2. 원문은 규칙 뒤, 분명한 라벨 뒤에 두세요.
  3. 믿고 싶은 것에는 온도를 0.2로 두세요.
  4. 요청한 답보다 조금 위에 최대 토큰 제한을 두세요.
  5. 두 번 실행하세요. 모양이 다르면, 새 규칙을 더하기 전에 마지막 줄을 더 조이세요.
  6. 두 문장을 비교하고 있다면 시드를 두세요.
  7. 채팅이 길면 처음부터 다시 하고 규칙을 다시 붙여 넣으세요.

일관성이 아닌 것

프롬프트가 안정되면 저장하세요. 프롬프트 모음은 당신 것 옆에 둘 수 있는 출발점이에요. 저장한 프롬프트가 컨텍스트 창에 너무 긴지 모르겠으면, 큰 파일을 붙이기 전에 토큰 계산기로 추정하세요.

관련 가이드와 도구