ການຂຽນ Prompt ຂັ້ນສູງ: ເຕັກນິກ Few-Shot ແລະ Chain-of-Thought ເພື່ອແກ້ໄຂບັນຫາທີ່ຊັບຊ້ອນ
ການຂຽນ Prompt ຂັ້ນສູງ: ເຕັກນິກ Few-Shot ແລະ Chain-of-Thought ເພື່ອແກ້ໄຂບັນຫາທີ່ຊັບຊ້ອນ
ໃນຍຸກທີ່ AI ເຂົ້າມາມີບົດບາດສຳຄັນໃນການເຮັດວຽກປະຈຳວັນຂອງເຮົາ, ການສັ່ງງານໃຫ້ AI (Prompting) ໃຫ້ໄດ້ຜົນໄດ້ກາຍເປັນທັກສະທີ່ສຳຄັນ. ສຳລັບວຽກທົ່ວໄປເຊັ່ນ: ການຂຽນອີເມວ ຫຼື ການສະຫຼຸບຂ່າວ, ການຂຽນຄຳສັ່ງແບບງ່າຍໆ (Zero-Shot) ອາດຈະພຽງພໍ. ແຕ່ຖ້າທ່ານກຳລັງສ້າງແອັບພລິເຄຊັນສຳລັບທຸລະກິດໃນລາວ ເຊັ່ນ: ລະບົບຄຳນວນຕົ້ນທຶນການຂົນສົ່ງກາເຟຈາກເມືອງປາກຊ່ອງ, ຫຼື ລະບົບວິເຄາະຂໍ້ມູນການຂາຍຂອງຮ້ານສະດວກຊື້ໃນນະຄອນຫຼວງວຽງຈັນ ທີ່ຕ້ອງອາໄສຕັກກະສາດທີ່ຊັບຊ້ອນ (Logic) ແລະ ການຄິດໄລ່ທາງຄະນິດສາດ, AI ມັກຈະໃຫ້ຄຳຕອບທີ່ຜິດພາດ.
ໃນບົດຄວາມນີ້, ເຮົາຈະມາເຈາະເລິກວິທີການທາງເຕັກນິກລະດັບປານກາງ (Intermediate) ສອງເຕັກນິກ ນັ້ນກໍຄື Few-Shot Prompting ແລະ Chain-of-Thought (CoT) ເຊິ່ງຈະຊ່ວຍເພີ່ມຄວາມແມ້ນຢຳໃຫ້ລະບົບ AI ຂອງທ່ານໄດ້ຢ່າງມະຫາສານ.
Few-Shot Prompting ແມ່່ນຫຍັງ?
ເວົ້າລວມແລ້ວ, Few-Shot Prompting ແມ່ນການໃຫ້ “ຕົວຢ່າງ” ແກ່ AI ຈຳນວນໜຶ່ງ (Few shots) ກ່ອນທີ່ເຮົາຈະຖາມຄຳຖາມຈິງ. ແທນທີ່ຈະໃຫ້ AI ເດົາຮູບແບບເອງ, ເຮົາຈະສ້າງແບບແຜນ (Pattern) ໃຫ້ມັນເບິ່ງກ່ອນ. ສິ່ງນີ້ມີປະໂຫຍດຫຼາຍໂດຍສະເພາະກັບພາສາລາວ ເຊິ່ງບາງຄັ້ງ AI ຍັງບໍ່ເຂົ້າໃຈບໍລິບົດການຈຳແນກປະເພດຂໍ້ມູນໄດ້ດີພໍ.
ຕົວຢ່າງການນຳໃຊ້ Few-Shot ກັບບໍລິບົດລາວ
ສົມມຸດເຮົາກຳລັງສ້າງ AI ເພື່ອວິເຄາະຄວາມຮູ້ສຶກ (Sentiment Analysis) ຂອງລູກຄ້າທີ່ມາຮີວິວຮ້ານອາຫານໃນວຽງຈັນ.
Prompt ທີ່ເຮົາຈະສົ່ງໃຫ້ AI:
ຈົ່ງຈັດປະເພດຄວາມຮູ້ສຶກຂອງຂໍ້ຄວາມຕໍ່ໄປນີ້ ວ່າເປັນ "ທາງບວກ", "ທາງລົບ" ຫຼື "ເປັນກາງ":
ຂໍ້ຄວາມ: "ຕຳໝາກຫຸ່ງຮ້ານນີ້ແຊບຫຼາຍ! ປາແດກນົວສຸດໆ ຕ້ອງກັບມາກິນອີກແນ່ນອນ."
ຄວາມຮູ້ສຶກ: ທາງບວກ
ຂໍ້ຄວາມ: "ລໍຖ້າອາຫານດົນຫຼາຍ, ພະນັກງານກໍບໍລິການບໍ່ຄ່ອຍດີ ເວົ້າຈາບໍ່ມ່ວນ."
ຄວາມຮູ້ສຶກ: ທາງລົບ
ຂໍ້ຄວາມ: "ມື້ນີ້ເຮົາສັ່ງເຝີຊາມໃຫຍ່ຢູ່ຮ້ານແຖວສີຫອມ ຊີ້ນໃຫ້ໜ້ອຍຫຼາຍ ຜິດຫວັງແຮງ."
ຄວາມຮູ້ສຶກ:
ການໃຫ້ຕົວຢ່າງແບບນີ້ ຈະເຮັດໃຫ້ AI ຈັບຈຸດໄດ້ວ່າ ຕ້ອງການຄຳຕອບສັ້ນໆພຽງແຕ່ປະເພດຄວາມຮູ້ສຶກເທົ່ານັ້ນ, ເຊິ່ງເຮັດໃຫ້ເຮົາສາມາດເອົາຜົນຮັບໄປຂຽນໂຄ້ດຕໍ່ໃນລະບົບ Database ໄດ້ງ່າຍຂຶ້ນ.
Chain-of-Thought (CoT) ເທັກນິກການຄິດແບບເປັນຂັ້ນຕອນ
Chain-of-Thought (CoT) ແມ່ນເຕັກນິກທີ່ບັງຄັບໃຫ້ AI “ອະທິບາຍແນວຄວາມຄິດແບບເປັນຂັ້ນເປັນຕອນ” ກ່ອນທີ່ຈະສະແດງຄຳຕອບສຸດທ້າຍ. ຄ້າຍຄືກັບການທີ່ຄູສອນນັກຮຽນໃຫ້ສະແດງວິທີແກ້ເລກໃນເຈ້ຍສອບເສັງ. ເມື່ອ AI ໄດ້ສ້າງຂໍ້ຄວາມແຕ່ລະຂັ້ນຕອນອອກມາ, ມັນຈະຊ່ວຍລຸດໂອກາດທີ່ມັນຈະຄິດໄລ່ລັດຂັ້ນຕອນແລ້ວຂ້າມໄປສູ່ຄຳຕອບທີ່ຜິດ.
ຕົວຢ່າງການນຳໃຊ້ CoT ໃນການຄິດໄລ່ຄ່າຂົນສົ່ງ
ຖ້າເຮົາຖາມ AI ກົງໆໃຫ້ຄິດໄລ່ຄ່າຂົນສົ່ງທີ່ຊັບຊ້ອນ ມັນອາດຈະຜິດພາດ. ເຮົາສາມາດໃຊ້ເຕັກນິກບັງຄັບໃຫ້ມັນຄິດເປັນຂັ້ນຕອນ (Let’s think step by step).
Prompt:
ຄຳຖາມ: ພໍ່ຄ້າຢູ່ປາກຊ່ອງຕ້ອງການສົ່ງກາເຟ 15 ກິໂລກຣາມ ລົງມາວຽງຈັນ. ບໍລິສັດຂົນສົ່ງມີເງື່ອນໄຂດັ່ງນີ້: ຄ່າສົ່ງພື້ນຖານແມ່ນ 20,000 ກີບ ສຳລັບ 5 ກິໂລທຳອິດ. ສ່ວນນ້ຳໜັກທີ່ເກີນມາແຕ່ລະກິໂລ ຈະຄິດໄລ່ເພີ່ມ 3,000 ກີບຕໍ່ກິໂລ. ລາວຈະຕ້ອງຈ່າຍຄ່າສົ່ງທັງໝົດເທົ່າໃດ?
ຈົ່ງແກ້ໄຂບັນຫານີ້ໂດຍການຄິດແບບເປັນຂັ້ນເປັນຕອນ (Let's think step by step):
AI ຈະສ້າງຜົນຮັບທີ່ອະທິບາຍການຄິດໄລ່: ຊອກຫານ້ຳໜັກທີ່ເກີນ (15 - 5 = 10 ກິໂລ), ຄິດໄລ່ຄ່າປັບເພີ່ມ (10 * 3,000 = 30,000 ກີບ), ແລະ ລວມຍອດ (20,000 + 30,000 = 50,000 ກີບ).
ການລວມຕົວຂອງ Few-Shot ແລະ Chain-of-Thought (Few-Shot CoT) ສຳລັບນັກພັດທະນາ
ສຳລັບນັກພັດທະນາ (Developers) ທີ່ຕ້ອງການເຊື່ອມຕໍ່ API ເຊັ່ນ OpenAI ຫຼື ລຸ້ນອື່ນໆ ເຂົ້າໃນແອັບພລິເຄຊັນ, ເຮົາສາມາດນຳທາງ AI ໂດຍການໃຫ້ “ຕົວຢ່າງທີ່ມີການອະທິບາຍຂັ້ນຕອນ” ໄປພ້ອມເລີຍ. ສິ່ງນີ້ເອີ້ນວ່າ Few-Shot Chain-of-Thought.
ລອງເບິ່ງຕົວຢ່າງການຂຽນໂຄ້ດດ້ວຍ Python ທີ່ຮຽກໃຊ້ OpenAI API ເພື່ອແກ້ໄຂບັນຫາທາງຕັກກະສາດການຜະລິດ:
import os
import openai
openai.api_key = os.getenv("OPENAI_API_KEY")
prompt_text = """
Q: ຖ້າຮ້ານຂາຍເຂົ້າຈີ່ປາເຕ້ຢູ່ວຽງຈັນ ຂາຍໄດ້ 50 ກ້ອນໃນວັນຈັນ, ແລະ ແຕ່ລະມື້ຕໍ່ມາຂາຍໄດ້ເພີ່ມຂຶ້ນ 10 ກ້ອນທຸກມື້. ໃນວັນພະຫັດ ຮ້ານຈະຂາຍໄດ້ທັງໝົດຈັກກ້ອນສຳລັບມື້ນັ້ນ?
A: ວັນຈັນຂາຍໄດ້ 50 ກ້ອນ.
ວັນອັງຄານຂາຍໄດ້ 50 + 10 = 60 ກ້ອນ.
ວັນພຸດຂາຍໄດ້ 60 + 10 = 70 ກ້ອນ.
ວັນພະຫັດຂາຍໄດ້ 70 + 10 = 80 ກ້ອນ.
ດັ່ງນັ້ນ ຄຳຕອບແມ່ນ 80 ກ້ອນ.
Q: ຊາວກະສິກອນປູກເຂົ້າຢູ່ຈຳປາສັກ ມື້ທຳອິດກ່ຽວເຂົ້າໄດ້ 120 ເປົາ, ມື້ທີສອງກ່ຽວໄດ້ໜ້ອຍກວ່າມື້ທຳອິດ 20 ເປົາ, ແລະ ມື້ທີສາມກ່ຽວໄດ້ເທົ່າກັບເຄິ່ງໜຶ່ງຂອງມື້ທີສອງ. ລວມສາມມື້ລາວກ່ຽວເຂົ້າໄດ້ທັງໝົດຈັກເປົາ?
A:
"""
response = openai.chat.completions.create(
model="gpt-4",
messages=[
{
"role": "system",
"content": "ເຈົ້າແມ່ນຜູ້ຊ່ວຍ AI ທີ່ເກັ່ງດ້ານການຄິດໄລ່ທາງຄະນິດສາດ ແລະ ການວິເຄາະຕັກກະສາດ. ຈົ່ງສະແດງວິທີຄິດໄລ່ຢ່າງລະອຽດກ່ອນໃຫ້ຄຳຕອບ."
},
{
"role": "user",
"content": prompt_text
}
],
temperature=0.2 # ຕັ້ງຄ່າຄວາມຄິດສ້າງສັນໃຫ້ຕ່ຳ ເພື່ອເນັ້ນຄວາມຖືກຕ້ອງທາງຕັກກະສາດ
)
print(response.choices[0].message.content)
ໃນໂຄ້ດຂ້າງເທິງ, ເຮົາໄດ້ໃຫ້ຕົວຢ່າງໜຶ່ງ (Few-shot) ທີ່ສະແດງການຄິດໄລ່ແບບເປັນຂັ້ນຕອນ (CoT) ໄປແລ້ວ ເຮັດໃຫ້ Model ສາມາດຮຽນແບບວິທີຄິດເພື່ອແກ້ໄຂໂຈດທີ່ສອງໄດ້ຢ່າງຖືກຕ້ອງຊັດເຈນ.
Key Takeaways (ສິ່ງສຳຄັນທີ່ຄວນຈື່)
- Few-Shot Prompting: ໃຊ້ເພື່ອດັດປັບຮູບແບບຄຳຕອບຂອງ AI ໃຫ້ກົງກັບທີ່ເຮົາຕ້ອງການ ໂດຍການໃຫ້ຕົວຢ່າງ (1-5 ຕົວຢ່າງມັກຈະພຽງພໍ).
- Chain-of-Thought (CoT): ໃຊ້ເມື່ອ AI ຕ້ອງແກ້ໄຂບັນຫາທີ່ກ່ຽວຂ້ອງກັບຄະນິດສາດ ຫຼື ເຫດຜົນທາງຕັກກະສາດ ໂດຍການສັ່ງໃຫ້ມັນ “ຄິດແບບເປັນຂັ້ນເປັນຕອນ”.
- Few-Shot + CoT: ການປະສົມປະສານສອງຢ່າງເຂົ້າກັນ ຈະໄດ້ຜົນດີທີ່ສຸດສຳລັບວຽກອັດຕະໂນມັດ (Automated tasks) ຜ່ານ API ທີ່ມີຄວາມຊັບຊ້ອນສູງ.
- Temperature Control: ເວລາພັດທະນາແອັບທີ່ໃຊ້ Logic ມາດຖານ, ຢ່າລືມຕັ້ງຄ່າ
temperatureໃຫ້ຂ້ອນຂ້າງຕ່ຳ (ປະມານ 0.0 ຫາ 0.3) ເພື່ອຮັບປະກັນວ່າ AI ຈະບໍ່ເພີ້ຝັນໄປເອງ.
ການເຂົ້າໃຈເຕັກນິກເຫຼົ່ານີ້ ຈະຊ່ວຍໃຫ້ນັກພັດທະນາ ແລະ ເຈົ້າຂອງທຸລະກິດໃນລາວ ສາມາດປະຍຸກໃຊ້ AI ໃຫ້ເກີດປະໂຫຍດສູງສຸດ. ບໍ່ວ່າຈະເປັນການສ້າງ Chatbot ຊ່ວຍຮັບປີ້ອໍເດີ (Order) ຈາກລູກຄ້າຜ່ານ WhatsApp, ຫຼື ລະບົບຊ່ວຍຄຳນວນສະຕັອກສິນຄ້າ ກໍ່ລ້ວນແລ້ວແຕ່ຮຽກຮ້ອງໃຫ້ AI ມີຄວາມຊັດເຈນທາງຕັກກະສາດ. ການນຳໃຊ້ Few-Shot ແລະ Chain-of-Thought ຄືກຸນແຈສຳຄັນທີ່ຈະປ່ຽນ AI ຈາກລະບົບຖາມ-ຕອບທຳມະດາ ໃຫ້ກາຍເປັນເຄື່ອງມືແກ້ໄຂບັນຫາທຸລະກິດທີ່ໜ້າເຊື່ອຖືໄດ້ຢ່າງແທ້ຈິງ. ພະຍາຍາມທົດລອງຂຽນ Prompt ໃນຮູບແບບຕ່າງໆ ແລ້ວທ່ານຈະເຫັນເຖິງການປ່ຽນແປງຂອງໝາກຜົນຢ່າງແນ່ນອນ.