LLM 질문, 어떻게 해야 할까요? 프롬프트 엔지니어링으로 답을 찾으세요!

by DD
2개월 전
조회수 26

LLM(Large Language Model) 사용 시, 질문 방식이 결과에 큰 영향을 미치며, 이를 위한 전문 분야인 프롬프트 엔지니어링(Prompt Engineering)이 존재함

모호성(Ambiguidade) 회피, 범위(Escopo) 제한, 관련 컨텍스트(Contexto) 제공을 통해 LLM의 답변 품질을 향상시킬 수 있음

모호한 질문은 다양한 답변을 유도하지만, 구체적인 질문은 원하는 답변을 얻을 확률을 높여 생산성(Produtividade) 향상에 기여함

모호성을 피하는 방법: 명확한 질문의 중요성

본문에 따르면, 모호한 질문은 LLM이 다양한 답변 경로를 선택하게 하여 원하는 결과를 얻기 어렵게 만든다. 예를 들어, 'API 생성'과 같은 모호한 질문은 REST, GraphQL 등 다양한 API 유형과 언어, 데이터베이스 선택의 여지를 남긴다.

구체적인 요구사항 명시: Node.js, Express, TypeScript, Stripe 결제, 특정 엔드포인트, 데이터 유효성 검사, 데이터베이스, 로깅 등 구체적인 기술과 조건을 명시해야 한다.

제약 조건 추가: HTTP 상태 코드, 재시도 횟수 제한 등 명확한 제약 조건을 설정하여 LLM의 답변 범위를 좁힌다.

결과적으로, 명확한 질문은 LLM이 '가장 적합한' 답변을 선택하도록 유도하여, 개발자의 생산성(Produtividade) 향상에 기여한다.

범위 제한: LLM의 '주의 창' 활용

글에서는 LLM이 처리할 수 있는 토큰 수인 '컨텍스트 윈도우(Context Window)' 내에서, 관련 없는 토큰을 줄여 LLM이 핵심 정보에 집중하도록 해야 한다고 설명한다.

범위 설정: 'Docker'에 대한 질문 대신, 'Docker multi-stage build'와 같이 특정 주제에 집중하여 질문한다.

관련성 강조: JavaScript 애플리케이션의 Docker 이미지 최적화와 같이, 구체적인 기술과 목표를 명시한다.

집중도 향상: 질문의 범위를 좁힘으로써 LLM이 핵심 정보(Informações Chave)에 집중하도록 유도하고, 보다 정확하고 유용한 답변을 얻을 수 있다.

결론적으로, 질문의 범위를 좁히는 것은 LLM의 '주의 창'을 효과적으로 활용하여 원하는 결과를 얻는 핵심 전략이다.

관련 컨텍스트 제공: LLM의 '상태' 설정

본문에 따르면, LLM은 요청 간에 정보를 기억하지 못하므로, 질문에 필요한 모든 컨텍스트를 포함해야 한다.

상태 설정: 코드 검토 요청 시, 사용 언어, 프레임워크, 개발자 수준, 코드 스타일, 팀 표준 등을 명시한다.

세부 정보 포함: S3 파일 업로드, ESLint, Prettier, async/await, 사용자 정의 오류 처리, 프로덕션 환경, 업로드 빈도 등 구체적인 정보를 제공한다.

문제점 강조: 메모리 누수, 오류 처리, S3 SDK 사용과 같은 특정 문제에 집중하도록 지시한다.

결과적으로, 충분한 컨텍스트는 LLM이 정확한 답변(Respostas Precisas)을 생성하는 데 필수적이며, 개발자의 문제 해결 능력을 향상시킨다.

LLM의 한계 이해: '확률 계산'의 본질

글에서는 LLM이 '사고'하는 것이 아니라, 확률을 계산하여 답변을 생성한다는 점을 강조한다.

모델의 한계 인식: LLM의 답변은 학습 데이터에 의존하므로, 모델이 모르는 정보는 제공할 수 없다.

질문 전략: LLM의 한계를 이해하고, 모델이 잘 처리할 수 있는 방식으로 질문을 구성한다.

테스트 및 반복: 다양한 질문을 시도하고, 결과를 평가하여 LLM과의 상호 작용을 개선한다.

결론적으로, LLM의 작동 방식을 이해하고, 모델의 한계를 인지하는 것은 효과적인 프롬프트 엔지니어링(Engenharia de Prompt)의 핵심이다.

Engenharia de Prompt: Por Que a Forma Como Você Pergunta Muda Tudo(Um guia introdutório)