-
[AI] Hallucination을 줄이면서 AI를 효과적으로 사용하는 방법AI 2025. 5. 10. 18:29
- Created: 2025.05.10
- Update: 2025.05.10
본 글은 지속적으로 업데이트 됩니다.
할루시네이션을 줄이면서도 AI를 효과적으로 사용하기 위한 나의 생각을 정리해 본다. 단, 근거 있는 내용이 아니므로 이 글을 읽는 독자는 100% 신뢰해서는 안 된다.
우리 회사는 AI를 적극적으로 도입하여 개발을 하고 있다. 난 주로 코드 작업을 수행할 때는 Cursor와 ChatGPT를 사용하고, 해결되지 않는 내용은 Perplexity를 사용하여 보다 깊은 내용을 조사한다. AI를 사용하면서 느낀 점은 프롬프트를 어떻게 작성하냐에 따라 답변의 질이 달라진다는 것이었다. (1) 프롬프트를 작성하는 것이 귀찮아서 대충 적었을 때와 (2) 내가 처한 상황과 무엇을 모르는지 명확하게 제시하면 AI가 응답하는 응답의 질이 크게 달라진다.
나는 AI에게 항상 다이어그램을 만들 것을 요구한다. 특히나 Mermaid 다이어그램을 주로 사용하는데, Mermaid는 텍스트를 기반으로 다이어그램을 생성한다. AI에게 다이어그램을 제공하고 해석을 요청할 때, 더 정확하게 이해할 수 있는 방식은 텍스트 기반의 Mermaid 다이어그램이다.
그 이유는 다음과 같다:
- 구조적으로 명확하다.
- Mermaid 다이어그램은 구조화된 텍스트 형식으로 정보를 전달한다.
- 예를 들어, graph TD; A --> B; B --> C;와 같이 노드와 흐름이 명시적으로 표현되어 있어 AI가 이를 파싱하고 논리적 관계를 명확하게 이해할 수 있다.
- 자연어 처리에 친화적이다.
- AI(GPT)는 텍스트 데이터를 기반으로 훈련되었기 때문에 Mermaid 코드처럼 문법이 정해진 텍스트 해석을 잘한다.
- 반면, 이미지 다이어그램은 OCR 및 시각적 이해가 필요한데, 이는 여전히 제한적이고 오류(할루시네이션)가 발생할 가능성이 높다.
- 모호성이 제거된다.
- 이미지 다이어그램은 글자가 작거나 흐릿하여 의미가 불분명한 경우 해석 정확도가 낮아진다.
- 반면, Mermaid 다이어그램은 텍스트 기반으로 명확한 구조를 정의하기 때문에 오해의 여지를 줄일 수 있다.
아래는 Mermaid 다이어그램 예시이다. (모바일에서 볼 경우 텍스트로 보이므로, PC로 볼 것을 권장한다.)
sequenceDiagram participant Client participant ALB participant Listener participant Rule participant TargetGroup participant ECS_Task Client->>ALB: HTTP 요청 (port 80) ALB->>Listener: 요청 수신 Listener->>Rule: 요청 URL 또는 Host를 기준으로 Target Group 선택 Rule->>TargetGroup: 대상 그룹 결정 및 전달 TargetGroup->>ECS_Task: 요청 분산 (Load Balancing) ECS_Task-->>Client: 응답 반환
1. 텍스트 길이를 줄일 것
궁금한 것을 해결하기 위해 프롬프트에 질문할 때 텍스트 길이가 길 수록 답변의 질이 좋지 않다. 예를 들어, "1 + 1의 결과"에 대해서 질문한다고 가정할 때 아래 두 프롬프트 중에 뭐가 나을까?
- 나는 수학 문제를 풀고 있고 덧셈 결과를 질문할 거야. 1 + 1의 결과가 뭐야?
- 1 + 1의 결과가 뭐야?
당연히 1번보다 2번의 프롬프트가 AI가 이해하기 쉽지 않을까? 면접을 볼 때도 "두괄식"으로 답변하는 것이 핵심이라고 한다. 그 이유는 상대방이 빠르게 요점을 파악하고 불필요한 맥락에 주의를 빼앗기지 않도록 하기 위해서이다.
이는 AI에게도 동일하게 적용된다. 핵심 정보가 앞에 명확히 제시되면, 모델이 질문의 의도를 더 정확히 파악하고 불필요한 추론 없이 답변을 생성할 수 있기 때문이다.
2. GPT를 사용한다면 적절한 모델을 사용할 것
OpenAI의 Understand which models are best suited for your tasks 문서에 따르면, 각 모델은 특정 작업에 최적화되어 있으며 사용 한도와 기능이 다르다고 한다. 작업의 성격에 따라 적절한 모델을 선택하는 것이 중요하다고 하므로, 수행하고자 하는 작업에 적절한 모델을 선택하여 프롬프트를 작성하자.
- GPT-4o
- 특징: 실시간 멀티모달 처리 능력을 갖춘 전천후 모델로, 텍스트, 이미지, 오디오, 비디오 등 다양한 입력을 처리할 수 있습니다.
- 적합한 작업: 브레인스토밍, 요약, 이메일 작성, 창의적인 콘텐츠 생성 등 일상적인 업무에 탁월합니다.
- 사용 한도: 무제한
- GPT-4.5
- 특징: 감성 지능과 명확한 커뮤니케이션 능력을 갖춘 모델로, 창의적인 작업에 적합합니다.
- 적합한 작업: 감성적인 콘텐츠 작성, 명확한 커뮤니케이션이 필요한 작업 등
- 사용 한도: 주당 20회 요청
- o4-mini
- 특징: 빠르고 비용 효율적인 추론이 가능한 모델로, 수학, 코딩, 시각적 작업에 최적화되어 있습니다.
- 적합한 작업: STEM 관련 쿼리, 프로그래밍, 시각적 추론 등
- 사용 한도: 일일 300회 요청
- o4-mini-high
- 특징: o4-mini의 고급 버전으로, 더 깊이 있는 기술적 답변을 제공합니다.
- 적합한 작업: 복잡한 수학 문제 해결, 고급 코딩, 과학적 설명 등
- 사용 한도: 일일 100회 요청
- o3
- 특징: 복잡하고 다단계의 분석 작업에 강력한 성능을 발휘하는 모델입니다.
- 적합한 작업: 전략 기획, 상세한 분석, 고급 수학 및 과학 문제 해결 등
- 사용 한도: 주당 100회 요청
3. 텍스트 보단 문서화된 자료를 프롬프트에 추가할 것
4. 다이어그램을 적극적으로 사용할 것
- 구조적으로 명확하다.