/var/log/messages
리눅스 엔지니어에게 추천하는 ChatGPT 사용법 본문
안녕하세요!
제가 자주 사용하고 있는 GPT 사용법을 공유하고자 글을 작성했습니다.
혹시 이 글을 읽고 괜찮으시다면 피드백/추천하시는 프롬프트 부탁드리겠습니다!
그리고 티스토리에는 표를 디자인 할 수 있는 기능이 워드 보다는..? 부족한 것 같습니다.
가독성이 많아 떨어지는데 양해 부탁드립니다.
- (공식문서) 내용이 복잡한 경우
공식문서 혹은 다른 분들이 작성하신 문서의 내용이 복잡한 경우,
저는 다음과 같은 프롬프트를 이용합니다.
| [이해가 안 가는 내용만 혹은 문서의 내용 전제 복사 후] 해당 내용을 입문자(혹은 고등학생, 중학생) 수준으로 설명해주세요. |
예시 상황은 다음과 같이 이용할 수 있습니다.
| 원본 | Pacemaker 는 노드 세트에서 실행되는 오픈 소스 고가용성 클러스터 자원 관리자 소프트웨어입니다. 노드 간에 정렬된 통신 전달, 클러스터 멤버십, 쿼럼 강제 실행 및 기타 기능을 제공하는 오픈 소스 그룹 통신 시스템인 Corosync와 함께, 구성요소의 장애를 감지하고 애플리케이션의 중단을 최소화하기 위해 필요한 장애 복구 프로시저를 조정하도록 지원합니다. https://www.ibm.com/docs/ko/db2/11.5.x?topic=software-pacemaker-linux |
| 질문내용 | 문서: [해당 내용 프롬프트에 입력] 이 내용을 이해 후 고등학생 수준으로 수정해서 제공해주세요. |
GPT는 저에게 다음과 같은 답변을 제공했습니다.
| Pacemaker는 여러 대의 컴퓨터(노드)에서 함께 실행되는 오픈 소스 프로그램으로, 시스템을 항상 정상적으로 작동하게 유지해 주는 역할을 합니다. 이 프로그램은 Corosync라는 또 다른 오픈 소스 프로그램과 함께 사용되는데, Corosync는 컴퓨터들끼리 서로 정보를 주고받고, 어떤 컴퓨터가 정상인지 판단하며, 전체 시스템의 안정성을 유지하도록 도와줍니다. Pacemaker는 이런 정보를 이용해 어떤 컴퓨터나 프로그램에 문제가 생겼는지 빠르게 알아내고, 자동으로 다른 컴퓨터에서 대신 실행되게 하여 서비스가 멈추지 않도록 합니다. 즉, Pacemaker와 Corosync를 함께 사용하면 장애가 발생해도 서비스 중단을 최소화할 수 있는 고가용성(High Availability) 시스템을 만들 수 있습니다. |
확실히 처음 Pacemaker라는 용어를 들어본 상황에서는 GPT의 답변이 이해하기에는 용이할 거 같다는 생각이 듭니다.
어떻게 생각하시나요?
- 특정 근거가 필요한 경우
특정 수치의 임계값에 대한 근거 혹은 이 항목이 무엇을 의미하는지 찾기가 어려운 경우 등등
GPT를 이용해서 근거를 찾고자 합니다.
문제는 GPT가 제공하는 답변을 믿을 수 없는 경우는 다반사이고,
제가 추천하는 질문 프롬프트를 사용해도 역시 100% 정확한 답변을 기대하긴 어렵습니다.
그래도 이 양식으로 질문하면, 나름 그나마 정확한 답변을 가져온다고 생각해서 공유드립니다.
| [궁금한 내용 입력 후] 이것에 대한 근거를 인용구 기반(원본, 한국어 번역)으로 답변해주세요. |
예시 상황은 다음과 같습니다.
| 질문 | CPU의 사용 패턴을 분석할 시, 딱 1개의 명령어만 사용한다면 어떤 명령어를 사용해야 되나요? 인용구 기반(원본, 한국어 번역)으로 근거를 제공해주세요. |
| 답변 | 한 가지만 꼽자면 mpstat -P ALL 1 을 추천합니다. 이 한 줄이면 1초 간격으로 모든 CPU 코어의 사용률(usr/sys/iowait/idle 등) 이 연속으로 찍혀서 “패턴”을 보기 좋습니다(버스트·주기·불균형 등). 근거:
|
물론, 정말 그런 문장이 있었는지는 해당 웹 페이지에 접속 후 ctrl + f로 조사를 해봐야겠지만,
대부분의 경우는 해당 문장이 있었습니다.
- 구축 관련 에러 발생 시 해결
리눅스에서 여러 작업을 하다보면, 에러는 피할 수가 없는 상황이라고 생각합니다.
물론 저의 질문에 대한 답변을 고객사에서 바로 적용하기에는 부담이시겠지만
본인의 랩을 통해서 사전 검증하는 용도로 사용하기에는 괜찮은 프롬프트라고 생각이 됩니다.
이 프롬프트는 1차, 2차, 3차 및 N차로 나뉘어 집니다.
| 사용자: 1차 질문 | XX 작업을 하던 중 다음과 같은 에러가 발생했습니다. [에러 메세지 제공] 이 에러가 자주 발생이 되는 경우는 어떠한 경우가 있는지만을 웹 브라우징으로 조사해주세요. [근거가 필요 없어서 여기서는 근거를 요구하지는 않았지만, 원하시면 사용하셔도 됩니다.] |
| GPT: 1차 답변 | [여러 개의 원인 제공] |
| 사용자: 2차 질문 | 해당 원인들을 우선순위 순서로 고려해서 이 에러를 해결할 수 있는 명령어를 1개만 제공해주세요. |
| GPT: 2차 답변 | [명령어 1개 제공, 지속적으로 1개만 유지하게 해야 합니다.] |
| 사용자: 3차 질문 | [GPT가 제공한 명령어의 입력 결과를 GPT에게 제공] |
| GPT: 3차 답변 | [결과를 확인 후, 사용자에게 추가로 명령어를 제공] |
| 사용자: N차 질문 | [GPT가 제공한 명령어의 입력 결과를 GPT에게 제공] |
| GPT: N차 답변 | 에러가 해결 되었습니다. 원하신다면 이 에러가 발생했던 원인 및 이 에러를 해결했던 과정을 정리해드릴까요? |
저도 예전 이 방법을 모르기 전에는 에러 메세지 그대로 제공하고
GPT는 각각 경우 및 단계별로 여러 명령어들을 제공했지만, 각각 경우에 제공하던 명령어가 잘못된 문법으로
작성이 되어진 경우에는 대화의 흐름이 끊어집니다.
그리고 이건 제 사견이지만, 이 순서로 에러를 수정하면 GPT가 각각 여러 주제애 대한 답변을 생각하지 않다 보니, 1개의 상황에 대한 몰입이 되어서 더 정확한 답변을 제공하는 듯 합니다.
이 방법의 가장 큰 장점은, 사용자의 사견이 아닌 GPT가 주도적으로 문제를 해결합니다.
이게 장점이라고 생각이 드냐고 반론하시다면.. 제가 실력이 부족해서 그러니 양해를 요청드립니다,,!
이번주부터 직장인 부트캠프를 듣게 되어서 다시 블로그를 작성해볼까 합니다.
업로드는 아마 주 2회 정도로 예상 됩니다.
혹시 프롬프트에 대한 피드백 및 공유해주실 수 있는 프롬프트가 있다면
댓글 작성 요청 드립니다!