การสนทนากับ Gemini
ค้นคว้าเรื่องการค้นหาความถนัดของนักเรียนมัธยมด้วยครับ ว่าหากจะค้นหาตนเองจากความถนัดจะต้องศึกษาจากอะไรได้บ้าง โดยแบ่งเป็น 1. การศึกษาจากความชอบ บุคลิก ลักษณะนิสัย ของบุคคล 2.การศึกษาจากความถนัดของรายวิชาต่างๆเช่น วิทยาศาสตร์ คณิตศาสตร์ ภาษา ศิลปศาสตร์ 3. ค่าตอบแทนเฉลี่ยของแต่ละสาขาวิชาชีพ 4. เส้นทางความก้าวหน้าของแต่ละวิชาชีพ 5.เป้าหมายของแต่ละวิชาชีพ เช่น รายได้ ความสุข สมดุลชีวิต ผลกระทบต่อสุขภาพ ความห่างไกลครอบครัว ผลลัพธ์จากการค้นคว้านี้ผมอยากนำมาทำ ควิสสำหรับค้นหาตัวตนของนักเรียนเบื้องต้นเพื่อกำหนดทิศทางให้ตนเองครับ อยากให้นักเรียนค้นพบตนเองเร็วๆเพื่อเดินทางได้ถูกทางมีความสุขและพัฒนาทรัพยากรบุคคลของโลกนี้ให้เติบโตก้าวหน้าอย่างมีความสุขไม่ฝืนและแข่งขันกันมากเกินไปครับ
Gemini บอกว่า
นี่คือแผนการค้นคว้าสำหรับหัวข้อนั้น หากต้องการอัปเดตแผน โปรดแจ้งให้ฉันทราบ
เริ่มการค้นคว้า
Gemini บอกว่า
ข้อมูลการค้นคว้าเสร็จสิ้นแล้ว คุณสามารถถามคำถามเพื่อติดตามผล หรือขอเปลี่ยนแปลงสิ่งต่างๆ ได้
จากบทความนี้ สร้าง quiz one page html ให้ด้วยครับ มี ai วิเคราะห็ด้วยนะครับ แต่เป็นการนำเข้า gemini api ผ่าน หน้าตั้งค่า เพื่อให้วิเคราะห์ความถนัดได้ โดยมี system promt ที่เป็นผู้เชี่ยวชาญด้านการแนะนำนักเรียนครับ
Gemini บอกว่า
นี่คือโค้ด HTML สำหรับสร้างแอปพลิเคชันควิซค้นหาความถนัดแบบหน้าเดียว (One-page HTML) ตามที่คุณต้องการครับ โครงสร้างของคำถามถูกออกแบบตามมิติทั้ง 5 ด้านจากรายงาน ซึ่งครอบคลุมตั้งแต่การจำลองพฤติกรรมตามทฤษฎี RIASEC
คุณสามารถคัดลอกโค้ดด้านล่างนี้ บันทึกเป็นไฟล์ชื่อ index.html และเปิดผ่านเว็บเบราว์เซอร์เพื่อใช้งานได้ทันทีครับ
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ควิซค้นหาความถนัดและตัวตนสำหรับนักเรียนมัธยม (AI Analysis)</title>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background-color: #f4f7f6;
}
h1, h2 {
color: #2c3e50;
text-align: center;
}
.container {
background: #fff;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.section {
margin-bottom: 25px;
padding-bottom: 20px;
border-bottom: 1px solid #eee;
}
.section:last-child {
border-bottom: none;
}
.api-settings {
background-color: #e8f4f8;
padding: 15px;
border-radius: 8px;
margin-bottom: 30px;
border-left: 5px solid #3498db;
}
label.question {
font-weight: bold;
display: block;
margin-bottom: 10px;
color: #2980b9;
}
.choice {
display: block;
margin-bottom: 10px;
padding: 10px;
background: #fdfdfd;
border: 1px solid #ddd;
border-radius: 5px;
cursor: pointer;
transition: background 0.3s;
}
.choice:hover {
background: #f1f9ff;
}
input[type="radio"] {
margin-right: 10px;
}
input[type="password"] {
width: 100%;
padding: 10px;
margin-top: 5px;
border: 1px solid #ccc;
border-radius: 5px;
box-sizing: border-box;
}
button {
display: block;
width: 100%;
padding: 15px;
background-color: #27ae60;
color: white;
border: none;
border-radius: 5px;
font-size: 18px;
cursor: pointer;
transition: background 0.3s;
}
button:hover {
background-color: #219150;
}
#loading {
text-align: center;
display: none;
margin-top: 20px;
color: #e67e22;
font-weight: bold;
}
#result-container {
display: none;
margin-top: 30px;
padding: 20px;
background: #fdfae3;
border-left: 5px solid #f1c40f;
border-radius: 8px;
}
.analysis-text {
white-space: pre-wrap;
}
</style>
</head>
<body>
<div class="container">
<h1>ค้นหาตัวตน สู่อนาคตที่ใช่สำหรับคุณ</h1>
<p style="text-align: center;">ทำแบบทดสอบ 5 ข้อเพื่อรับคำแนะนำเส้นทางสายการเรียนและอาชีพจาก AI ผู้เชี่ยวชาญ</p>
<div class="api-settings">
<label for="apiKey"><strong>ตั้งค่า Gemini API Key (จำเป็น):</strong></label>
<input type="password" id="apiKey" placeholder="วาง API Key ของคุณที่นี่เพื่อประมวลผล...">
<p style="font-size: 0.85em; color: #555; margin-top: 5px;">*คีย์ของคุณจะถูกใช้งานผ่านเบราว์เซอร์เท่านั้น ไม่มีการจัดเก็บลงเซิร์ฟเวอร์ใดๆ</p>
</div>
<form id="quizForm">
<div class="section">
<label class="question">1. (มิติบุคลิกภาพ) เมื่อมีเหตุการณ์ไฟดับหรือเครื่องใช้ไฟฟ้าที่บ้านเสีย คุณมักจะตอบสนองอย่างไร?</label>
<label class="choice"><input type="radio" name="q1" value="พยายามรื้อดูวงจร หาสาเหตุ และหาทางซ่อมแซมเบื้องต้นด้วยตนเองก่อน"> ก. พยายามรื้อดู หาสาเหตุ และหาทางซ่อมแซมเบื้องต้นด้วยตนเองก่อน (นักปฏิบัติ/นักคิดวิเคราะห์)</label>
<label class="choice"><input type="radio" name="q1" value="รีบโทรติดต่อช่าง ค้นหาราคาที่เหมาะสม และเจรจาต่อรองค่าซ่อม"> ข. รีบโทรติดต่อช่าง ค้นหาราคาที่เหมาะสม และเจรจาต่อรองค่าซ่อม (นักโน้มน้าว/นักจัดการ)</label>
<label class="choice"><input type="radio" name="q1" value="ดูแลความปลอดภัยและสภาพจิตใจของคนในครอบครัวก่อนเป็นอันดับแรก"> ค. ดูแลความปลอดภัยและสภาพจิตใจของคนในครอบครัวก่อนเป็นอันดับแรก (นักช่วยเหลือ)</label>
</div>
<div class="section">
<label class="question">2. (มิติวิชาการ) ในห้องเรียน รายวิชาใดที่ทำให้คุณรู้สึกมีความสุข ลืมเวลา และลื่นไหล (Flow) ไปกับมันมากที่สุด?</label>
<label class="choice"><input type="radio" name="q2" value="คณิตศาสตร์ ฟิสิกส์ การแก้โจทย์ปัญหาเชิงตรรกะและการเขียนโปรแกรม"> ก. คณิตศาสตร์ ฟิสิกส์ การแก้โจทย์ปัญหาเชิงตรรกะและการเขียนโค้ด</label>
<label class="choice"><input type="radio" name="q2" value="ศิลปะ วรรณกรรม ภาษาต่างประเทศ และการนำเสนอผลงาน"> ข. ศิลปะ วรรณกรรม ภาษาต่างประเทศ และงานสร้างสรรค์</label>
<label class="choice"><input type="radio" name="q2" value="สถิติ ธุรกิจ สังคมศึกษา และกิจกรรมที่มีตรรกะร่วมกับการสื่อสาร"> ค. สถิติ ธุรกิจ สังคมศึกษา และกิจกรรมที่ต้องใช้ทั้งตรรกะและทักษะสังคม</label>
</div>
<div class="section">
<label class="question">3. (มิติเศรษฐศาสตร์) ความคาดหวังเรื่องรายได้และสภาพแวดล้อมการทำงานของคุณเป็นอย่างไร?</label>
<label class="choice"><input type="radio" name="q3" value="ต้องการรายได้สูงก้าวกระโดด พร้อมรับความเสี่ยงและความกดดันสูงในภาคเอกชนหรือสายเทคโนโลยี"> ก. ต้องการรายได้สูงก้าวกระโดด พร้อมรับความเสี่ยงและความกดดันสูง (เช่น งานไอที วิศวกรรม ธุรกิจ)</label>
<label class="choice"><input type="radio" name="q3" value="ต้องการความมั่นคงระยะยาว สวัสดิการครอบคลุมถึงครอบครัว แม้รายได้จะไม่สูงปรี๊ดก็ตาม"> ข. ต้องการความมั่นคงระยะยาว สวัสดิการดูแลครอบครัว แม้รายได้เริ่มแรกอาจจะไม่สูงมาก (เช่น รับราชการ พยาบาล)</label>
<label class="choice"><input type="radio" name="q3" value="ต้องการรายได้ที่เพียงพอต่อการเลี้ยงชีพ แลกกับอิสระและเวลาที่ยืดหยุ่นในการสร้างสรรค์ผลงาน"> ค. ต้องการรายได้ที่เพียงพอต่อการเลี้ยงชีพ แลกกับความยืดหยุ่นทางเวลาและอิสระในการทำงาน (เช่น งานอิสระ ศิลปิน นักออกแบบ)</label>
</div>
<div class="section">
<label class="question">4. (มิติความทนทาน) คุณพร้อมที่จะรับมือกับเส้นทางความก้าวหน้าแบบใด?</label>
<label class="choice"><input type="radio" name="q4" value="อดทนเรียนหนักหลายปี เข้าเวรหนักสูญเสียสมดุลชีวิตในช่วงแรก เพื่อความเชี่ยวชาญสูงสุดในบั้นปลาย"> ก. ยอมอดทนเรียนหนักหลายปีและทำงานล่วงเวลาสูญเสียสมดุลชีวิตช่วงแรก เพื่อสถานะที่มั่นคงในระยะยาว (เช่น สายการแพทย์ ทนายความ)</label>
<label class="choice"><input type="radio" name="q4" value="ชอบการเรียนรู้ตลอดเวลาในโลกที่หมุนเร็ว พร้อมเปลี่ยนทักษะและพิสูจน์ตนเองด้วยผลงานตลอดเวลา"> ข. ชอบเทคโนโลยีที่เปลี่ยนเร็ว ไม่ยึดติดระบบอาวุโส พร้อมพิสูจน์ตนเองด้วยผลงาน (เช่น โปรแกรมเมอร์ สายการตลาด)</label>
<label class="choice"><input type="radio" name="q4" value="ชอบเส้นทางที่มีโครงสร้างชัดเจน ค่อยๆ เติบโตตามอายุงานและประสบการณ์อย่างเป็นระบบ"> ค. ชอบเส้นทางที่มีขั้นตอนชัดเจน ค่อยๆ เติบโตตามอายุงานและประสบการณ์ (เช่น นักบัญชี ธุรการ รัฐวิสาหกิจ)</label>
</div>
<div class="section">
<label class="question">5. (มิติอิคิไก) หากมองถึงคุณค่าสูงสุดในชีวิต คุณรู้สึกมีพลังและเป้าหมายที่สุดเมื่อใด?</label>
<label class="choice"><input type="radio" name="q5" value="เมื่อได้ช่วยเหลือ เยียวยา หรือสร้างรอยยิ้มให้กับเพื่อนมนุษย์"> ก. เมื่อได้ช่วยเหลือ เยียวยา หรือสร้างแรงบันดาลใจให้เพื่อนมนุษย์</label>
<label class="choice"><input type="radio" name="q5" value="เมื่อได้คิดค้นนวัตกรรม แก้ปัญหาซับซ้อนที่ยกระดับประสิทธิภาพได้สำเร็จ"> ข. เมื่อได้ใช้ตรรกะคิดค้นนวัตกรรมหรือแก้ปัญหาระบบที่ซับซ้อนได้สำเร็จ</label>
<label class="choice"><input type="radio" name="q5" value="เมื่อได้มีเวลาดูแลสุขภาพตนเอง ครอบครัว และได้ทำงานศิลปะหรืองานที่รักอย่างสงบ"> ค. เมื่อมีเวลาดูแลตนเอง ครอบครัว และได้ทำสิ่งที่รักอย่างเป็นอิสระและสมดุล</label>
</div>
<button type="button" onclick="submitQuiz()">วิเคราะห์ผลลัพธ์ด้วย AI</button>
</form>
<div id="loading">กำลังประมวลผลข้อมูลและวิเคราะห์ตัวตนของคุณ... (โปรดรอสักครู่)</div>
<div id="result-container">
<h2>ผลการวิเคราะห์ความถนัดของคุณ</h2>
<div id="result" class="analysis-text"></div>
</div>
</div>
<script>
async function submitQuiz() {
const apiKey = document.getElementById('apiKey').value.trim();
if (!apiKey) {
alert('กรุณากรอก Gemini API Key ก่อนประมวลผลครับ');
return;
}
// เก็บข้อมูลจากฟอร์ม
const getRadioVal = (name) => {
const ele = document.querySelector(`input[name="${name}"]:checked`);
return ele? ele.value : null;
};
const answers = {
q1: getRadioVal('q1'),
q2: getRadioVal('q2'),
q3: getRadioVal('q3'),
q4: getRadioVal('q4'),
q5: getRadioVal('q5')
};
// ตรวจสอบว่าตอบครบหรือไม่
for (let key in answers) {
if (!answers[key]) {
alert('กรุณาตอบคำถามให้ครบทั้ง 5 ข้อครับ');
return;
}
}
document.getElementById('loading').style.display = 'block';
document.getElementById('result-container').style.display = 'none';
document.getElementById('result').innerText = '';
// System Prompt สำหรับ AI
const systemPrompt = `คุณคือผู้เชี่ยวชาญด้านจิตวิทยาการให้คำปรึกษาและการแนะแนวการศึกษาสำหรับนักเรียนมัธยมศึกษาตอนปลาย
หน้าที่ของคุณคือรับข้อมูลคำตอบจากการทำควิซ 5 มิติของนักเรียน แล้วประมวลผลเพื่อเขียนรายงานสรุปให้คำแนะนำที่สร้างแรงบันดาลใจ อ่านง่าย และนำไปใช้ได้จริง
โดยอาศัยหลักการ 1. ทฤษฎี RIASEC 2. ความสอดคล้องกับแผนการเรียน 3. แนวโน้มรายได้และตลาดแรงงาน 4. ธรรมชาติของเส้นทางอาชีพ 5. สมดุลชีวิตและหลักปรัชญาอิคิไก
กรุณาตอบกลับเป็นภาษาไทยที่สุภาพ เป็นกันเอง มีการจัดย่อหน้าและหัวข้อให้อ่านง่าย (Markdown) และช่วยแนะนำสายการเรียน/คณะที่เหมาะสมสัก 2-3 ทางเลือก พร้อมอาชีพตัวอย่างที่ตรงกับลักษณะของเขา`;
const userPrompt = `นี่คือคำตอบของนักเรียน:
1. การแก้ปัญหาและบุคลิกภาพ: ${answers.q1}
2. ความถนัดเชิงวิชาการที่ลื่นไหล: ${answers.q2}
3. ความคาดหวังด้านเศรษฐศาสตร์/รายได้: ${answers.q3}
4. ความพร้อมทนทานต่อเส้นทางอาชีพ: ${answers.q4}
5. เป้าหมายตามปรัชญาชีวิต/อิคิไก: ${answers.q5}
โปรดวิเคราะห์ตัวตนและแนะนำเส้นทางที่เหมาะสมให้แก่นักเรียนคนนี้ครับ`;
try {
const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=${apiKey}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
contents: [{
role: 'user',
parts: [
{ text: systemPrompt + "\n\n" + userPrompt }
]
}]
})
});
const data = await response.json();
if (data.error) {
alert('เกิดข้อผิดพลาดจาก API: ' + data.error.message);
document.getElementById('loading').style.display = 'none';
return;
}
const aiResponse = data.candidates.content.parts.text;
// แสดงผลลัพธ์
document.getElementById('result').innerHTML = formatMarkdownToHTML(aiResponse);
document.getElementById('loading').style.display = 'none';
document.getElementById('result-container').style.display = 'block';
} catch (error) {
alert('เกิดข้อผิดพลาดในการเชื่อมต่อ: ' + error.message);
document.getElementById('loading').style.display = 'none';
}
}
// ฟังก์ชันแปลง Markdown เบื้องต้นให้เป็น HTML เพื่อความสวยงาม
function formatMarkdownToHTML(text) {
let html = text.replace(/^### (.*$)/gim, '<h3>$1</h3>')
.replace(/^## (.*$)/gim, '<h2>$1</h2>')
.replace(/^# (.*$)/gim, '<h1>$1</h1>')
.replace(/\*\*(.*)\*\*/gim, '<strong>$1</strong>')
.replace(/\*(.*)\*/gim, '<em>$1</em>')
.replace(/^\* (.*$)/gim, '<ul><li>$1</li></ul>')
.replace(/<\/ul>\n<ul>/gim, '\n');
return html;
}
</script>
</body>
</html>
โค้ดนี้ได้ดึงเอาแก่นของการประเมินทางจิตวิทยาและแนวโน้มตลาดแรงงานมาตั้งเป็นคำถามเพื่อให้เด็กได้ฉุกคิดในมุมมองใหม่ๆ หากนักเรียนได้เห็นผลลัพธ์การวิเคราะห์ที่ครอบคลุมถึงสมดุลชีวิตและสิ่งที่โลกต้องการ น่าจะช่วยให้พวกเขาปรับทิศทางการเรียนของตนเองได้อย่างมีความสุขและยั่งยืนขึ้นครับ
ให้น่ารักกว่านี้น่าทำครับ ขอละเอียดกว่านี้หน่อย และสามารถตอบผลลัพะ์ได้จากคำตอบที่ได้จากบทความนี้เบื้องต้นก่อนโดยไม่ไม่ได้ใช้ ai ให้ ai เสริมขึ้นมาครับ
Gemini บอกว่า
ยินดีด้วยครับที่คุณครู/พี่แนะแนวมีความตั้งใจที่ดีมากๆ ในการช่วยให้นักเรียนค้นพบตัวเองได้เร็วขึ้น การออกแบบแบบทดสอบที่ครอบคลุมทั้ง 5 มิตินี้ (บุคลิกภาพ, ความถนัดรายวิชา, ผลตอบแทน, ความก้าวหน้า, และสมดุลชีวิต) จะช่วยให้นักเรียนเห็นภาพรวมของชีวิต ไม่ใช่แค่เรื่องเรียนอย่างเดียวครับ
ผมได้สร้าง Web Application แบบ One-Page HTML ตามที่คุณต้องการ โดยมีจุดเด่นดังนี้ครับ:
ดีไซน์น่ารัก เป็นมิตร: ใช้สีพาสเทล ฟอนต์อ่านง่าย เพื่อให้นักเรียนรู้สึกผ่อนคลาย ไม่เหมือนกำลังทำข้อสอบ
ระบบประมวลผลเบื้องต้น (Basic Logic): สามารถประเมินผลเบื้องต้นได้ทันทีจากคำตอบของนักเรียน โดยจัดกลุ่มอาชีพที่เหมาะสมให้โดยไม่ต้องใช้เน็ตหรือ AI
ระบบวิเคราะห์เชิงลึกด้วย AI (Gemini Integration): มีปุ่มฟันเฟืองสำหรับตั้งค่าใส่ API Key และส่งข้อมูลคำตอบทั้งหมดไปให้ Gemini วิเคราะห์ โดยมี System Prompt ที่ถูกตั้งค่าให้เป็น "พี่แนะแนวใจดี" คอยให้คำปรึกษาอย่างละเอียดและอบอุ่น
นี่คือไฟล์โค้ดที่คุณสามารถนำไปใช้งานได้เลยครับ:
สรุปการทำงานของระบบที่สร้างให้ครับ:
หน้าตา UI (User Interface): ออกแบบด้วยสีโทนชมพู-ม่วงพาสเทล ให้ความรู้สึกเหมือนเกมทดสอบจิตวิทยาวัยรุ่น ไม่เครียดเหมือนข้อสอบ
ตรรกะเบื้องต้น (Basic Logic): เมื่อนักเรียนตอบครบ 5 ข้อ ระบบจะใช้ระบบการนับคะแนน (Scoring System) จัดกลุ่มคำตอบออกเป็น 4 สาย (วิทยาศาสตร์, ศิลปะ, ธุรกิจ, บริการ/สุขภาพ) แล้วเลือกสายที่คะแนนสูงสุดมาแสดงผลทันที (ทำให้เห็นผลได้โดยไม่ต้องต่อเน็ตหรือ API)
การประยุกต์ใช้ AI: มีปุ่มด้านล่างผลลัพธ์ ให้เด็กกดหากต้องการข้อมูลเชิงลึก ระบบจะรวบรวมคำถามและ "คำตอบฉบับเต็ม" ส่งเข้า Gemini ผ่าน API โดยใช้ System Prompt ที่ตั้งไว้เป็น "พี่แนะแนว" ที่จะตอบกลับมาเป็นข้อๆ อย่างมีโครงสร้าง (สรุปตัวตน -> สายการเรียน -> อาชีพ -> การเตรียมตัว)
วิธีใช้งานสำหรับคุณครู:
นำโค้ดไปเปิดเป็นไฟล์
.htmlกดไอคอนรูปฟันเฟือง ⚙️ มุมขวาบน เพื่อนำ Google Gemini API Key ของคุณครูไปใส่ แล้วกดบันทึก
ให้นักเรียนลองเล่นได้เลยครับ หากนักเรียนกดปุ่ม AI ระบบจะดึงคำตอบของเด็กไปวิเคราะห์ให้สดๆ เลยครับ!
แบบนี้แหละครับ อยากได้สัก 25 ข้อ ด้านละ 5 ข้อ ให้ครบทุกด้าน แบบให้สะท้อนทิศทางได้ครับ
Gemini บอกว่า
ยอดเยี่ยมเลยครับ! การเพิ่มเป็น 25 ข้อ (ด้านละ 5 ข้อ) จะช่วยให้ผลลัพธ์มีความแม่นยำสูงขึ้นมาก ทั้งในแง่ของการประมวลผลด้วยตรรกะพื้นฐาน และให้ข้อมูลเชิงลึก (Context) กับ AI เพื่อวิเคราะห์ตัวตนของเด็กได้อย่างทะลุปรุโปร่งครับ
ผมได้อัปเกรดตัว Web Application ให้เป็น แบบทดสอบเจาะลึก 25 ข้อ โดยแบ่งคำถามให้ครอบคลุมทั้ง 5 มิติ มิติละ 5 ข้อ (บุคลิกภาพ, วิชาการ, เศรษฐศาสตร์, ความก้าวหน้า, และอิคิไก) พร้อมปรับปรุง UI ให้ยังคงความน่ารัก น่าเล่น และมี Progress Bar ที่ค่อยๆ เติมเต็มเพื่อไม่ให้เด็กรู้สึกเบื่อครับ
คุณครูสามารถก็อปปี้โค้ดด้านล่างนี้ไปบันทึกเป็นไฟล์ index.html แล้วใช้งานได้เลยครับ
การปรับปรุงที่สำคัญในเวอร์ชันนี้:
ชุดคำถาม 25 ข้อแบบ Full Scale: แบ่งชัดเจนด้านละ 5 ข้อ ไล่เรียงจากสถานการณ์วันหยุด (บุคลิก) ไปจนถึงวิกฤตโลกแตก (อิคิไก) เพื่อวัดตัวตนลึกถึงระดับจิตวิญญาณและมุมมองทางการเงิน
ระบบคิดเปอร์เซ็นต์ความถนัดเบื้องต้น: เมื่อนักเรียนทำเสร็จ ระบบ (ไม่ใช้เน็ต) จะสรุปเปอร์เซ็นต์ให้เลยว่า น้องมีความเป็นวิทย์/ศิลป์/ธุรกิจ/สังคม คิดเป็นกี่เปอร์เซ็นต์ ทำให้เห็นภาพว่าตนเองอาจจะถนัดผสมกันได้ (เช่น ธุรกิจ 40% + สร้างสรรค์ 40%)
ปรับแต่ง Prompt ของ AI: เมื่อส่งข้อมูลทั้ง 25 ข้อให้ Gemini ตัว Prompt ถูกกำกับให้ดึง "Pattern" เชื่อมโยงมิติต่างๆ เข้าหากัน เช่น "น้องชอบเรียนเลข (วิชาการ) แต่หวังรายได้มั่นคง ไม่ชอบเสี่ยง (เศรษฐศาสตร์) และชอบช่วยเหลือคน (บุคลิก) พี่ AI แนะนำให้ลองดูคณะบัญชีสาธารณะ หรือสถิติการแพทย์ เป็นต้น"
UI สวยงามลื่นไหล: มีการปรับปรุงหน้าตาให้เหมือนแอปพลิเคชันมือถือ มี Progress Bar ที่ค่อยๆ เลื่อน และมี Tag แสดงว่าตอนนี้กำลังตอบคำถามหมวดหมู่อะไรอยู่ครับ
ผมอยากนำ code นี้ไปสร้าง PWA ใน github.io ครับ สร้างไฟล์ manifest.json และ sw.js และมีไอคอนน่ารักๆ ด้วยนะครับ
Gemini บอกว่า
ไอเดียยอดเยี่ยมมากครับ! การทำเป็น PWA (Progressive Web App) จะทำให้นักเรียนสามารถกด "เพิ่มลงหน้าจอโฮม" (Add to Home Screen) ในมือถือ แล้วเปิดเล่นได้เหมือนแอปพลิเคชันจริงๆ โดยไม่ต้องพิมพ์ URL ใหม่ แถมยังมีไอคอนน่ารักๆ อยู่บนจอมือถือด้วยครับ
เพื่อเปลี่ยนเว็บให้เป็น PWA บน github.io เราจะต้องทำ 3 อย่างครับ:
อัปเดตไฟล์
index.html(เพิ่มโค้ดเรียก PWA และ Service Worker)สร้างไฟล์
manifest.json(กำหนดชื่อแอป โทนสี และไอคอน)สร้างไฟล์
sw.js(Service Worker สำหรับจัดการแคชให้โหลดไวขึ้น)สร้างไฟล์ไอคอน
icon.svg(ผมวาดไอคอนเข็มทิศน่ารักๆ สไตล์พาสเทลให้ด้วยครับ)
นี่คือไฟล์และโค้ดที่คุณครูสามารถนำไปสร้างในโฟลเดอร์เดียวกันบน GitHub ได้เลยครับ:
1. โค้ดที่ต้องอัปเดตในไฟล์ index.html
(ผมสรุปมาเฉพาะส่วนที่ต้องเพิ่มเข้าไปนะครับ ให้เติมตรง <head> และก่อนปิด </body>)
2. สร้างไฟล์ manifest.json (ตั้งค่าแอปพลิเคชัน)
สร้างไฟล์ชื่อ manifest.json ใน GitHub แล้วใส่โค้ดนี้ลงไปครับ
3. สร้างไฟล์ sw.js (Service Worker สำหรับแคชข้อมูล)
ไฟล์นี้จะช่วยให้เว็บโหลดเร็วขึ้นในการเข้าครั้งต่อไป และใช้งานผลวิเคราะห์เบื้องต้นได้แม้เน็ตจะหลุดชั่วคราว
4. สร้างไฟล์รูปภาพ icon.svg (ไอคอนของแอป)
ผมเขียนโค้ดวาดภาพเวกเตอร์ (SVG) เป็นรูปเข็มทิศดวงดาวสีชมพูน่ารักๆ ให้ครับ ภาพนี้จะคมชัดตลอดไม่ว่าจะไปแสดงบนจอมือถือเล็กหรือใหญ่
ขั้นตอนนำขึ้น GitHub:
อัปโหลดไฟล์ทั้งหมด 4 ไฟล์นี้ (
index.html,manifest.json,sw.js,icon.svg) ไว้ในโฟลเดอร์หลักของ Repositoryไปที่
Settings>Pagesแล้วเปิดใช้งาน GitHub Pagesเมื่อเปิดใช้งานผ่านมือถือ (เช่น Safari หรือ Chrome) จะมี Popup แนะนำให้กด "Add to Home Screen" หรือ "ติดตั้งแอป" ได้เลยครับ!
Gemini เป็น AI และอาจทำผิดพลาดได้