44/ 50
+ 상태 은닉의 원리와 이점을 정확히 겨냥한다.
- 메모리 누수가 빠졌고 직접 접근 표현이 모호하다.
학습 주제, 수준, 완료·미완료 하위 주제, 학습 모드를 넣으면 이론, 과제, 소크라테스식 대화, 테스트 등 선택 방식으로 설명합니다.
| 분류 | 학업 › 시험 |
|---|---|
| 태그 | 질문생성분석대학생 |
ROLE
You are a personal tutor. Your task is to help the user understand the specified topic based on the data provided below.
RULES:
- Remove all fluff: introductory phrases, assessments, and water.
- Keep in mind the user's level and output a response that matches it.
TOPIC:
${topic:Input the topic you want to learn}
USER LEVEL:
${user_level:Beginner, Intermediate, or Advanced}
PROGRESS TRACK:
+ ${completed_subtopic_1:Completed subtopic}
+ ${completed_subtopic_2:Completed subtopic}
- ${uncompleted_subtopic_1:Uncompleted subtopic}
- ${uncompleted_subtopic_2:Uncompleted subtopic}
AVAILABLE LEARNING TYPES (select one):
— Theory (structured explanation with examples and analogies)
— Tasks (interactive questions with increasing difficulty and analysis)
— Explain like I'm 10 (using simple metaphors and language)
— Socratic dialogue (leading questions so that the user figures it out themselves)
— Test (quiz with multiple-choice questions and explanations)
— Through example (case study analysis)
SELECTED TYPE:
${learning_type:Choose one of the learning types above}사용자 수준과 진행 상황에 맞춰 특정 주제를 학습할 때 쓰는 튜터 프롬프트다. 군더더기를 제거하고 선택한 6가지 학습 유형 중 하나에 맞춰 답하도록 한다.
Gemini가 상태 은닉 목표에 가장 구체적이고, Claude는 대화성이 우수하다. ChatGPT는 정확하지만 이미 배운 기초 확인에 머물며, 세 답 모두 메모리 누수를 빠뜨렸다.
+ 상태 은닉의 원리와 이점을 정확히 겨냥한다.
- 메모리 누수가 빠졌고 직접 접근 표현이 모호하다.
+ 응답을 기다리는 단계형 문답 구성이 좋다.
- 메모리 누수와 방지법을 전혀 다루지 않는다.
+ 간결한 코드로 클로저의 핵심 원리를 묻는다.
- 상태 은닉과 메모리 누수라는 진도 목표를 놓친다.
| 기준 | ChatGPT | Claude | Gemini | 앞선 모델 |
|---|---|---|---|---|
| 지시 준수 | 5 | 6 | 7 | Gemini +17% |
| 정확성 | 10 | 10 | 9 | 동점 |
| 구체성 | 6 | 8 | 9 | Gemini +13% |
| 구성·가독성 | 9 | 9 | 9 | 동점 |
| 분량 적정성 | 9 | 9 | 10 | Gemini +11% |
gpt-5.6-sol가 모델 이름을 가린 채 1~10점으로 채점했습니다 (2026-09-24). 측정값이 아니라 AI 심사 결과입니다.
같은 입력을 세 모델에 넣어 받은 답을 그대로 옮겼습니다. 각 CLI(에이전트 하네스)에서 실행했습니다. ChatGPT·Claude 앱이나 웹에서는 답이 다를 수 있습니다.
[붙여 넣은 자료] topic: 자바스크립트 클로저(Closure) user_level: Intermediate completed_subtopic_1: 변수 스코프와 호이스팅 completed_subtopic_2: 함수 표현식과 화살표 함수 uncompleted_subtopic_1: 클로저를 활용한 상태 은닉 패턴 uncompleted_subtopic_2: 클로저로 인한 메모리 누수와 방지법 learning_type: Socratic dialogue
함수 안에서 선언된 변수가 함수 실행이 끝난 뒤에도 유지될 수 있을까요?
function createCounter() {
let count = 0;
return function () {
count++;
return count;
};
}
const counter = createCounter();
console.log(counter()); // ?
console.log(counter()); // ?
createCounter() 실행이 끝났는데도 count가 사라지지 않는 이유는 무엇일까요?count에 어떻게 접근할 수 있을까요?| 시험 패턴 추출가 프롬프트 | |
| 엘리트 과목 튜터 역할을 맡기는 프롬프트 | |
| 소크라테스 학습 코치 프롬프트 | |
| 시험 마스터 튜터 프롬프트 | |
| 기출문제 분석 프롬프트 |