23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
AI 모델은 문맥, 단어, 단어 사이의 관계 등의 언어 패턴을 인식해서 학습합니다.
예를 들면 비와 우산을 하나의 패턴으로 기억하여 비가 온다고 하면 우산을 쓴다라는 답변이 나옵니다.
그러나 chatgpt를 사용하면서 프롬프트의 내용에 따라 답변이 달라지는 것을 종종 경험합니다.
환각문제로 인해 잘못된 답변을 받을 때도 있습니다.
“기후변화에 대한 주요국가들의 대응책을 알려줘”
“최근 기후변화보고서에 따르면 지구 온도 상승이 예상보다 빠르게 진행되고 있습니다.
이 보고서의 주요내용과 그에 대한 주요 국가들의 대응 계획을 요약하여 설명해주세요.
또한, 이러한 변화가 장기적으로 인류에게 미칠 영향에 대해서도 분석해주시기 바랍니다.
원하는 답변 형식은 간결하면서도 상세한 요약과 함께 주요 포인트를 목록 형식으로 정리하는 것입니다”
LLM 에코 시스템은 여러 가지 툴링 에코시스템을 의지하고 있습니다.
LLM 기반 솔루션의 첫 번째 단계는 프롬프트 엔지니어링, 즉 LLM에 제공되는 프롬프트를 조정하는 데 시간을 할애하는 것입니다.
프롬프팅할 때 사용하면 도움이 될만한 프로프트들을 알아보겠습니다.
제로 샷 프롬프트는 프롬프트에 예시를 제공하지 않고 질문에 대한 답을 찾도록 요청할 때 LLM의 자체 능력에 의존합니다.
예를 들어 LLM에게 읽을 문장을 제공한 다음 모델에게 이 문장이 의미 있고 정확한지 묻는다면 이는 모델의 능력에 의존하는 제로 샷 프롬프트의 예가 될 수 있습니다.
퓨샷 프롬프트 방식은 LLM에 패턴을 보여주는 하나 이상의 예시를 제공한 다음 실제 질문을 하는 방식입니다.
예를 들어, LLM에게 일련의 대화를 제공하고 정서를 긍정, 부정 또는 중립으로 설명한 다음 모델에게 제공된 데모를 기반으로 다른 대화를 분류하도록 요청할 수 있습니다.
apple: fruit
orange: fruit
zucchini: vegetable
tomato:
Complete this list
프라이밍(priming)은 사전 정보를 제공하여 특정 상황에서 리액션을 지시하는 역할, 상호작용 범위 등을 프롬프트에 정의하는 방법입니다.
역할과 요청을 구체적으로 작성하여 답변을 유도합니다.
영어로는 act as ~ 한국어로는 당신은 ~로 행동합니다.
💡 당신은 [역할]로 행동합니다. [요청] 대해 알려주세요
요청에 맞는 정교한 역할을 특정인물이나 직업을 넣어 페르소나를 주는 방법도 효율적입니다.
페르소나는 행동패턴, 목표, 기술, 선호, 동기 등이 특정 사용자나 그룹을 대표하는 인물을 나타냅니다.
예를 들어, 세익스피어,교수, 채용 전문가, 면접과나 등으로 역할을 부여하여 요청을 해 보는 것입니다.
당신은 선생님입니다. 프롬프르 엔지니어링이 뭔지 학생들이 이해하도록 좋은 답변을 끌어낼 수 있도록, 풍부하고 최적화된 프롬프트를 만들어주세요
당신은 서울대 역사학과 교수로 행동합니다. 6.25 전쟁에 대해 알려주세요
이후에는 역할이 변경되지 않고 같은 역할로 답변이 포함됩니다.
https://github.com/f/awesome-chatgpt-prompts
메타 프롬프트는 프롬프트를 만드는 프롬프트 입니다.
특정 부분에 초점을 맞춰 구체적 답변을 얻는데 효과적인 방법으로 단순한 질문이나 상상력이 필요한 질문에는 맞지 않습니다.
대규모 언어모델은 지능적이기 때문에 질문, 요청의 모든 속성을 이해 할 수 있고, 프롬프트를 구성할 수도 있습니다.
메타 프롬프트는 사용자가 넓은 시각으로 주제에 접근하도록 돕기 때문에 구체적인 정보 추가, 문백 보완을 도와줍니다.
메타프롬프팅: 프롬프트를 제공하고 개선을 반복적으로 요청하는 프로세스
💡 다음의 프롬프트를 당신이 최고의 응답을 생성할 수 있는 가장 효과적인 프롬프트로 만들려면 어떻게 해야 하나요? : [주제]
GPT 3.5에서 다음과 같은 질문을 해 보겠습니다.
다음의 프롬프트를 당신이 최고의 응답을 생성할 수 있는 가장 효과적인 프롬프트로 만들려면 어떻게 해야 하나요?
"소프트웨어 테스트 자동화를 하는 대상과 코딩 언어, 툴에 대해 알려주세요 특히 구체적인 예시나 상황도 포함해서요"
메타 프롬프팅의 답변은 아래와 같이 나옵니다.
대상 설정(Target Identification): 소프트웨어 테스트 자동화의 첫 단계는 대상을 식별하는 것입니다.
특정 애플리케이션, 웹사이트, 또는 시스템을 명시해 주세요. 예를 들어, 웹 기반 은행 애플리케이션 또는 Android 모바일 앱 등[1].
코딩 언어 선택(Language Selection): 어떤 프로그래밍 언어를 사용할 것인지 명시해 주세요.
자주 사용되는 언어 중에서 선택하거나 프로젝트 요구 사항에 따라 적절한 언어를 설명해 주세요[3].
사용하는 툴 소개(Tool Introduction): 테스트 자동화에 사용되는 도구를 언급해 주세요.
Selenium, Appium, JUnit 등이 가능한 도구입니다. 각 도구의 특징과 장단점을 간략히 소개하세요[3].
구체적인 예시와 상황 포함(Include Specific Examples and Scenarios): 특정 상황에서 어떻게 소프트웨어 테스트 자동화를 수행할 것인지 구체적인 예시를 포함해 주세요.
예를 들어, 로그인 기능을 테스트하거나 결제 프로세스를 자동으로 검증하는 방법을 설명해 주세요.
💡 다음의 주제와 관련해 생각을 자극하는 다양한 프롬프트 10개를 만들어 주세요.
프롬프트는 독특한 관점을 반영하고, 명확한 페르소사를 표현하거나 다른 각도에서 살펴보고, 주제에 대한 종합적인 이해를 보장해야 합니다. : [주제]
메타 프롬프팅의 답변은 아래와 같이 나옵니다.
다양한 관점에서 살펴보는 프로젝트 관리 프롬프트
시간 여행 프로젝트: 만약 시간을 되돌릴 수 있다면, 과거의 프로젝트에서 어떤 것을 변경하고 싶은가요? 그 변경으로 어떤 영향을 받을 것으로 예상되나요?
영화 감독의 렌즈: 프로젝트를 영화로 만든다면, 어떤 장면이 가장 강렬하고 인상적일 것이라고 생각하시나요? 왜 그 장면을 선택하셨나요?
비행기 모드 프로젝트: 만약 프로젝트가 비행기에서 수행되어야 한다면, 어떤 도전과 과제가 생길 것으로 예상되나요? 고려해야 할 특별한 요소는 무엇인가요?
로봇 파트너 프로젝트: 프로젝트 팀에 로봇이 한 명의 팀원으로 참여한다면, 그 로봇이 어떤 역할을 수행하고 어떤 도움을 줄 것으로 기대하시나요?
마법의 도구 프로젝트: 하나의 마법 도구를 사용할 수 있다면, 프로젝트 관리에서 어떤 기능을 수행하고 싶은가요? 그 도구는 어떤 특별한 능력을 가지고 있을까요?
프로젝트 캠프: 프로젝트를 위한 캠프를 개최한다면, 참가자들은 어떤 활동을 통해 팀워크를 강화하고 프로젝트 관리 능력을 향상시킬 것인가요?
음악 앨범 프로젝트: 만약 프로젝트가 음악 앨범이라면, 각 단계를 음악으로 표현한다면 어떤 장르의 음악이 가장 어울릴 것 같나요?
게임 화면 구현 프로젝트: 프로젝트 진행 상황을 게임 화면으로 시각화한다면, 팀원들은 어떤 도전을 이겨내야 할까요?
공간 여행 프로젝트: 다른 행성에서 프로젝트를 수행한다면, 그 환경이 어떻게 팀의 업무와 접목될 것으로 예상되나요?
프로젝트의 마지막 장면: 프로젝트가 성공적으로 완료된 마지막 순간을 상상해 보세요. 그 장면에서 팀원들은 어떤 감정을 느낄 것으로 예상되나요?
이렇게 프롬프트가 적절한 프롬프트를 사용하여 재 질문하는 형태로 답변을 찾아갑니다. 이 과정을 한번에 할 수 있는 프롬프트 형태가 다음의 체인 프롬프트입니다.
체인 프롬프트는 이전 대화를 기반으로 요약, 메타 프롬프트, 응답, 요약의 순서로 대화를 지속적으로 발전시키도록 답변을 도출하는 프롬프트 기법입니다.
복잡한 대화를 지원할 수 있습니다. 다만 Gpt-4에서만 정상동작하고, 토큰이 많이 들어 사용에 주의해야 합니다.
💡** 일련의 프롬프트를 통해 “[주제]”에 관한 공동 작업을 합시다. 각 응답에 대한 다음의 형식을 따라 주세요
요약: 이전 응답의 주요 정보를 간결하게 요약합니다.
메타프롬프트: 로세스의 다음 단계를 안내하는 새로운 프롬프트를 생성합니다..
응답: 요약 섹션의 정보를 바탕으로 메타프롬프트에 응답합니다.
계속: 다음 대화에서 집중해야 할 사항을 설명합니다.**
아래와 같이 프롬프트를 작성하고 응답이 맘에 든다면 "계속" 이라고 답변하고 그렇지 않다면 요청을 추가합니다.
일련의 프롬프트를 통해 “소프트웨어 테스트 자동화”에 관한 공동 작업을 합시다.
각 응답에 대한 다음의 형식을 따라 주세요
요약: 이전 응답의 주요 정보를 간결하게 요약합니다.
메타프롬프트: 로세스의 다음 단계를 안내하는 새로운 프롬프트를 생성합니다..
응답: 요약 섹션의 정보를 바탕으로 메타프롬프트에 응답합니다.
계속: 다음 대화에서 집중해야 할 사항을 설명합니다.
메타 프롬프트, 체임 프롬프트 외에도 슈퍼 메타 프롬프트 등 다양한 최적화 방법이 있습니다.
아래 연구에서는 gpt에 감정에 호소하는 글을 남기면 결과가 더 좋다는 이야기도 있습니다.
https://arxiv.org/pdf/2307.11760.pdf
https://www.pinecone.io/learn/llm-ecosystem/
https://mysuni.sk.com/suni-main/lecture/card/CARD-19mk/cubes/CUBE-192l/video
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.