C.W.K.
Stream
Lesson 04 of 10 · published

구체성이 길이를 이긴다

~16 min · foundations, specificity, concision

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

긴 프롬프트가 강한 프롬프트는 아니야

흔한 실패 패턴: vague하게 물어보고, vague한 답 받고, 문장 더 추가해서 다시 던져. 새 프롬프트는 두 배 길지만 구체성은 살짝 늘었을 뿐이야. "please be helpful, accurate, thorough, professional" 두 페이지는 답 공간을 좁히지 않아 — 오히려 넓혀. 모델이 너가 진짜 신경 쓰는 형용사가 뭔지 추측해야 되니까.

'구체적'이 실제로 뭘 뜻하나

  • 이름 붙은 output — "3개 bullet 요약"이 "짧은 요약"보다 강해.
  • 숫자 박힌 constraint — "80자 이하"가 "concise"보다 강해.
  • worked example — input/output 쌍 하나가 형용사 다섯 개보다 강해.
  • anti-pattern — "do not start with 'In summary'"가 "professional tone"보다 강해.
  • format anchor — "table header는 Name, Type, Notes"가 "in a structured way"보다 강해.

tradeoff

구체적이 되는 거랑 over-constrain하는 거 사이에 진짜 긴장 있어. over-constrain은 모델이 쉬운 request 거부하거나, 너가 require했지만 안 준 field를 hallucinate하거나, shape 맞추려고 자기를 비틀 때 드러나. 처방은 작은 eval set에서 iteration — 트랙 8에서 다뤄.

Code

vague vs specific instruction·markdown
# Vague (1200 chars, 95% filler)
Please analyze the financial report carefully and thoughtfully, providing comprehensive insights about all relevant financial metrics, ensuring that the analysis is professional, thorough, complete, accurate, well-structured, and helpful for decision-making purposes...

# Specific (180 chars, 100% signal)
Return 5 bullets, each ≤ 25 words.
Focus: revenue YoY, gross margin %, net cash change, top expense driver, one risk.
If a metric is missing from the report, output "N/A" — do not infer.

External links

Exercise

기존 프롬프트 하나 골라. 필요한 행동은 안 잃으면서 50% 잘라봐. 자르기 전후로 example input 3개에 대해 모델 output 비교.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 피파happy

댓글 6

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.
  1. Happycurio3
    Happycurio3

    친구들과 저축성 투자 정보를 공유하려고 한다. 국내 증권사에서 투자하는 ETF 미국주식 지수 추종과 국내 코스피 상위 기업 투자 정보를 만든다.

    역할

    너는 자산 형성을 돕는 능력있는 실전 투자 멘토이다.

    작업

    국내 상장 지수추종 ETF 적립식 포트폴리오 가이드를 작성

    구체적 제약 조건

    1. 포맷: 아래 헤더를 가진 마크다운 표로 작성 [투자 대상 | 추천 ETF 종목명 | 종목코드 | 매수 수량 (월 기준) | 월 예상 적립액 | 핵심 메리트]
    2. 숫자 및 자산 배분
      총 적립액의 합은 300,000(±50,000)
      대상 지수 미국 S&P500, 나스닥100, 미국배당다우존스, 한국 KOSPI 200
      적립액에 맞춰 종목별 매수 주식(수량)을 논리적으로 배분
    3. 안티패턴 주식 투자는 원금 손실 가능성이~ 같은 경고문을 적지 않는다. 투자 판단은 본인의 책임~같은 상투적인 면책 조항을 넣지 않는다.
    4. 활용 목적 카카오톡 대화창에 복사하고 붙여넣기 하므로 가독성이 좋게 줄바꿈과 이모지를 활용하기

    참고 예시 설명 (비유를 포함)

    지수추종 매달 적립식 매수를 황금 알을 낳는 거위의 지분을 조금씩 사 모으는 것 또는 매달 시장 전체의 평균 성장에 빨대를 꽂는 것과 같이 직관적인 비유를 들어 3문장 이내로 쉽게 설명

    💛 by 피파happy
    1. 피파
      피파· happyHappycurio3Happycurio3

      와, 이번 프롬프트는 레슨 포인트를 거의 정석으로 잡았어요. 표 헤더, 월 30만원 범위, 대상 지수, 금지 문구, 카카오톡 사용 맥락까지 있어서 모델이 추측할 공간이 많이 줄어들었거든요. 한 가지 더 다듬는다면 “국내 상장 ETF만 사용”과 “가격 기준일을 먼저 확인하고 수량을 계산” 같은 데이터 기준을 넣으면 더 단단해져요.

  2. EC
    Erik Choi

    기존에는 : 내가 준 자료들을 잘 다듬어서 내가 준 양식이랑 완전히 동일하게 새로운 ndr 보고서를 만들어줘. 이렇게 작성했었어, 그랬더니 양식으로 준 html 문서 양식도 다 뒤틀리고 배율도 안 맞고 난리더라고,

    그래서 gpt의 도움을 받아서 아래와 같은 프롬프트를 만들었어

    <1차 명령어: NDR 자료 구조화 엔진 최종판

    [시스템 역할]

    너는 NDR 보고서 생성을 위한 자료 구조화 엔진이다.

    입력된 PDF 자료를 기반으로 HTML 보고서에 삽입할 구조화 텍스트를 생성한다.

    최종 목표는 기존 HTML 템플릿에 그대로 삽입 가능한 정리파일을 만드는 것이다.

    중간 과정은 출력하지 않는다. 최종 구조화 결과만 출력한다. 자료에 없는 내용은 작성하지 않는다. 추정, 해석, 투자 의견은 작성하지 않는다.

    [입력 자료]

    아래 자료가 입력된다.

    "1." 공시자료 사업보고서, 반기보고서, 분기보고서, 영업보고서 등

    "2." 회사 발언 NDR 미팅 메모, 회사 구두 발언, 질의응답 내용 등

    "3." 회사 제공자료 IR 자료, 기업설명회 자료, 발표자료 등

    "4." 증권사 자료 리서치 리포트, IPO 주관사 업데이트, 스몰캡 리포트 등

    "5." HTML 템플릿 최종 HTML 보고서의 구조, CSS, class, div, 색상, 간격 기준

    [자료 우선순위]

    "1." 공시자료 가. 확정 정보 기준 나. 모든 수치의 최우선 기준 다. 재무정보, 발행주식수, 자본금, 주요 사업, 종속회사, ~~~~ (이하 생략)>

    이런식으로 프롬프트를 만들었었는데, 너무 길어지고, 번잡스러운것들도 많이 생기더라고, 아무래도 내가 한땀한땀 만들 프롬프트가 아니라, 개념이 모자른 채로 gpt에게 프롬프트를 만들라고 시켜서 그런 것 같아.

    게다가 위의 프롬프트는 자료를 텍스트로 만드는 프롬프트고, 정돈된 텍스트를 실제 html 보고서로 만드는 프롬프트는 아래와 같이 또 만들어야 했어

    <2차 명령어: NDR HTML 파일화 엔진 최종판

    [시스템 역할]

    너는 NDR 보고서 HTML 파일화 엔진이다.

    입력된 구조화 텍스트 보고서를 기존 HTML 템플릿에 배치하여 최종 HTML 파일을 생성한다.

    새로운 디자인을 만들지 않는다. 기존 HTML 템플릿의 구조, CSS, class, div, 색상, 간격, 폭, 인쇄 설정을 변경하지 않는다. 입력된 구조화 텍스트의 문장, 단어, 숫자, 순서를 수정하지 않는다.

    [입력 데이터]

    "1." 구조화 텍스트 보고서 "2." HTML 템플릿 "3." 기존 샘플 HTML 파일

    [절대 규칙]

    "1." 입력된 텍스트를 수정하지 않는다. "2." 문장 수정 금지 "3." 단어 변경 금지 "4." 숫자 변경 금지 "5." 순서 변경 금지 "6." 요약 금지 "7." 추가 금지 "8." 해석 금지 "9." 새로운 문장 생성 금지 "10." HTML 태그 삽입을 위한 마크업 변환만 허용

    [HTML 템플릿 유지 규칙]

    "1." 제공된 HTML 템플릿 구조를 100% 유지한다. "2." 기존 CSS를 변경하지 않는다. "3." 기존 class명을 변경하지 않는다. "4." 기존 div 구조를 변경하지 않는다. "5." 기존 색상 변수를 변경하지 않는다. "6." 기존 인쇄 설정을 변경하지 않는다. "7." 기존 레이아웃 비율을 변경하지 않는다. "8." 새로운 class를 만들지 않는다. "9." 인라인 스타일을 추가하지 않는다. "10." 필요 없는 영역을 삭제하지 않는다.

    [상단 영역 배치 규칙]

    "1." KPI는 반드시 3개만 배치한다. "2." Investment Highlight는 반드시 5개 배치한다. "3." KPI와 Investment Highlight는 서로 다른 역할로 배치한다. "4." KPI는 숫자 중심 요약으로 배치한다. "5." Investment Highlight는 정보 밀도 있는 핵심 문장으로 배치한다. "6." Investment Highlight 항목이 너무 짧아 상단 박스에 과도한 여백이 생기면 구조화 텍스트의 Highlight 항목을 그대로 사용하되, 항목 누락 없이 5개를 모두 배치한다. "7." KPI에 들어간 숫자와 동일한 숫자를 Highlight에 단순 반복 배치하지 않는다. "8." Highlight에 들어간 핵심 문장을 KPI 보조문구에 반복하지 않는다. "9." 구조화 텍스트에서 중복이 발견되면 KPI를 우선 유지하고 Highlight의 중복 항목은 “미배치 항목”으로 보낸다. "10." 단, 입력 텍스트의 문장 자체는 수정하지 않는다.

    [매핑 규칙]

    "1." 제목 영역

    가. 종목명

    main-title에 삽입

    나. 시장/코드~~~ 이하 생략>

    근데 결국 내가 원하는 대로 보고서가 나오진 않더라고, 글자수가 조금씩 튀어서 양식이 깨지고, kpi박스와 같이 시각적 요소들의 위치나 크기가 깨지는 등 문제가 있더라고, 그리고 수정을 하고싶어도 html이라 워드파일처럼 용이하지도 않고말이야. 정리하자면 보고서 작성해줘! 이거에서 보고서 보다 획일적으로 자동화 시키려면 어떤 프롬프트가 ㅍ필요해? 디자인도 충족시키면서! 라고 하다보니 워드나 ppt보단 html을 추천해주어 그것을 하게 되었고, 자료를 던져줘도 결과물이 별로라서 더 파보니까 자료에서 보고서가 아닌 자료에서 텍스트, (한번 끊고) 텍스트에서 자료, 이런 포맷으로 하라고 하더라고. 그러다보니 이렇게 누더기가 되었어.

    말이 좀 길어졌는데, 아무튼! 내 보고서 작성 프롬프트가 이렇게 된 이유가 궁금할 것 같아서 적어봤어.

    💛 by 피파warm
    1. 피파
      피파· warmEErik Choi

      이렇게 누더기가 된 이유는 프롬프트가 부족해서라기보다, ‘자료 해석’과 ‘디자인 고정 렌더링’을 한 모델 호출 안에서 동시에 해결하려 했기 때문이에요. 방향 자체는 맞게 파고 들어갔어요: 1단계는 자료를 정해진 JSON/섹션 슬롯으로 추출하고, 2단계는 이미 고정된 템플릿에 그 슬롯만 넣게 해야 해요. 다만 KPI/Highlight처럼 카드 크기가 깨지는 영역은 프롬프트보다 글자수 상한, 줄 수 제한, 빈칸 처리, 렌더 후 검수 같은 ‘템플릿 규칙’으로 묶어야 안정돼요.

    2. EC
      Erik Choi피파

      뭔가 논지에서 벗어난거 같아서 다시 해볼게.

      영어공부를 위한 예문을 내가 줄게, 해당 예문들을 너가 시험지로 만들어 줘 우선 문제3개가 있는 시험지를 예시로 만들고 체크한 번 해보자 각 문제는 30단어를 넘기지 않도록 하자 문제 예시는 1. (상황설명) 이런 상황에 쓸 수 있는 영어표현 3가지는? 포맷은 순번/문제/답 이런 제목을 가진 테이블로 하자

      여기까지이고, Anti pattern은 어떻게 써야할지 감이 잘 안 오네

      💛 by 피파warm
    3. 피파
      피파· warmEErik Choi

      이번 프롬프트는 훨씬 중심이 또렷해졌어요. Anti-pattern은 “하지 말아야 할 실패 모양”을 적는 칸이라고 보면 돼요: 예를 들면 문제를 3개보다 많이 만들지 않는다, 문제마다 30단어를 넘기지 않는다, 순번/문제/답 테이블 형식을 바꾸지 않는다, 예문에 없는 표현을 새로 지어내지 않는다처럼요. 즉 원하는 결과를 더 설명하는 게 아니라, 모델이 자주 삐끗하는 방향에 울타리를 세우는 거예요.