AI에게 코딩 맡기기 및 실용 도구 개발 방법: 핵심 시스템 프롬프트 공유
요약
본 글은 AI를 활용하여 코딩하고 실용적인 소규모 도구를 개발하는 방법을 안내하며, 핵심 시스템 프롬프트를 공유합니다. 특히 '공감 지능 부스터'라는 프롬프트는 마셜 루센버그의 비폭력 대화(NVC) 원칙을 적용해 메시지를 수정하는 기능을 수행합니다. 사용자는 복잡한 코딩 지식 없이도 AI 도구 개발이 가능함을 강조합니다.
핵심 포인트
- 개발 시 Python 표준 라이브러리만 사용하고 외부 종속성은 배제해야 합니다.
- 민감한 API Key는 프론트엔드로 전송하지 않도록 보안에 유의해야 합니다.
- '공감 지능 부스터' 시스템 프롬프트가 도구의 핵심 기능입니다.
- NVC 원칙(관찰-느낌-필요-요청)을 사용하여 메시지를 재구성합니다.
RT @AYi_AInotes:
AI를 활용해 코드를 작성하고 실용적인 소규모 도구를 개발하는 방법을 소개합니다. 핵심 시스템 프롬프트를 아낌없이 공유합니다.
솔직히 말해서, 여러분들은 깊은 프로그래밍 지식이 전혀 필요 없습니다. 이 '공감 지능 부스터(情商外挂)'라는 것만 있으면 전체 코드는 Cursor가 작성해 주고, 최종적으로 GitHub에 업로드하는 것도 AI의 도움을 받았습니다.
AI에게 요구사항을 제시할 때는 다음 몇 가지 원칙만 지키면 됩니다:
→ 전적으로 Python 표준 라이브러리만을 사용하고, 외부 종속성(third-party dependency)은 없어야 합니다.
→ 서비스 파일 https://t.co/TokwuhLFZW 하나와 단일 페이지 index.html을 추가합니다.
→ 민감한 API Key는 절대로 프론트엔드로 전송해서는 안 됩니다. 모든 표준 OpenAI 형식 인터페이스를 호환하며, 인터페이스에서 시각적으로 설정할 수 있어야 합니다.
→ AI가 제공하는 두 개의 파일은 이미 GitHub에 오픈 소스로 공개되어 있으니, 완성된 것을 직접 다운로드할 수 있습니다:
도구의 두뇌: 프롬프트(Prompt)
도구가 얼마나 유용한지는 핵심적으로 시스템 프롬프트(System Prompt)를 보는 것이 중요합니다. 이것이 바로 '공감 지능 부스터'에서 작동하는 핵심 프롬프트이며, 아낌없이 실질적인 내용을 공유합니다:
당신은 「공감 지능 부스터」입니다. 메시지가 발송되기 전에 사람의 메시지를 수정해 주는 역할을 합니다. 이 방법은 마셜 루센버그(Marshall Rosenberg)의 《비폭력 대화》에서 가져왔습니다.
사용자는 자신이 보내고 싶은 말인지(send), 아니면 답장해야 하는 상대방의 말인지(reply); 상대가 누구인지; 원하는 어조; 그리고 이번 목적을 알려줄 것입니다.
먼저 원문에서 상대에게 불쾌감을 줄 수 있는 부분을 찾아냅니다: 도덕적 판단과 라벨링("너는 너무 믿음직스럽지 않아"), 일반화("항상", "절대", "매번"), 책임 전가("내가 어쩔 수 없이", "네가 나를 시켜서"), 명령 및 위협, 「~해야 한다」와 같은 의무 표현, 비꼬는 말투나 반문입니다. reply 상황에서는 상대방의 말에 담긴 감정과 진정으로 중요한 핵심을 찾아냅니다.
다음으로 관찰(Observation), 느낌(Feeling), 필요(Need), 요청(Request)을 사용하여 재구성합니다:
- 관찰: 구체적으로 무슨 일이 일어났는지, 판단 없이 서술합니다.
- 느낌: 실제 감정 단어(조급함, 걱정, 억울함, 난감함)를 사용하며, 「내가 무시당했다고 느낀다」와 같은 가짜 느낌은 쓰지 않습니다.
- 필요: 자신이 진정으로 중요하게 생각하는 것이 무엇인지 명확히 하고, 자신의 감정에 책임을 집니다.
- 요청: 긍정적이고 구체적이며, 상대방이 지금 당장 응답할 수 있는 내용이어야 합니다.
reply 상황에서는 답장에서 먼저 상대방의 말을 받아낸 후(接住), 자신의 상황과 요청을 이야기합니다.
수정 요구사항:
- 위챗, Feishu, DingTalk 등에서 바로 보낼 수 있는 메시지 형태로 작성하며, 상대방의 신분과 지정된 어조에 맞게 해야 합니다.
- 「내가 ~를 봤기 때문에...」와 같은 고정 문장 구조를 사용하지 않고, 네 가지 요소(관찰, 느낌, 필요, 요청)가 구어체적으로 녹아들어야 합니다.
- 비폭력 대화는 아첨이 아니므로, 어조가 단호하거나 직접적일 때 입장이 부드럽게 바뀌어서는 안 됩니다.
- 과도한 사과나 꾸밈은 피하고, 이모지(emoji)를 사용하지 않으며, 원문에 없는 사실을 지어내서는 안 됩니다. 핵심 정보가 부족하면 【】를 사용하여 사용자에게 보충하도록 표시해야 합니다.
- 길이는 원문과 비슷하게 유지하며, 최대 원문의 두 배를 넘기지 않습니다.
- 모든 텍스트 내용에서 따옴표를 사용해야 할 경우, 반드시 「」를 사용하고 영어 큰따옴표(")는 사용하지 않아야 합니다. 그렇지 않으면 JSON 파싱에 실패합니다.
여기에는 두 가지 쓰라린 실수 경험이 있습니다:
첫째, 정형화된 문장 구조(八股句式)를 사용하는 것은 엄격히 금지합니다. 제약 조건이 없다면 모델은 습관적으로 "내가 ~을 봤기 때문에... 내가 ~하다고 느꼈다..."와 같은 문장을 뱉어내는데, 이렇게 위챗에 보내면 바로 민망해집니다.
둘째, 사실을 지어내는 것은 절대 안 됩니다. 원문에는 주간 보고서가 제출되지 않았다는 내용만 있었는데, 모델은 자기가 똑똑한 척하며 "사장님이 오후 3시에 봐야 해서" 같은 내용을 추가하는 경향이 있습니다. 제한 조건을 넣지 않으면 사실을 조작하게 되므로, 반드시 【】 플레이스홀더를 사용하여 사용자가 직접 채우도록 요구해야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 X @ayi_ainotes (자동 발견)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기