LLM과 문장 부호 : 정말로 문장 부호 사용이 프롬프트 해석에 도움이 될까?
· 카테고리: llm-engineering
LLM과 문장 부호 : 정말로 문장 부호 사용이 프롬프트 해석에 도움이 될까?
프롬프트에 느낌표! 쓰면 진짜 더 잘 알아들을까?
저는 ChatGPT 쓸 때마다 문장 부호를 엄청 애용해왔어요.
“이거 중요해!!!” "’반드시’ 이렇게 해줘” “첫 번째로, 두 번째로…“
왜 그랬냐고요?
- 일단 내가 읽기 편해서
- 모델도 강조한 부분에 더 집중할 거라 믿어서
생각해보면 당연한 거 아니에요? 사람도 느낌표 보면 “아, 이거 중요하구나!” 하잖아요. 따옴표 쓰면 “이 단어 특별히 봐야 하는구나” 하고요.
근데 정말 그럴까요?
오늘은 이 궁금증을 직접 실험으로 풀어봤습니다. 결과는… 충격적이었어요.
잠깐, 어텐션(Attention)이 뭔데?
LLM이 문장을 이해하는 방식
2017년에 나온 논문 제목이 “Attention is All You Need”였어요. 말 그대로 “어텐션만 있으면 됨!” 이라는 거죠.
어텐션이 뭐냐면, LLM이 문장에서 어떤 단어에 얼마나 집중하는지 보여주는 메커니즘이에요.
예시로 설명할게요:
“고양이가 생선을 물고 있다”
이 문장에서 LLM은:
- ‘고양이’와 ‘생선’의 관계에 집중
- ‘물고 있다’가 누구의 행동인지 파악
- 각 단어의 중요도를 점수로 매김 (0~1점)
병렬 처리로 속도도 빨라요!
전기 회로 아시죠? 직렬로 연결하면 하나씩 처리하느라 느린데, 병렬로 연결하면 동시에 처리해서 빠른 것처럼, LLM도 문장을 병렬로 처리해서 엄청 빨라진 거예요.
문장 부호, 너 대체 뭐 하는 애니?
인간에게 문장 부호란
우리가 쓰는 문장 부호들: **! “ # $ % & ( ) * + , - . / : ; < = > ? @ [ ] ^ { } | ** |
이것들이 하는 일:
- 감정 표현: “정말 좋았어!” vs “정말 좋았어”
- 의미 전환: “그는 천재, 아니, 천재 그 이상이었다”
- 비꼼 표시: “네가 ‘대단하다’고?”
특히 재밌는 예시:
- “너 되게 옷 잘 차려입었다. 어디 여행 가니?” → 진짜 칭찬
- “너 되게 옷 잘 차려입었다. 어디 ‘여행’ 가니?” → 비꼼
문장 부호 하나로 의미가 180도 바뀌는 거예요!
실험: LLM도 문장 부호 알아듣나?
기존 연구는 뭐라고 하나
제가 찾아본 결과, 놀랍게도 관련 연구가 거의 없더라고요.
2020년 StackExchange 글:
“왜 언어 모델들은 문장 부호를 무시하는가?”
당시 답변: “연구자들이 문장 부호를 별로 중요하게 안 봤어요”
2020년 논문 “Let’s Eat Grandma”:
- 제목부터 강렬하죠? ㅋㅋㅋ
- “Let’s eat grandma” = 할머니를 먹자
- “Let’s eat, grandma” = 할머니, 같이 먹어요
이 논문에서는 당시 BERT 같은 모델들이 문장 부호를 제대로 처리 못한다고 지적했어요.
직접 실험해봤습니다
Falcon 7B 모델로 직접 테스트했어요. (더 좋은 모델 쓰고 싶었는데 GPU가… ㅠㅠ)
실험 방법: 문장 부호 있는 버전 vs 없는 버전으로 어텐션 점수가 어떻게 바뀌는지 측정
충격적인 실험 결과들
실험 1: “시간 여행자” vs “대부분의 시간에, 여행자”
- “Most of the time travellers worry…“
- “Most of the time, travellers worry…“
예상: 쉼표 넣으면 ‘time’과 ‘travellers’ 연결이 약해질 거야 결과: 0.2866 → 0.3306 (오히려 강해짐?!)
실험 2: “할머니를 먹자” vs “할머니, 같이 먹어요”
- “Let’s eat grandma”
- “Let’s eat, grandma”
예상: 쉼표 넣으면 ‘eat’과 ‘grandma’ 연결이 약해질 거야 결과: 0.3770 → 0.4822 (이것도 강해짐?!?!)
실험 3: 기부 문장
- “Your donation just helped someone get a job”
- “Your donation just helped someone. Get a job”
예상: 마침표로 끊으면 ‘someone’과 ‘get’ 연결이 약해질 거야 결과: 0.4080 → 0.2578 (드디어 예상대로!)
실험 4: 요리 문장
- “I like cooking my family and my dog” (가족이랑 개를 요리?)
- “I like cooking, my family, and my dog” (요리, 가족, 개를 좋아함)
결과: 수치는 바뀌는데… 일관된 패턴을 찾을 수 없음
결론: 문장 부호는 생각보다 복잡하다
핵심 발견
문장 부호가 어텐션에 영향은 주지만, 우리가 기대하는 방향으로 작동하지 않는다!
제가 “느낌표 쓰면 더 강조되겠지!”라고 생각한 게 완전히 틀렸어요. LLM은 문장 부호를 인식하지만, 인간의 직관과는 다른 방식으로 처리하는 것 같아요.
왜 이런 일이?
가설 1: 데이터가 너무 적었다
- 4개 문장으로는 통계적 의미 없음
- 최소 수천 개는 분석해야…
가설 2: 애초에 패턴이 없을지도
- 이렇게 쉬운 주제인데 논문이 거의 없다?
- 연구자들도 패턴 못 찾았을 가능성
그래서 문장 부호 쓰는 거 의미 없어요?
아니에요!
문장 부호를 써야 하는 이유:
- 사람이 읽기 편해요 (이게 제일 중요!)
- 프롬프트 수정할 때 구조 파악이 쉬워요
- 어느 정도 효과는 있을 거예요 (증명은 못했지만…)
프로그래밍할 때도 주석 달잖아요. 컴퓨터는 무시하지만 사람 보기 좋으라고요. 프롬프트도 마찬가지예요.
마무리: 계속 연구중입니다
이번 실험으로 확실해진 건:
- ✅ 문장 부호가 LLM에 영향을 줌
- ❌ 하지만 예상과는 다른 방식으로 작동
- ❓ 정확한 메커니즘은 아직 미스터리
여러분도 궁금한 거 있으면 직접 실험해보세요!
혹시 관련 연구 아시는 분 있으면 댓글로 알려주세요. 더 파고들어서 돌아올게요!

출처 표기: 이하나 · 수정 / 2차 저작물 작성 시 동일한 라이선스로 공유해야 합니다.
License / Attribution Info
- 라이선스 전문: 로컬 사본
- 원문: CreativeCommons.org
- SPDX ID:
CC-BY-SA-4.0