AI

[AI] 프롬프트 엔지니어링

poiri3r 2026. 2. 9. 16:00

안녕하세요. . AI 주제로 돌아왔습니다.

최근들어 공부를 하려면 돌고돌아 AI인 경우가 많은 것 같네요.

얼마전 유튜브에서

https://youtu.be/M-S2ctyAeaY?si=fQ3YFtjCCa7QDMuZ

 

해당영상을 굉장히 인상깊게 봤었어서, AI 프롬프트 엔지니어링에 대해 공부를 하면서 OpenClaw를 설치해보고 사용해보겠습니다.

 

먼저 프롬프트 엔지니어링이란 AI, 특히 LLM으로부터 최상위 결과를 얻어내기 위해 질문을 최적화하는 기술을 말합니다.

이전 Fuzzing에 대한 논문을 읽어보면서 살펴본적이 있는데, 해당 내용을 좀 더 자세하게 기술적으로 알아보겠습니다./

 

더 좋은 결과를 얻기 위한 프롬프트 엔지니어링은 대표적으로 4가지의 요소를 따릅니다

  1. 페르소나를 부여한다.
  2. 정확한 맥락(context)정보를 제공한다.
  3. 구제적으로 무엇을 해야하는지 명시한다.
  4. 출력 형식을 지정한다 (Output format)

이런 내용들은 그렇게 어렵지 않고 실제로 써보면서 체감을 해야되는 부분이 있습니다.

 

먼저 간단하게 프롬프트 엔지니어링에 대해 알려줘 라고 보내보겠습니다

프롬프트 엔지니어링에 대해 알려줘

그 다음은 4가지 요소에 맞춰서 조금 더 구체적으로 작성하겠습니다.

1.너는 ai 전문가야. 
2.나는 지금 프롬프트 인젝션에 대해 공부를 하고 싶은데 , 그 이전에 프롬프트 엔지니어링에 대해 공부를 해보고 싶어
3.프롬프트 엔지니어링에 대해 설명해주고, 이게 어떻게 보안 위협(프롬프트 인젝션)에 대해 연결되는지 확인해줘
4. 출력할때 각 요소별로 대응하는 위협과 각 위협을 유도할 수 있는 프롬프트예시를 작성해줘

 

조금 더 구체적이고 학습할 때 도움이 됩니다.

프롬프트를 AI에게 작성해달라해도 굉장히 잘 작성을 해줍니다.

보통 claude에게 코드를 작성해달라 할 때 gemeni한테 질문을 영어로 작성해달라고 합니다.

 

이번에 claude에게 프롬프트를 작성해달라 하겠습니다.

프롬프트 인젝션을 공부하기 전에 프롬프트 엔지니어링을 공부해볼 건데, 
gemeni에게 해당 내용을 질문하고 답변 받기 위해 프롬프트를 작성해줘, 
프롬프트는 영어로 작성하고 답변은 한국어로 받을수 있게 해줘

claude의 답변입니다.

 

예전에는 확실히 LLM 모델들이 영어로 질문할 때 퀄리티가 많이 좋았어서 이런 프롬프트가 유의미했던것같은데 지금은 그렇게 크게 느껴지는 체감은 없는 것 같습니다.

claude 프롬프트를 기반으로 한 gemeni 답변

편하신거 쓰시면 될 것 같습니다.

개인적으로는 조금 단계가 필요한 복잡한 작업을 할때 gemeni에게 프롬프트 작성을 시키면 제가 생각 못했던 것들을 포함해서 세세하게 작성해줘서 편하더라고요.

프롬프트 엔지니어링의 4가지 요소 외에 추가로 프롬프트 엔지니어링의 정확도를 올리는 기술이 있습니다.

Chain of Thought (CoT) 라는 생각의 사슬이라는 기법과 Few-shot Leaning입니다.

 

Chain of Thought는 AI가 단계적으로 사고하는 과정을 명시적으로 보여주도록 유도하는 프롬프트 기법입니다. 복잡한 문제에 "단계별로 생각해줘"  혹은 "Let's think step by step."라는 문구를 추가하는 것만으로도 조금 더 좋은 퀄리티의 답변을 받을 수 있습니다. 포너블과 관련해서는 다음과 같은 프롬프트를 적용해볼 수 있습니다.

"이 버퍼 오버플로우를 익스플로잇하는 과정을 단계별로 설명해줘:
- 취약점 식별
- 메모리 레이아웃 분석
- 페이로드 구성
- ROP 체인 설계
- 최종 익스플로잇 코드"

 

이러한 질문 프롬프트는 정확도 향상 뿐 아니라, AI의 답변을 통해 잘못된 부분을 추적할 수 있으므로, 디버깅과 유사한 역할도 가능해집니다.

 

그 다음은 Few-shot learning입니다.

Few-shot Learning은 프롬프트에 적절한 예시를 포함시키므로써, AI의 추론 방법을 높입니다.

저번에 봤던 Chatafl논문을 확인해보면, 

https://www.ndss-symposium.org/wp-content/uploads/2024-556-paper.pdf

다음과 같이 2개정도의 프로토콜 예시를 통해 정확도를 높이는걸 확인할 수 있습니다.

이러한 방식은 llm과 프로그램을 직접 연결할 경우, Ai의 답변 포맷을 일관성있게 맞출 때 굉장히 큰 적중률을 보여주는 전략입니다.

다른 요소들은 크게 체감이 됐던 부분들이 없는데 fewshot같은 경우는 확실하게 체감이 되는 영역인 것 같습니다.

 

이렇게 간단하게 프롬프트 엔지니어링에 대해 알아봤습니다.

이러한 방법들은 그냥 일상생활에서 ai를 쓸때도 유용하고 프롬프트 인젝션 같은 공격 기법들을 공부할때도 도움이 되는 지식들인것 같습니다. 읽어주셔서 감사합니다.