Sign In
프롬프트 히스토리

매일 아침에 프롬프트 연습문제 받아보기 (feat. ChatGPT Task)

T
Two_Jay
카테고리
Empty
ChatGPT Task가 릴리즈 되어 적용되었다는 소식을 듣고, 평소에 생각만 하던 기능을 1시간 만에 구현해서 사용해보았습니다. 매일 아침마다 프롬프트 엔지니어답게 프롬프트 엔지니어링 데일리 과제를 생성해서 받아보는 사이트를 구현하려다, 마침 Task를 활용하면 GPT 기반으로 잘 구현할 수 있겠다 싶어서 활용하기로 결정했습니다.

ChatGPT Task 란?

ChatGPT Task (GPT 작업)은 현재 ChatGPT에서 베타로 공개된 기능입니다. 이 기능을 활용하면 단일로, 혹은 정기적으로 GPT에 수행할 작업을 정의해서 수행하게 만들 수 있습니다. 특정 시간에 1회에 한하여 수행하게 할 수도, 매일 아침 9시와 같은 정기적인 시간에 수행하게 할 수도 있습니다.
Task를 선택한다고 하여도, 채팅 인터페이스는 크게 변화하지 않습니다. 이전에 활용하던 채팅 인터페이스 그대로 활용할 수 있습니다. 여기서 프롬프트를 아래의 정보를 담아서 전달해주면, 임의로 테스크를 생성하여 일정에 추가하게 됩니다.
무엇을 할 것인지
작업의 구체적인 내용
언제 수행할 것인지 - 주기와 시간 (e.g. 매일 아침 9시 30분에)
아래와 같이 ChatGPT Task와 상호작용 할 수 있습니다.
우측에 보시는 것 처럼, 프롬프트를 통해 수행할 작업을 직접적으로 명령할 수 있습니다. Task는 여기에서 발견한 정보를 토대로 작업을 생성하고 수행하게 됩니다. 이 프롬프트와 같이 시간을 명확히 주고, [제목]과 [내용]을 명확하게 프롬프팅해서 제공하면 GPT Task는 이를 거의 그대로 가져가서 작업을 생성하게 됩니다.
정상적으로 작업이 생성되게 되었다면, 우측과 같이 생성된 작업에 대한 정보와 응답을 받을 수 있습니다.
생성된 작업의 옵션 버튼을 클릭하면 작업을 편집하거나 일시정지하거나, 수행하고 있는 모든 작업을 볼 수 있습니다.
작업 편집을 누르면 우측과 같이 작업의 세부내용을 편집할 수 있습니다. 지침은 수행할 작업의 프롬프트로, ChatGPT에서 작업을 수행할 프롬프트를 주면 됩니다. 현재의 ChatGPT Task는 GPT-4o 모델을 기반으로 움직이기에, GPT-4o로 테스트를 해보고 올리는 걸 추천합니다.

일정 또한 수정할 수 있는데요. 정기적/비정기적 작업 일정도 지정할 수 있으며, 맞춤형으로도 특정 기간에 작업하도록 할 수 있습니다.
생성된 과제에 대해서도 Chat Interface를 이용해서 상호작용 할 수 있습니다.
물론 이런 작업의 수정은 Chat Interface로도 진행할 수 있습니다.
생성된 과제가 수행이 된다면, 어떤 과제가 수행되었는지 위에 표시되며, 해당 스레드에 응답이 생성됩니다.
예정된 작업이 수행되면, 메일로 알람이 가게됩니다. 메세지보기를 누르면, 작업을 수행하여 받은 응답이 있는 스레드로 이동하게 됩니다.
위와 같이 작업을 할당하여 주기적으로 활용할 수 있는 기능을 가진 서비스였습니다.

데일리 프롬프트 과제 프롬프트 만들기

간단하게 제목을 먼저 작성하고 프롬프트 초안을 작성했습니다. 아래의 프롬프트를 먼저 보시죠
`Diary practice task for prompt engineering` 지침 초안 프롬프트
Tell me a practice problem to master prompt engineering.

### Contents
When creating a problem, the following elements should be included:
- Prompt problem title
- Background situation of the problem
- Requirements in the problem
- Minimum criteria that the completed prompt should satisfy
- Challenging tasks that would be good to achieve as a bonus in the completed prompt

### Guidelines
When creating a problem, you must follow these guidelines:
- Create a practice problem for LLM prompt engineering.
- Check each element and if there are any elements that are impossible to solve or
  conflicting requirements, integrate those elements into one direction.
- The result can be a prompt, code, or document.
- Create a problem that a real prompt engineer would be required to solve at a 
  professional level.
- The minimum requirements should be very very high reliability.
- 'Bonus tasks' should include higher-level requirements that are not covered 
  in the 'minimum criteria'. These requirements should be sufficiently challenging
  and should be achievable on the premise that the minimum criteria have been met.
- 'Minimum criteria' and 'bonus tasks' should remain at a level that provides
  appropriate clues to start with, and should not be clear enough to include or imply
  the correct answer. The content should be structured so that the user can
  creatively solve the problem.

#### Deliverables 
- The result of the problem you generate should be a prompt design or a simple agent
  design.
- The result should be achievable using LLM.

#### Error case
- The prompt task should include cases that may be considered errors.
- In this case, a simple example should be included.
- The content of the error case should be a case that can occur in reality.

### Output Format
- Insert a divider between each element.
- Do not use markdown format, instead use plain text.
- Respond in Korean.

여기서 주안점으로 삼은 부분은 다음과 같습니다.
과제의 형식을 사전에 명확하게 하고, 백그라운드와 Requirements를 먼저 응답에서 도출하게 해서, 이후에 생성되는 과제 수행사항이 차례로 영향을 받아서 더 탄탄하게 문제가 생성되도록 응답 구조를 유도했습니다.
데일리 과제이지만 조금 더 발전적으로 과제를 수행하도록, 난이도를 초안 버전에서부터 전반적으로 어렵게 유도했으며, Mandatory 목표와 Bonus 목표를 각각 설정하여 도전적으로 수행할 여지를 남겨놓았습니다.
Guidelines에서는 응답에서 나오는 컨텐츠에 대한 가이드라인을 작성했습니다. 컨텐츠에서 제시한 요소들이 충돌하거나 수행 불가능한 상황에 빠지지 않도록 유도하고, 프롬프트 엔지니어들이 프롬프트를 신뢰성 기반으로 평가받기에 그 또한 과제 기준으로 제시하게 했습니다. 학습자에게 창의적인 학습을 유도하도록 힌트와 정보의 제시 정도도 조절했습니다.,
Error cases에서는 과제에서 예시로 지정할 에러 케이스를 보여주게 예제 지침을 간단하게 넣었습니다.
위에서 언급한 대로 프롬프트를 작성한 후 GPT-4o로 초안을 점차 개선해나가는 작업을 거쳤습니다.
오늘 첫 과제를 받았는데, 수행하고 메일이 먼저 날아오고, 응답을 바로 볼 수 있었습니다.
생성된 과제 예시
제목
다단계 고객 지원 챗봇 설계 문제

배경 상황
한 글로벌 전자기기 회사에서 고객 지원 자동화를 위한 다단계 챗봇 설계를 요청받았습니다. 이 챗봇은 고객이 직면한 문제를 분석하고, 단계적으로 적절한 해결책을 제시해야 합니다. 주어진 시스템은 단순한 FAQ 응답을 넘어, 문제의 유형에 따라 상세한 질문을 던지고, 최종적으로 고객의 문제를 해결하거나 필요 시 인간 상담원으로 연결해야 합니다.

문제 요구사항
- 고객이 문제를 설명하면 챗봇이 이를 적절한 카테고리로 분류해야 합니다.
- 카테고리에 따라 추가 질문을 통해 문제를 세분화해야 합니다.
- 세분화된 문제에 대해 적합한 해결책을 제시하거나, 지원 자료(예: 사용자 매뉴얼 링크)를 제공해야 합니다.
- 만약 문제를 해결할 수 없는 경우, 인간 상담원에게 연결한다는 메시지를 고객에게 전달하고 필요한 정보를 상담원에게 전달합니다.
- 모든 대화는 고객이 혼동하지 않도록 명확하고 간결해야 합니다.

최소 기준
- 챗봇이 최소 5개의 주요 카테고리를 식별하고 이를 정확히 분류해야 함.
- 각 카테고리당 최소 2개의 하위 질문을 포함하여 문제를 세분화해야 함.
- 고객의 질문을 기반으로 적절한 해결책을 제안하고 80% 이상의 응답 정확도를 보장해야 함.
- 해결 불가능한 경우, 상담원에게 연결하며 고객이 제공한 문제 요약을 자동 생성해야 함.

추가 도전 과제 (보너스)
- 챗봇이 다국어를 지원하며 동일한 성능을 유지하도록 설계할 것.
- 고객의 감정(예: 불만, 만족)을 분석하여 응답을 조정하도록 설계.
- 고객이 이전에 제기한 문제를 기억하고 연속성 있는 대화를 제공.
- 챗봇의 답변 스타일을 사용자의 나이, 기술 수준에 맞게 조정.

에러 사례
- 챗봇이 문제를 잘못된 카테고리로 분류하여 잘못된 해결책을 제안하는 경우.
예: 고객이 "화면이 깨져 보인다"고 했을 때, 네트워크 연결 문제로 잘못 분류.

- 다단계 질문 과정에서 고객이 혼란을 느끼고 챗봇을 중단하는 경우.
예: "화면 문제를 진단하는 중"이라는 메시지 없이 단순히 질문을 나열.

- 고객의 요청을 기반으로 상담원에게 충분한 정보를 전달하지 못한 경우.
예: 상담원이 "고객 문제 요약 없음"이라는 메시지만 받음.

결과물
이 문제를 해결하는 프롬프트를 설계하거나 간단한 에이전트를 작성하십시오. 결과물은 LLM으로 충분히 구현 가능해야 합니다.

소감 및 후기

ChatGPT Task를 활용하여 작업을 간단하게 자동화할 수 있었습니다. 이전에는 Langgraph와 같은 구현체를 사용해 별도의 파이프라인을 구축하거나, Make와 같은 도구를 사용해야 할지 고민이 많았는데요. GPT-4o만을 기반으로 답변을 받을 수 있는 작업이라면 비용 없이 보다 수월하게 진행할 수 있을 것 같습니다.
특히, ChatGPT에 저장된 개인화된 지침과 데이터가 응답에 영향을 미치고, SearchGPT와 같은 도구를 조합하여 자동화된 작업을 생성하고 수행할 수 있다는 점이 더욱 강력하게 느껴집니다. 이러한 기능을 통해 누구나 더욱 간편하면서도 강력한 모델을 기반으로 자동화된 작업을 수행할 수 있다는 것이 ChatGPT Task의 큰 장점인 것 같습니다.



Subscribe to 'Two-Jay_prompt_engineer'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to 'Two-Jay_prompt_engineer'!
Subscribe
👍
3