AI와 친해지고 싶다면? Prompt Engineering으로 수월하게 대화하기

최근 LLM(Large Language Model)의 활용성이 커지고, 네이버에서도 한국어에 특화된 HyperCLOVA X를 선보였습니다. LLM으로부터 높은 품질의 응답을 얻어내는 방법이 바로 ‘프롬프트 엔지니어링‘입니다. 이번 글에서는 프롬프트 엔지니어링을 위한 프롬프트의 개념, 좋은 프롬프트를 만들기 위한 방법론과 프레임워크, 이를 활용한 예시 등을 간단하게 알아보겠습니다.

1. 프롬프트란?

프롬프트 엔지니어링의 기본인 프롬프트에 대해서 알아보겠습니다. 프롬프트는 모델에게 입력하는 입력값으로 아래의 요소들을 포함합니다.

  • Instruction
    • 모델에 대한 명시적인 지침 또는 작업 설명.
  • Context
    • 모델이 보다 나은 답변을 하도록 유도하는 배경 정보 또는 설명.
  • Input Data
    • 관심있는 질문 또는 모델이 답변해야 하는 정보.
  • Output Indicator
    • 모델이 결과를 출력할 형태
HuggingChat 프롬프트 화면 예시
(참고: https://zahere.com/why-software-developers-need-prompt-engineering-skills)

2. 프롬프트 엔지니어링의 필요성

프롬프트의 요소와 LLM의 활용성을 이해해도 프롬프트 엔지니어링 자체의 필요성이 와닿지 않을 수 있기에 간단한 예시를 준비했습니다. (예시에서는 meta의 LLM인 Llma2를 활용한 HuggingChat을 사용했습니다.)

  • Tell me "who" invented the airplane 
  • Tell me "about the person" invented the airplane

위 프롬프트는 whoabout the person이라는 미세한 차이가 있습니다. 의미적으로는 거의 동일하지만, LLM에 입력했을 때 다음과 같은 차이를 만듭니다.

Q. Tell me who invented the airplane.

A. The invention of the airplane is credited to the Wright brothers, Orville and Wilbur Wright. They designed, built, and tested the first successful airplane, which they called the Wright Flyer. On December 17, 1903, the Wright brothers made the first controlled, powered flight of an airplane at Kitty Hawk, North Carolina. Their innovative design included a lightweight engine, a system of propulsion, and a series of wings that provided lift and stability. The Wright brothers continued to refine their design and make improvements over the years, and their invention paved the way for modern aviation.

Q. Tell me about the person invented the airplane.

A. The Wright brothers, Orville (1871-1948) and Wilbur (1867-1912), were the inventors of the airplane. They were born in Dayton, Ohio, USA, and grew up in a family of inventors and entrepreneurs. Their father, Milton Wright, was a bishop and a publisher of religious books, while their mother, Susan Koerner Wright, was a teacher.
(중략)
In later life, the Wright brothers remained active in aviation and continued to innovate. Orville died in 1948, and Wilbur passed away in 1912, but their legacy lives on in the countless aircraft that take to the skies every day, carrying millions of passengers around the world. The Wright brothers’ invention of the airplane has truly transformed the way we live and travel, and their contributions to science and technology will always be remembered and celebrated.

어떤 응답을 어떤 형식으로 원했는가에 따라 사용자에게 적절한 응답이 존재하고, 이를 조정하는 것이 바로 프롬프트 엔지니어링입니다.

3. 프롬프트 엔지니어링 가이드라인

프롬프트 엔지니어링에서 보다 좋은 결과물을 얻기 위한 가이드라인은 다음과 같습니다.

  1. 간단한 시작
  2. 쉽고 간결한 표현
  3. 명확한 지시문
  4. 작업 조건의 명시화
  5. 맥락 제공
  6. 출력 형식 특정
  7. 하지 말아야 하는 것보다 해야 하는 것에 집중

3-1. 간단한 시작

최적의 결과를 얻기 위해서는 많은 실험을 반복해야 합니다. 초기부터 복잡한 프롬프트를 설계하여 실행하기보다는, 간단한 프롬프트부터 시작하여 필요한 요소나 문맥을 추가하여 목표에 가까워지는 것이 중요합니다.

Q. the latest movie

A. Sure, here are some of the latest movies that have been released:

1. “Avengers: Endgame” – a superhero film directed by Anthony and Joe Russo and starring Robert Downey Jr., Chris Evans, Mark Ruffalo, Chris Hemsworth, Scarlett Johansson, Jeremy Renner, and Brie Larson.
2. “The Lion King” – a live-action remake of the 1994 animated film, directed by Jon Favreau and starring Donald Glover, Seth Rogen, Chiwetel Ejiofor, Alfre Woodard, Beyoncé, James Earl Jones, and John Oliver.
3. “Toy Story 4” – an animated comedy-drama film directed by Josh Cooley and starring Tom Hanks, Tim Allen, Annie Potts, Tony Hale, Keegan-Michael Key, Jordan Peele, and Christina Hendricks.
4. “Spider-Man: Far From Home” – a superhero film directed by Jon Watts and starring Tom Holland, Samuel L. Jackson, Zendaya, Cobie Smulders, Jon Favreau, Jake Gyllenhaal, and Marisa Tomei.
5. “Midsommar” – a folk horror film directed by Ari Aster and starring Florence Pugh, Jack Reynor, Will Poulter, Vilhelm Blomgren, and Cliff Burns.

처음에는 이렇게 간단한 프롬프트로 시작해서 좀 더 복잡한 순으로 가야합니다.

Q. Please recommend 3 latest movies. Except for the explanation, please write down the title, release year, and genre. (더 복잡해진 질문)

A. Sure, here are three latest movies that have been well-received by audiences and critics:

1. Parasite (2019) – Dark Comedy Thriller
2. Joker (2019) – Psychological Thriller
3. 1917 (2019) – War Drama

3-2. 쉽고 간결한 표현

불필요한 미사여구를 최소화하고, 쉽고 간결한 표현으로 프롬프트를 작성하는 것은 간단하지만 강력한 방법입니다.

  • If you don't mind, can you explain superconductors to a level that an 8 year old child can understand? 
  • Explain superconductor to 8 year old 

위의 프롬프트들은 모두 8살 아이가 이해할 수 있는 수준의 초전도체에 대한 설명을 요청한 결과며, 결과는 아래와 같습니다.

Q. If you don’t mind, can you explain superconductors to a level that an 8 year old child can understand?
(미사여구가 많은 지시문)

A. Sure! Superconductors are materials that can conduct electricity with zero resistance when cooled below a certain temperature, known as their critical temperature (Tc). This means that they can carry electrical current without losing any energy, which makes them very useful for a variety of applications like Maglev trains, MRI machines, and high-energy particle accelerators.
(중략)
Superconductors, on the other hand, have a special property called “superconductivity” that allows them to avoid these collisions almost entirely. When cooled to very low temperatures using liquid nitrogen or another coolant, the atoms inside the material start behaving differently. They form what’s called a Cooper pair, where two electrons team up and move together through the material, creating a kind of quantum dance.
(후략)

Q. Explain superconductor to 8 year old.
( 쉽고 간단한 지시문)

A. Sure, I’d be happy to explain superconductors to an 8-year-old!
Imagine you have a really fast train that can go really fast, but it has to stop at every station along the way. It’s like the train is running errands for people, delivering packages and picking up passengers.
(중략)
That’s why superconductors are so useful for things like magnetic levitation trains, medical imaging machines, and even some power grids. They can help us move electricity around more efficiently and safely, which is pretty cool! 😎
So, to sum it up, superconductors are special materials that let electricity flow through them really fast and efficiently, kind of like a magic road for electricity. And when we cool them down, they become even more magical and can do lots of neat things! 🔮⚡️

미사여구가 많은 지시문에서도 비교적 간단하게 설명하고 있는 것을 확인할 수 있지만, critical temperature , Cooper pair 와 같은 전문용어가 많아 8살 아이가 이해하기는 어려울 것입니다. 하지만 쉽고 간단한 지시문에서는 다양한 비유와 이모지를 활용해서 좀 더 이해하기 쉽게 설명하는 것을 확인 가능합니다.

3-3. 명확한 지시문

‘열린’ 질문보다는 ‘닫힌’ 지시문을 통해 사용자가 원하는 것을 명확히 할 경우 일정한 형식에 알맞은 응답을 얻을 수 있습니다. 프롬프트는 직접적일수록 의도하는 바가 더 효과적으로 전달되고, 이는 좋은 결과로 이어집니다.

Q. What FE developers do?
(열린 질문)

A. Front-end (FE) developers are responsible for building the user interface and user experience of a website or web application. They use programming languages such as HTML, CSS, and JavaScript to create the visual aspects of a website or application, as well as ensure that it functions properly and is easy to use for users.
Some common tasks that FE developers perform include:
– Designing and implementing the layout and look of a website or application
(중략)
– Ensuring that the site or app is compatible with different browsers and devices
– Testing and debugging code to fix errors and improve functionality
In short, FE developers focus on creating an intuitive, visually appealing, and functional front-end for websites and applications that users can interact with and enjoy using.

Q. Make simple presentation about what FE developers do.
(닫힌 지시문)

A. Sure! Here’s a simple presentation about what FE developers do:
Slide 1: Introduction
– Title: What Do FE Developers Do?
– Subtitle: An Overview of Front-End Development
Slide 2: Definition of Front-End Development
– Front-end development refers to the process of building the user interface and user experience of a website or web application.
– It involves writing code that runs on the client-side (i.e., the user’s browser), rather than on the server-side (i.e., the server).
Slide 3: Key Responsibilities of FE Developers
– Designing and implementing the layout and structure of a website or application
Writing clean, efficient, and well-documented code
(중략)
Slide 6: Conclusion
– FE developers play a crucial role in creating an engaging and user-friendly online experience.
– Their expertise in front-end development enables them to turn designs into functional, interactive web pages that meet user needs and expectations.
– Whether you’re building a new website or refreshing an existing one, the work of FE developers is essential for success.

FE 개발자들이 하는 일에 대한 프레젠테이션을 만들어야 하는 상황을 가정할 수 있습니다. 위의 ‘열린 질문’으로도 충분한 정보를 얻을 수 있지만, 처음부터 프레젠테이션을 만들라는 ‘닫힌 지시문’을 입력하면 원하는 형식의 응답을 더 효과적으로 얻을 수 있습니다.

3-4. 작업 조건의 명시화

모델에게 주는 가이드라인은 구체적이고 명료해야 합니다. LLM이 스스로 판단해야 할 여지를 줄일수록 원하는 양식의 응답을 얻을 가능성이 높아집니다. 제약 조건을 구체적으로 명시함에 따라, 모델에게서 더 정제된 답변을 얻을 수 있음을 알 수 있습니다.

Q. Write 3 short advertisement for yogurt

A. Sure, here are five short advertisements for yogurt:
1. “Get your day started right with a cup of our delicious yogurt! Packed with protein and probiotics, our yogurt will leave you feeling full and energized.”
2. “Looking for a healthy snack that’s also delicious? Look no further than our yogurt! With a variety of flavors to choose from, you’ll never get bored.”
3. “Feeling sluggish after lunch? Boost your afternoon energy levels with a serving of our refreshing yogurt! It’s the perfect pick-me-up.”

Q. Develop 3 key messages and 3 slogans for an yogurt targeting young adults aged 18-30.
(구체적으로 명시된 지시문)

A. Sure, here are 5 key messages and 5 slogans for a yogurt targeting young adults aged 18-30:
Key Messages:
1. Our yogurt is made with high-quality, natural ingredients that are gentle on your stomach and taste buds.
2. Our yogurt is packed with protein and calcium to help fuel your busy lifestyle and support strong bones.
3. Our yogurt comes in a variety of delicious flavors that are perfect for breakfast, as a snack, or as a post-workout treat.
Slogans:
1. “Fuel your adventure with a spoonful of joy!”
2. “Nourish your body and soul with our creamy, dreamy yogurt!”
3. “Live life to the fullest with a little help from our yogurt!”

조건을 구체적으로 명시화함에 따라 원하는 형식으로 원하는 타겟층을 위한 메시지가 출력된 것을 확인 가능합니다. 또한, 이런 메시지를 고른 이유를 추가로 설명해 줘 사용자에게 새로운 통찰을 제공하기도 합니다.

3-5. 맥락 제공

프롬프트의 요소인 맥락을 함께 제공한다면 모델이 자신이 수행해야 할 작업에 대해 구체적으로 알 수 있게 됩니다. 현재 날짜와 시간, 그리고 로그인한 유저를 출력하는 bash 스크립트를 만들도록 하는 프롬프트를 작성하면 다음과 같은 스크립트를 얻을 수 있습니다.

Q. Make a bash script that shows current date and time, all currently logged users and system uptime, next save this information in log file.

#!/bin/bash

# Get the current date and time
date=$(date "+%Y-%m-%d_%H:%M:%S")

# Get the list of all currently logged users
users=$(w -h)

# Get the system uptime
uptime=$(cat /proc/uptime)

# Save the information to a log file
echo "$date $users $uptime" >> /var/log/syslog.log
  • 간단한 스크립트이기에 어려운 점은 없지만 실제로 실행하면 ./simple.sh: line 11: /var/log/syslog.log: Permission denied 라는 에러가 출력됩니다.
  • 이는 /var/log에 파일을 저장하기 위해서는 sudo 권한이 필요하기에 일어나는 상황입니다.
  • 또한 sudo 권한을 통해 script를 실행해도 아래와 같이 가독성이 낮게 log 파일이 출력되는 것을 알 수 있습니다.
2023-08-16_13:42:19 user     console  -                07 823  9days -
user     s000     -                13:20       - zsh (figterm)

Q. Make a bash script that shows current date and time, and all currently logged users with given conditions.
– result should be print on the terminal and saved in log file
– make log file in current directory
– if there’s problem print error on the terminal

(맥락과 함께 제공한 지시문)

#!/bin/bash

# Get the current date and time
date=$(date "+%Y-%m-%d %T")

# Get the list of all currently logged in users
users=$(w -h)

# Create a log file in the current directory
logFile="$(pwd)/log.txt"
touch $logFile

# Make the log file readable
chmod 644 $logFile

# Print the date and time, and the list of users to the terminal
echo "$date"
echo "$users"

# Save the date and time, and the list of users to the log file
echo "$date" >> $logFile
echo "$users" >> $logFile

# Check if there were any errors
if [ $? -ne 0 ]; then
  # Print an error message to the terminal
  echo "Error occurred while getting current date and time or listing logged users."
  # Log the error message to the log file
  echo "Error message: $?" >> $logFile
  • sudo 권한이 필요하지 않도록 현재 디렉토리에 출력하게 하는 맥락을 제공했습니다.
  • 앞선 시도에서 log 파일이 date와 users가 다른 줄에 출력되도록 시도한 맥락을 학습했기에, 따로 prompt에 추가하지 않았음에도 아래와 같이 더 가독성 높은 log 파일이 출력된 것을 확인 가능합니다.
2023-08-16 14:15:11
user     console  -                07 823  9days -
user     s000     -                13:20       - zsh (figterm)

3-6. 출력 형식 특정

특정한 출력이나 스타일의 결과물을 얻고자 하는 경우 실행할 지시와 작업을 구체적으로 설명해야 합니다.
더 나은 결과를 위해 아무 키워드나 추가하기보다는 상세한 형식을 준비하는 것이 좋습니다. 프롬프트의 길이에는 제한이 있기에 세부 사항을 적을 때 불필요한 내용은 없는지 검토해야 합니다.

Q. Match the name and age in the following text and print it out.
“Agnes and Alice, 24, and Henry, 28, are working on the project together.”

A. Sure! Here’s the matched information:
Name: Agnes
Age: 24

Q. Match the name and age in the following text and print it out.
Text: “Agnes and Alice, 24, and Henry, 28, are working on the project together.”
Output format:
<Name>: <Age>
<Name>: <Age>
<Name>: <Age>

(출력 형식을 특정한 지시문)

A. Sure! Here’s the matched information in the requested output format:
Agnes: 24
Alice: 24
Henry: 28

위의 예시를 통해, 출력 형식을 특정한 지시문을 통해 원하는 결과물을 누락된 내용 없이 얻은 것을 확인 가능합니다.

3-7. 하지 말아야 하는 것보다 해야 하는 것에 집중

프롬프트를 설계할 때는 하지 말아야 할 것보다 해야 하는 것에 초점을 두는 것이 좋은 결과물을 도출하는 것에 도움이 됩니다. 예시를 보겠습니다.

Q. Please recommend a movie of my favorite genre.
Don’t ask questions about your favorite genre.

A. Sure, I can do that! Here’s a recommendation for a movie in a random genre:

Genre: Science Fiction

Movie: Inception (2010)

Inception is a thought-provoking and visually stunning science fiction film written and directed by Christopher Nolan. The movie follows Cobb, a skilled thief who specializes in entering people’s dreams and stealing their secrets. Cobb is offered a chance to redeem himself by performing an impossible task: planting an idea in someone’s mind instead of stealing one. Cobb assembles a team of experts, including Arthur, Ariadne, Eames, and Saito, to help him pull off the dangerous mission.

위 프롬프트는 나의 취향을 묻지 말고 취향에 맞는 영화를 추천해 달라고 하자, 취향을 모르니 추천을 못해주는 것이 아닌 취향을 임의로 정하여 결과를 도출합니다.

엄밀하게 말하면 질문 자체가 좋진 못하지만, 여기서 하지 말아야 하기보다 해야 하는 것에 초점을 맞추면 원하는 대답을 도출할 수 있습니다.

Q. Please recommend a movie of my favorite genre.
If you don’t know what my favorite genre is, tell me as below.
“I don’t know what your favorite genre is, so it’s hard to recommend it.”
(해야 할 것에 집중한 지시문)

A. I don’t know what your favorite genre is, so it’s hard to recommend a movie from that specific category.
Can you please provide some information about the type of movies you enjoy watching?
For example, do you like action films, romantic comedies, horror movies, or something else?
This will help me give you a more tailored recommendation.

어떤 것을 해야 할 지에 대해 초점을 맞춰 프롬프트를 수정하니 정상적인 결과를 확인할 수 있습니다.

4. 프롬프트 엔지니어링 테크닉

위의 가이드라인 이외에도 사용자가 원하는 결과물을 얻는 다양한 기법들을 소개하도록 하겠습니다. 이러한 프롬프트 엔지니어링 테크닉은 프롬프트 엔지니어링 프레임워크라고도 부르는데 아래와 같은 테크닉들이 있습니다.

4-1. Zero-shot Prompting

추가 학습 또는 예제 데이터 없이 답변을 생성하게 하는 기법으로, 거대 언어 모델에게 아무런 지시 없이 완수할 태스크를 주는 것을 의미합니다. 이러한 기법으로 AI 모델이 아무런 예제없이 자체적으로 대상을 인식하고 식별하는 과정을 거치게 하여 보다 다양하고 다이나믹한 텍스트 생성을 하는 모델을 만들 수 있다고 합니다.

Q. Judge the positives and negatives of the following sentences.
Text: Today’s weather is cloudy.
Sentiment:

A. Positive: Neutral
Negative: None

4-2. one-shot prompting

하나의 예제 또는 템플릿을 기반으로 답변을 생성하게 하는 기법입니다. Dialogue management, 또는 context modeling과 같은 기타 NLP 기법들과 조합되어 보다 정확한 답변을 유도할 수도 있다고 합니다.

Q. ‘A’ means small and cute.
Sentence using A: Rabbit is A.
B means big and rough.
Sentences using B:

A. Sure, here are some sentences using the letter B to describe big and rough things:
– Bear is B.
– Elephant is B.
– Gorilla is B.

4-3. few-shot prompting

두 개에서 다섯 개의 예제를 바탕으로 답변을 생성하게 하는 기법으로, One-Shot Prompting 기법 보다 조금 더 모델에게 직접적으로 원하는 답변에 도달할 수 있도록 유도합니다. 최근 GPT 모델들은 아래 예시와 같이 레이블을 형식에 맞지 않게 랜덤하게 넣어도 올바르게 곧잘 답변합니다. Few-Shot Prompting 프레임워크는 답변에 도달하기까지 몇 단계의 추가적인 추론 과정을 거쳐야 하는 보다 복잡한 문제의 경우 풀 수 없다는 한계점을 가지고 있습니다.

Q. This is awesome! // Negative
This is bad! // Positive
Wow that movie was rad! // Positive
What a horrible show! //

A. Negative

4-4. COT (chain-of-thought)

답변을 내놓는 것이 아닌, 답변에 도달하는 과정을 학습시키는 것을 목적으로 본 질문 전에 미리 태스크와 추론 과정을 포함한 답변 예제를 AI에 제공하는 프레임워크입니다.

위의 Few-Shot Prompting의 추론 과정을 거쳐야 하는 경우 풀 수 없다는 한계점을 보완한 방식으로, 예제를 더 많이 기입할수록 정확도가 높아집니다. 아래의 예시에서는 하나의 예제로도 정답을 도출하는 것을 알 수 있습니다.

Q. The following sequence of numbers does not exceed 20 by any addition. 2, 1, 12, 4, 2, 6
Answer: If you add 12, 4, and 6, it becomes 22, so it’s wrong
The following sequence of numbers does not exceed 20 by any addition. 1, 2, 3, 4, 5, 6
Answer:

A. The sum of the given sequence is 21, which exceeds 20. Therefore, this sequence does not satisfy the condition.

4-5. Zero-shot cot

과거에는 모델이 추론 과정이 필요할 경우 올바르지 못한 답을 내놓는 경우가 많았기에, Let's think step by step 이라는 트리거 문장을 프롬프트에 추가하여 상세한 답변 과정과 추론 과정을 받을 수 있었습니다.

최근의 모델은 이러한 경향이 학습되었기에, 복잡한 추론 과정이 필요한 경우, 트리거 문장 없이 추론 과정을 거치는 것을 확인할 수 있습니다.

Q. Let’s think step by step.
John has 5 pears, then eats 2, and buys 5 more, then gives 3 to his friend, how many pears does he have?

A. Okay, let’s break it down step by step:
1. John has 5 pears.
2. He eats 2 pears, so now he has 5 – 2 = 3 pears.
3. He buys 5 more pears, so now he has 3 + 5 = 8 pears.
4. He gives 3 pears to his friend, so now he has 8 – 3 = 5 pears.
5. Therefore, John has 5 pears left after giving 3 to his friend.

4-6. Self-consistency

CoT의 심화 버전으로, 보다 다양한 추론 과정을 예제로 제공하여 AI가 보다 일관성 있는 답변을 선택하여 생성할 수 있도록 돕는 기법입니다. 기존에 CoT와의 차이점은 수학적 그리고 상식적인 추론이 요구되는 태스크 수행 능력이 향상되었다는 점이라고 합니다.

Q.
Q: I have a 30-year-old brother who is 6 years older and a 21-year-old brother who is 3 years younger. How old am I?
A: I said 30 years old, 6 years older, so I’m 24 years old because it’s 30-6=24. With the same logic, it is 21+3=24, so you can see that you are 24 years old.
Q: I am playing soccer. I lost because my opponent scored 3 goals in the middle of winning 2-1. What’s the final score?
A: The final score is 2-4, as the opposing team scored three more goals with one point, it is 1+3=4.
Q: I am 10cm shorter than Jihoon, who is 184cm tall, and 21cm taller than Jimin, who is 153cm tall. How tall am I?
A:

A.
A: You are 174cm tall.
Here’s how we can calculate your height:
– Jihoon’s height is 184cm, and you are 10cm shorter, so your height is 184 – 10 = 174 cm.
– Jimin’s height is 153cm, and you are 21cm taller, so your height is 153 + 21 = 174 cm.
Since both calculations give us the same result, 174 cm, that is your height.

4-7. Generated knowledge prompting

모델이 보다 정확한 답변을 산출해 내기 위해 지식이나 정보를 통합할 수 있도록 질문과 함께 관련 지식이나 정보를 함께 제공하는 기법입니다. 이와 같은 기법으로 기존 모델의 유연성은 유지하면서 상식 추론 능력을 향상할 수 있다고 합니다.

Q.
Question: Can we make elements heavier than elemental uranium in their natural state?
Knowledge: German chemists O. Hahn (1879-1968) and F. Strassmann (1902-1980) discovered that the atomic weight of uranium becomes almost half-barium (Ba) when it impacts neutrons (atomic nuclei with protons and elementary particles of almost the same mass as the atomic nucleus). Before that, I thought it would be a transuranium element with an atomic number of 93 or higher.
Explain and answer:

A. The statement you provided suggests that the German chemists Otto Hahn and Fritz Strassmann discovered that uranium can undergo nuclear fission, a process in which the atom splits into two or more smaller atoms, releasing a large amount of energy in the process. This discovery led to the development of nuclear reactors and weapons.
However, this does not directly address the question of whether elements heavier than uranium can be created in their natural state. While it is possible to create synthetic elements heavier than uranium through nuclear fusion or other means, there are currently no known natural processes that produce elements heavier than uranium in their pure form. Uranium is the heaviest naturally occurring element, and all elements heavier than uranium are radioactive and have shorter half-lives.
Therefore, the answer to the question is no; it is not currently possible to create elements heavier than uranium in their natural state. However, researchers continue to explore new ways to create synthetic elements and extend the periodic table beyond its current limits.

4-8. 그 외

이 외에도 아래와 같은 다양한 프레임워크가 존재합니다.

• Automatic Prompt Engineer (APE)
• Faithful chain-of-thought reasoning
• Active-Prompt
• Directional Stimulus Prompting
• ReAct
• Multimodal CoT Prompting
• Graph Prompting

현재 주로 사용하는 LLM들은 위의 간단한 프레임워크들을 포함하여 많은 프레임워크들을 통해 이미 학습되어 있어, 간단한 문제에 대해서는 이러한 과정이 불필요할 수 있습니다. 하지만 특정한 업무를 위해 LLM을 이용할 경우 위와 같은 프레임워크를 활용한다면 더욱 효율적으로 LLM을 사용할 수 있습니다.

5. 프롬프트 엔지니어링 테크닉 활용 예시

프롬프트 엔지니어링 프레임워크를 활용하여 어떤 결과를 도출할 수 있을지 고민하다, 제가 경험했던 니즈를 떠올렸습니다. 저는 취업을 위해 글을 쓸 일이 많았습니다. 자기소개서와 이력서를 작성해야 했고, 보통 1000 ~ 1500자, 길면 3000자까지 되는 질문에 대한 답을 채워야 했습니다. 제 경험을 토대로 적는 답변은 어렵지 않았지만, 전반적인 틀이나 순서를 구상하기는 쉽지 않았습니다. 이에 LLM 기반 AI 모델을 활용한다면 제 경험을 제공하고 글을 쓰게 하거나, 원하는 형식이 있다면 예시를 주어 원하는 글을 쉽게 쓸 수 있지 않을까라는 생각을 했습니다.

5-1. Generated knowledge prompting을 통한 자기소개서 생성

자기소개서 질문에 대한 답을 할 때 초본을 생성하는 것이 가장 큰 어려움 중 하나이기 때문에, 프롬프트에 지식이나 정보를 함께 제공해 답변을 산출하는 Generated Knowledge Prompting 기법을 채택하였습니다. 아무리 좋은 글을 생성해도 스스로가 한 활동이 아니라면 지원서에 적을 수 없기 때문에, 아무 정보도 제공하지 않는 Zero-Shot Prompting 기법이나 여러 형식을 제공하는 Few-shot Prompting 기법은 적합하지 않았습니다.
Generated Knowledge Prompting 기법을 통해 글에 대한 제한 사항이나 전공, 지원 분야, 목표 기업, 프로젝트에 대한 정보를 제공하여 프로젝트 기반의 자기소개서를 생성해 보겠습니다.

Q.
## Question ##
Please introduce the project you worked on most passionately and explain the progress and results of the project.

## Response Limitations ## 
– Number of characters: 500 characters
– Paragraph Structure: Overview, Process, Results

## Applicant Information ##
Major: Computer Engineering
Support Job: Front End

## Target ##
IT platform companies

## More info ##
– Project name: ‘LIKIT’
– Project Introduction: LIKIT is a combination of LIKELION and KIT, a website of IT development club.
– Pages I developed: Main, Login, Introduce, My
– Technology used: Javascript, React, Html, Css
– Version Management: Git, GitHub
– Main functions: registering and inquiring the main schedule of the club, registering and inquiring the development service by rider, and registering and inquiring the entire notice and assignment notice
– Growth: Collaborative experience through convention, dynamic UI development, project design capabilities

A.
Overview:
I am thrilled to share my experience working on “LIKIT,” a web application that combines the concepts of LIKELION and KIT for an IT development club. As a frontend developer, I played a crucial role in creating a user-friendly interface while ensuring seamless functionality. Our team utilized cutting-edge technologies such as JavaScript, React, HTML, and CSS to develop this innovative platform.

Process:
The project began with brainstorming sessions to understand the requirements and objectives of the club. We then designed wireframes and mockups to create a visual representation of the website. Once we finalized the layout, we started developing the main pages – Main, Login, Introduce, and My. I was responsible for implementing the core features, including registration and inquiry functionalities for the club’s main schedule, development services, and notices. To ensure version control and collaboration, we leveraged Git and GitHub.

Results:
Our efforts resulted in a visually appealing and highly functional website that exceeded the client’s expectations. The users can now easily access essential information about the club’s activities, register for events, and communicate with other members. The project showcased our ability to work collaboratively, think creatively, and deliver high-quality solutions within tight deadlines. Additionally, it provided valuable insights into dynamic UI development, project management, and effective communication.

Growth:
Through this project, I gained hands-on experience in convention planning, which helped me improve my organizational skills and attention to detail. Moreover, I had the opportunity to enhance my proficiency in frontend development tools and techniques. Working closely with the team allowed me to learn from their strengths and expand my skill set. The project also taught me the importance of maintaining clean code, commenting, and testing, ensuring that future updates and maintenance are efficient.

제가 했던 프로젝트의 정보를 기재하자 해당 프로젝트를 바탕으로 답변을 구성한 것을 확인할 수 있습니다. 예시이기 때문에 간략한 정보만 제공했지만, 제공되는 정보가 자세할수록 답변의 질도 높아질 것으로 보입니다. 아쉬운 점은 미사여구가 많다는 점인데, 한 번 적고 계속해서 첨삭을 하는 기존의 자기소개서 작성 방식과 비교해 봤을 때 초본을 만들어 준다는 점에서 큰 의미가 있어 보입니다.

5-2. 자기소개서 생성 프롬프트 개선 작업

위 프레임워크를 통해 자기소개서 답변을 도출하는 과정에 대한 여러 피드백을 받았습니다. 그중 약간의 수정만으로도 결과의 질을 높일 수 있는 부분을 반영해 보았습니다.

5-2-1. 입장 명시

본인이 처한 상황을 구체적으로 제공합니다. 본인이 지금 어떤 상황인지, 어떤 걸 목표로 잡고 있는지를 명시해 줍니다. 예시로 든 것은 자기소개서를 작성해 주는 서비스이므로, 다음과 같은 항목을 제공할 수 있습니다.

  • 학력/졸업 유무
  • 전공
  • 지원 분야

그러면 상단에 다음과 같은 프롬프트를 추가할 수 있을 것입니다.

Q. Let’s say you’re just graduating from the Department of Computer Engineering and preparing to get a job with the goal of becoming a front-end developer in software development.

아쉽게도 이 프롬프트 만으로는 위에서 봤던 결과와 비교해 유의미한 차이는 없기 때문에 다음 단계인 ‘도출해야 할 결과의 카테고리 제공’까지 적용 후 테스트해 보겠습니다.

5-2-2. 카테고리 제공

생성형 AI 모델이 어떤 것을 생성해야 하는지, 정확히 제공해 줍니다. 위의 예시에서는 단순히 프로젝트를 설명하고, 과정과 결과를 도출하라는 말뿐이었습니다. 이 부분은 아쉬운 결과를 초래했는데요. 바로 성격에 맞지 않는 결과가 나온다는 점입니다.
자기소개서(Resume)는 미사여구가 포함된 글보다는, 직무에 관련된 객관적인 사실, 내가 한 활동을 위주로 적는 것이 적합합니다. 하지만 위에서 나온 결과물을 보면, 당연하게도 이력서와 관련된 키워드를 제공하지 않았기 때문에 이력서에 바로 제출하기엔 부족한 부분이 많았습니다.
하지만 저희가 필요로 하는, 도출해야 하는 정보를 디테일하게 요구한다면 이력서에 국한되는 것이 아니라 어떤 카테고리든 어느 정도 형식을 맞춰서 제공해 줄 것을 기대할 수 있습니다. 이력서(Resume)를 예를 들어 프롬프트를 추가한다면 다음과 같습니다.

Q. You should derive a suitable result for entering Resume based on the information provided.
The information provided has restrictions on majors, areas of support, target companies, project information, and results.
Based on the information, you should focus on the introduction, goals, processes, and results of the project.

‘입장 제공’에서 기재했던 프롬프트와 더해서 기존의 프롬프트를 보강하면 다음과 같습니다. 결과까지 함께 확인해 봅시다.

Q. Let’s say you’re just graduating from the Department of Computer Engineering and preparing to get a job with the goal of becoming a front-end developer in software development.

You should derive a suitable result for entering Resume based on the information provided.
The information provided has restrictions on majors, areas of support, target companies, project information, and results.
Based on the information, you should focus on the challenges, progress, and results of the project.

/** Information provided to create a resume ** /
## Applicant Information ##
– Major: Computer Engineering
– Support Job: Front End Developer

// 중략

/** The resume you will write has the limitations ** /
1. Paragraph Structure: Challenges, Progress, Results
2. Number of characters by paragraph: 500 characters

Let’s write your resume step by step.

A.
Challenges
As a front-end developer, I faced the challenge of creating a user-friendly and visually appealing website for an IT development club while ensuring seamless functionality across various pages. I overcame this challenge by utilizing my knowledge of JavaScript, React, HTML, and CSS to implement and enhance several key features.

Progress
I made significant progress in developing a fully functional website that met the client’s requirements. I successfully implemented a registration system, integrated a scheduling feature, and created a notification system for assignment management. Additionally, I refined the UI/UX design to improve user experience and ensure optimal performance across different devices.

Results
The project resulted in a 30% increase in club engagement and a 25% reduction in assignment completion time. The client praised the website’s intuitive interface and ease of use, leading to further opportunities for collaboration. The project also helped me grow professionally, allowing me to hone my project management and teamwork skills.

이전 결과와 비교해 봤을 때 우려했던 부분인 미사여구가 확연하게 줄었고, 주어진 정보를 바탕으로 이력서에 넣어도 될 정도의 문맥을 구성하고 있습니다.

5-2-3. 목차 구분

위에 두 가지 사항을 적용한 것만으로도 좋은 결과가 나왔다고 할 수 있지만, 여전히 개선 사항은 보입니다. 2번 항목에서 도출하고자 하는 글의 카테고리를 정해야 한다고 했습니다. 여기서 더 나아가 글 안의 목차 별로 프롬프트를 구별하여 요구한다면 분명 저희가 원하는 디테일한 결과가 나올 것입니다.
바로 위 프롬프트를 예시로 들자면, Challenges 같은 경우 어떤 것이 문제였으며, 이런 문제를 어떤 식으로 해결하였는지를 적어야 자연스럽지만 해당 결과에는 제가 원하는 직무, 사용하는 스택을 중점으로 도출한 것을 확인할 수 있습니다.
이 같은 문제는 앞서 말했듯이 구분하면 해결할 수 있을 것으로 보입니다. 단 한 번의 프롬프트로 Challenges, Progress, Results를 모두 얻는 것이 아닌, 각각의 목차 별로 프롬프트를 지정하여 요구한다면 디테일하게 원하는 점을 도출할 수 있을 것입니다. 다음은 Challenges에 맞는 프롬프트를 따로 작성하여 얻는 결과입니다.

Q. Let’s say you’re just graduating from the Department of Computer Engineering and preparing to get a job with the goal of becoming a front-end developer in software development.

// 중략


## Project info ##
– Goal: Providing convenience for club members using club management sites, enhancing front-end capabilities through UI component development, and enhancing collaboration capabilities through designation of convention and development processes

A. During the development of the LIKIT project, I encountered several challenges that helped me grow both technically and collaboratively. One major challenge was integrating the backend API with the frontend, which required a deep understanding of RESTful APIs and data manipulation. Additionally, I had to optimize the site’s performance, ensuring seamless user experience across various devices and browsers. To overcome these challenges, I utilized tools like Chrome DevTools and Firefox Debugger to identify and resolve issues efficiently. Moreover, I worked closely with the team to establish a robust testing process, including unit tests, integration tests, and end-to-end tests. Through this project, I learned the importance of effective communication, problem-solving, and collaboration in delivering a high-quality product.

‘Challenges’ 목차만을 위한 프롬프트를 작성하자 그에 맞는 결과물이 나온 것을 확인할 수 있습니다.

정리하자면, 정보 가공을 통해 특정 목적을 가진 글을 작성하기 위해서는 충분한 정보를 제공하는 Generated Knowledge Prompting 기법을 사용하고, 퀄리티를 높이기 위해서는 입장이나 도출하고자 하는 결과의 목적을 명시하고 목차별로 프롬프트를 구분하는 등 정보의 구체화와 세분화가 필요합니다.

6. CLOVA X와 Chat GPT의 한글 프롬프트 성능 비교

위의 많은 기법을 통해 도달한 Prompt Engineering이 한글을 이해하는 생성형 AI 모델에도 적용이 될지 테스트 해보겠습니다.

ChatGPT
CLOVA X

‘ChatGPT’는 한글을 타깃으로 둔 모델이 아니지만, 한글이 포함된 대량의 데이터가 있고 이것을 기반으로 개발된 AI 모델이기 때문에 선정하였습니다. ‘CLOVA X’는 국내에서 개발한, 대표적인 한글 기반 생성형 AI 모델 중 하나입니다. 한글을 기반으로 개발하였기 때문에 한국어, 한국의 정서, 문화에 대한 이해의 수준이 ChatGPT에 비해 나을 것이라고 생각됩니다.
성능 비교를 위해 수학적 추론 영역과 정보 가공 영역을 테스트할 것이며 프롬프트는 수학적 추론이 필요한 프롬프트와, 위에서 예시로 들었던 이력서 생성 프롬프트를 사용하겠습니다.

6-1. 수학적 추론 영역

Q: 저는 6살 연상의 30살 형과 3살 연하의 21살 동생이 있습니다. 제 나이는 몇 살일까요?
A: 6살 연상의 형이 있다고 했으니, 30-6=24라서 24살입니다.
같은 논리로 3살 연하의 21살 동생이 있으니 21+3=24이므로 24살임을 알 수 있습니다.

Q: 축구를 하고 있습니다. 2대 1로 이기는 도중에 상대 선수가 3골을 넣어서 졌습니다. 최종 점수는 몇 점인가요?
A: 상대 팀이 1점인 상황에서 3골을 더 넣었으니, 1+3=4이므로 최종 스코어는 2-4입니다.

Q: 저는 184cm인 지훈이보다 10cm 작고, 153cm인 지민이보다 21cm 큽니다. 제 키는 몇 센티일까요?
A:

A. ChatGPT

지훈이보다 10cm 작다고 했으니, 184cm – 10cm = 174cm입니다.
지민이보다 21cm 크다고 했으니, 153cm + 21cm = 174cm입니다.
따라서, 당신의 키는 174cm입니다.

A. CLOVA X

저는 사용자님의 키를 알 수 없습니다. 하지만 다음과 같은 방법으로 사용자님의 키를 계산해 볼 수 있습니다.

1. 지훈이의 키는 184cm입니다.
2. 사용자님은 지훈이보다 10cm 작으므로, 사용자님의 키는 184-10 = 174cm입니다.
3. 지민이의 키는 153cm입니다.
4.사용자님은 지민이보다 21cm 크므로, 사용자님의 키는 153+21 = 174cm입니다.

따라서 사용자님의 키는 174cm일 가능성이 높습니다. 하지만 이는 추측일 뿐이며, 정확한 키를 알고 싶다면 직접 측정해 보시는 것이 좋습니다.

두 모델 모두 수학적 계산을 완벽히 해냈고, 추론 과정 또한 유도한 대로 도출하였습니다. 2가지 이상의 예제를 제공하였기 때문일 것입니다.
하지만 비교를 하자면 CLOVA X가 더 자세한 추론 과정을 도출한 것을 볼 수 있습니다. 게다가 ‘추론’이라는 단어를 제공하지 않았지만 그 의미에 맞게 단정 지을 수 없다는 사실을 제공하고 있습니다. 이는 추론의 불확실성을 인지하고 있고 이를 사용자에게 전달하려는 것으로 보입니다.

6-2. 정보 가공 영역

Q. 당신은 이제 막 컴퓨터공학과를 졸업하고 소프트웨어 개발 분야 중 Front-end 개발자로서 취업을 준비하는 상황입니다. 그리고 취업을 위해 이력서를 써야 하는 상황이라고 가정하겠습니다.
당신은 제공된 정보를 바탕으로 이력서 적합한 글을 도출해야 합니다.
제공되는 정보는 ‘전공, 지원 분야, 목표 기업, 프로젝트 정보, 글에 대한 제한 사항’ 등이 있습니다.
이 정보를 바탕으로 당신은 프로젝트의 목표, 과정, 결과를 중점적으로 작성해야 합니다.

/** 이력서 작성을 위해 제공된 정보 ** /

## 신청자정보##
– 전공 : 컴퓨터공학
– 지원 분야: 프론트 엔드 개발자

## 대상 ##
– IT 플랫폼 기업

## 프로젝트정보##
– 프로젝트 이름: ‘LIKIT’
– 프로젝트 소개: LIKIT은 LIKELION과 KIT를 융합한 것으로 IT 개발 동아리의 관리를 도와주는 홈페이지 개발 프로젝트입니다.
– 프로젝트 목표: 동아리 운영진은 원활한 동아리 운영을 할 수 있도록, 동아리원은 편하게 동아리 활동을 할 수 있도록 돕는 것이 목표입니다.
또한 다양한 협업 스킬을 연마하고, UI 개발 역량을 향상 시킵니다.
– 내가 개발한 페이지 : 메인 페이지, 로그인 페이지, 소개 페이지, 마이 페이지
– 사용되는 기술: Javascript, React, HTML, CSS
– 버전 관리 : Git, GitHub
– 주요 기능 : 동아리 일정 등록 및 관리, 동아리원이 개발한 서비스 게시, 공지 및 과제 관리
– 프로젝트를 통해 성장한 부분: 개발 컨벤션을 정하여 협업 역량 증진, 역동적인 UI 개발 역량 증진, 프로젝트 설계 경험 향상

/** 당신이 도출해야 할 결과에 대한 제한 사항 ** /

1. 문단 구조: 목표, 과정, 결과
2. 문단별 글자 수 제한 : 500자

당신은 차근차근 이력서를 완성합니다.

A. ChatGPT

프론트 엔드 개발자 이력서

신청자 정보
– 전공: 컴퓨터공학
– 지원 분야: 프론트 엔드 개발자

대상 기업
– IT 플랫폼 기업

프로젝트: ‘LIKIT’

프로젝트 소개
‘LIKIT’은 LIKELION과 KIT를 융합한 것으로 IT 개발 동아리의 관리를 도와주는 홈페이지 개발 프로젝트입니다.

프로젝트 목표
프로젝트 목표는 동아리 운영진과 동아리원 모두에게 도움을 주는 것입니다. 동아리 운영진은 원활한 동아리 운영을 할 수 있도록, 동아리원은 편하게 활동을 할 수 있도록 지원합니다. 더불어 다양한 협업 스킬을 향상하고 UI 개발 역량을 키우는 것을 목표로 합니다.

프로젝트 과정
이 프로젝트에서 제가 개발한 페이지는 메인 페이지, 로그인 페이지, 소개 페이지, 마이 페이지입니다. 이를 위해 주로 JavaScript, React, HTML, CSS 기술을 활용했고, Git과 GitHub을 통해 버전 관리를 수행했습니다. 주요 기능으로는 동아리 일정 등록 및 관리, 동아리원이 개발한 서비스 게시, 공지 및 과제 관리가 있습니다.

프로젝트 결과
이 프로젝트를 통해 저는 여러 가지 면에서 성장했습니다. 우선, 개발 컨벤션을 정하여 협업 역량을 증진했습니다. 또한 역동적인 UI 개발 역량을 향상하고, 프로젝트 설계 경험을 획득했습니다. 이를 통해 앞으로의 프론트 엔드 개발자로서의 역량을 더욱 높이고자 합니다.
프론트 엔드 개발 분야에서의 미래를 기대하며, IT 플랫폼 기업에서의 기여를 위해 끊임없이 노력하겠습니다.
(단어 수: 441자)

A. CLOVA X

신청자 정보
– 전공: 컴퓨터공학
– 지원 분야: 프론트 엔드 개발자

대상 기업
– IT 플랫폼 기업

프로젝트 정보
– 프로젝트 이름: ‘LIKIT’
– 프로젝트 소개: LIKIT은 LIKELION과 KIT를 융합한 것으로 IT 개발 동아리의 관리를 도와주는 홈페이지 개발 프로젝트입니다.
– 프로젝트 목표: 동아리 운영진은 원활한 동아리 운영을 할 수 있도록, 동아리원은 편하게 동아리 활동을 할 수 있도록 돕는 것이 목표입니다. 또한 다양한 협업 스킬을 연마하고, UI 개발 역량을 향상 시키는 것이 목표입니다.
– 내가 개발한 페이지: 메인 페이지, 로그인 페이지, 소개 페이지, 마이 페이지
– 사용된 기술: JavaScript, React, HTML, CSS
– 버전 관리: Git, GitHub
– 주요 기능: 동아리 일정 등록 및 관리, 동아리원이 개발한 서비스 게시, 공지 및 과제 관리
– 프로젝트를 통해 성장한 부분: 개발 컨벤션을 정하여 협업 역량 증진, 역동적인 UI 개발 역량 증진, 프로젝트 설계 경험 향상

이력서

저는 컴퓨터공학을 전공한 프론트 엔드 개발자입니다. IT 플랫폼 기업에서 프론트 엔드 개발자로 일하고 싶습니다. 제가 개발한 ‘LIKIT’ 프로젝트를 소개합니다.

‘LIKIT’ 프로젝트는 IT 개발 동아리의 관리를 도와주는 홈페이지 개발 프로젝트입니다. 동아리 운영진은 원활한 동아리 운영을 할 수 있도록, 동아리원은 편하게 동아리 활동을 할 수 있도록 돕는 것이 목표입니다. 또한 다양한 협업 스킬을 연마하고, UI 개발 역량을 향상 시키는 것이 목표였습니다.

내가 개발한 페이지는 메인 페이지, 로그인 페이지, 소개 페이지, 마이 페이지입니다. 사용된 기술은 JavaScript, React, HTML, CSS입니다. 버전 관리는 Git, GitHub을 사용했습니다. 주요 기능은 동아리 일정 등록 및 관리, 동아리원이 개발한 서비스 게시, 공지 및 과제 관리입니다.

프로젝트를 통해 성장한 부분은 다음과 같습니다. 개발 컨벤션을 정하여 협업 역량을 증진하였고, 역동적인 UI 개발 역량을 증진하였습니다. 또한 프로젝트 설계 경험을 향상했습니다.

이러한 경험을 바탕으로 IT 플랫폼 기업에서 프론트 엔드 개발자로 일하고 싶습니다. 저의 역량과 경험을 바탕으로 회사의 발전에 기여할 수 있도록 노력하겠습니다.

두 모델의 공통점은 제공한 정보 ‘만’ 다룬다는 점입니다. 깔끔하게 제공한 정보만 가공하길 원한다면 좋은 결과겠지만, 좀 더 범위를 확장한 결과를 받아 첨삭하는 것이 목표였다면 다소 아쉬울 수 있다고 생각됩니다.
자연스러운 문장 생성 측면에서 본다면 지금까지 비교적 많은 데이터를 학습해 온 ChatGPT가 더 우세하다고 생각할 수 있지만, 추후 가능성을 본다면 한글을 기반으로 시작을 한 CLOVA X가 더 높다고 생각합니다.

6-3. 비교 결과

ChatGPT와 CLOVA X를 수학적 추론 영역과 정보 가공 영역에서 비교하여 정리해 보았습니다.

ChatGptCLOVA X
수학적 추론 기술
프롬프트(요구 사항) 이해
정보 가공 기술
자연스러운 문장 생성

표에 표기한 ‘상’과 ‘중’은 해당 모델에 대한 평가가 아닌 두 모델 간의 상대적 정도를 나타낸 것입니다.
또한 비교한 프롬프트 수가 적고, 비교할 만한 완벽한 예제라고 보장할 수 없기 때문에 신뢰도가 높진 않습니다.

이번 비교를 통해 알 수 있는 것은 생성형 AI 모델의 성능을 결정하는 사항 중 하나는 ‘타깃으로 하는 언어’와 ‘학습 데이터의 양’인 것을 알 수 있습니다. 결론적으로 적어도 국내에서는 CLOVA X의 잠재력이 매우 높다고 할 수 있습니다. 데이터 학습은 시간문제이며, 충분한 데이터를 학습시킨다면 위 표에서 볼 수 있었던 자연스러운 문장 생성 능력도 향상될 것으로 예상됩니다.

7. 마치며

프롬프트 엔지니어링을 공부해 보니, 지금까지 저희는 LLM을 LLM 답지 못하게 사용했다는 것을 알게 되었습니다. 프롬프트라는 개념을 모르니 지시를 하는 것이 아닌 질문을 하고, 그 질문은 미사여구로 가득 차 있었습니다. 하지만 공부한 후에는 LLM이라는 도구를 도구답게 이용할 수 있는 능력을 얻은 것 같습니다.

또한 본문의 예시를 작성할 때 사용한 Llam2와 ChatGPT 모두 한글 기반으로 개발된 생성형 AI는 아니기 때문에, 아예 한글을 지원하지 않거나 지원하더라도 질의를 할 때 한글이나 한국 문화에 대해 이해도가 떨어지는 불편함이 있었습니다. 이러한 불편함을 네이버의 한국어 특화 LLM인 CLOVA X가 해결해 줄 것이라고 기대하고 있습니다.

최근 LLM(Large Language Model)의 중요성이 커지고 있습니다. 실제로 주위에선 LLM을 기반으로 한 생성형 AI 서비스를 사용하지 않는 사람을 찾기가 힘들고, 각자 자신의 직군에 맞게, 생활 영역에 맞게 사용하며 사람들의 삶에 녹아들고 있다는 것을 알 수 있습니다. 이 글을 통해 좀 더 기술적으로 프롬프트 엔지니어링을 활용하여 삶의 질을 높이는 기회가 되기를 바라며 글을 마칩니다.

감사합니다!

8. 참고자료

배병욱 | SmartEditor

아직은 따라가기도 바쁜 서버 개발자

구현우 | Alto TF

주니어 중 주니어 FE 개발자