← 返回列表

AI Series Interview 12: Paano I-optimize ang Prompt?

Ang pag-optimize ng Prompt (Prompt Engineering / Optimization) ay isang mahalagang kasanayan upang maging "masunurin" ang malaking language model, lalo na sa RAG system, na direktang tumutukoy kung ang modelo ay tapat na ibabatay ang sagot sa retrieval content, iwasan ang hallucination, at sumunod sa output format.


I. Mga Pangunahing Prinsipyo ng Pag-optimize ng Prompt

  1. Maliwanag > Kumplikado: Ang simpleng direktang utos ay kadalasang mas epektibo kaysa sa magarbong chain-of-thought.
  2. Magbigay ng sapat na pagpigil: Sabihin nang malinaw sa modelo kung ano ang "maaari at hindi maaaring gawin".
  3. Magbigay ng halimbawa: Mas matatag ang Few-shot kaysa sa Zero-shot.
  4. Mapatunayan: Hilingin sa modelo na maglabas ng citation o confidence level para sa downstream judgment.
  5. Paulit-ulit na pag-optimize: Magsimula sa baseline, baguhin isang variable sa bawat pagsubok, at ihambing ang epekto.

II. Mga Tiyak na Teknik sa Pag-optimize (Mula Madali hanggang Mahirap)

1. Pagtatakda ng Papel (System Prompt)

Ikaw ay isang propesyonal na customer service assistant. Maaari mo lang sagutin ang mga tanong batay sa ibinigay na [Sanggunian].
Kung hindi mo alam ang sagot, sabihin nang diretso na "Walang kaugnayang impormasyon sa sanggunian", huwag gumawa ng sarili mong sagot.
  • Epekto: Nagtatakda ng hangganan at tono.
  • Punto ng pag-optimize: Tono (propesyonal/magiliw), antas ng pagpigil (mahigpit/maluwag).

2. Maliwanag na Utos

❌ Mahina: "Sagutin ang tanong ng user."
✅ Mabuti: "Batay lang sa [Sanggunian] sa ibaba. Kung hindi kasama ang sagot sa sanggunian, sabihin 'Hindi ko masagot ang tanong na ito'."

3. Kontrol sa Format ng Output

Mangyaring mag-output ayon sa sumusunod na JSON format:
{
  "answer": "Iyong sagot",
  "confidence": "Mataas/Katamtaman/Mababa",
  "sources": [1, 3]
}
  • Gamit: Para sa downstream parsing, citation, debugging.

4. Few-shot Halimbawa (Napakaepektibo)

Halimbawa 1:
Tanong: Ilang araw ang annual leave?
Sanggunian: Patakaran sa Annual Leave: 5 araw para sa 1 taon, 10 araw para sa 10 taon.
Sagot: 5 araw para sa 1 taon, 10 araw para sa 10 taon.

Halimbawa 2:
Tanong: Paano kalkulahin ang overtime pay?
Sanggunian: Overtime sa weekdays 1.5 beses, weekend 2 beses.
Sagot: 1.5 beses sa weekdays, 2 beses sa weekend.

Ngayon sagutin:
Tanong: {tanong ng user}
Sanggunian: {na-retrieve na content}
Sagot:
  • Tip: Ang mga halimbawa ay dapat sumaklaw sa iba't ibang kahirapan, mas mainam na magsama ng halimbawa ng "hindi masagot".

5. Sapilitang Pagsipi

Sa dulo ng sagot, markahan ang source number gamit ang [citation:X]. Halimbawa: "Ang annual leave ay 5 araw[citation:1]."
Kung pinagsama-sama ang maraming source, markahan ang bawat isa.

6. Pagtatakda ng Threshold sa Pagtanggi

  • Matigas na pagpigil: "Kung ang sanggunian ay walang kaugnayan sa tanong, sabihin 'Hindi kaugnay ang sanggunian'."
  • Malambot na pagpigil: Pagsamahin ang retrieval confidence score, awtomatikong pumunta sa rejection branch kapag mas mababa sa threshold.

7. Chain-of-Thought para sa Multi-hop Reasoning

Tanong: Sino ang boss ni Zhang San?
Hakbang: 1. Hanapin ang department ni Zhang San. 2. Hanapin ang department head. 3. Ibigay ang final answer.
Mangyaring mag-isip ayon sa mga hakbang bago mag-output.

8. Negatibong Utos (Negative Prompting)

Huwag gumawa ng sagot. Huwag gumamit ng malabong salita tulad ng "maaari", "siguro". Huwag mag-output ng anumang numero na wala sa sanggunian.

III. Paano Susuriin ang Kahusayan ng Prompt?

Sukatan Kahulugan Paano Sukatin
Katapatan Ang sagot ba ay mahigpit na batay sa sanggunian? Mano-mano o RAGAS Faithfulness
Katumpakan ng Pagtanggi Tama bang tumanggi kapag dapat? Sa test set na walang sagot
Pagsunod sa Format Sumusunod ba sa JSON/citation? Regex matching
Kasiyahan ng User Kapaki-pakinabang ba ang sagot? Online feedback / A/B test

Mungkahi: Maghanda ng maliit na test set (20-50 edge cases), patakbuhin ito sa bawat pagbabago ng prompt, at itala ang mga pagbabago.

IV. Mga Karaniwang Pitfall at Direksyon ng Pag-optimize

Problema Posibleng Dahilan Paraan ng Pag-optimize
Hindi pinapansin ang sanggunian, nagbibigay ng sariling sagot Hindi sapat na matibay ang utos Palitan ng "Batay lang sa sumusunod na data", at gumamit ng few-shot na nagpapakita ng pagtanggi
Lagi sinasabi "hindi alam" Masyadong mataas ang rejection threshold Ibaba ang threshold o suriin ang kalidad ng retrieval
Magulo ang output format, hindi JSON Hindi malinaw ang utos Magdagdag ng mahigpit na format sample, o gumamit ng function calling
Masyadong mahaba/maikli ang sagot Walang tinukoy na haba "Sagutin gamit ang hindi hihigit sa 3 pangungusap"
Mali ang multi-hop reasoning Hindi sapat ang reasoning capability ng modelo Hilingin ang step-by-step reasoning, o gumamit ng mas malakas na modelo
Lumalabas ang hallucinated na numero/petsa Umaasa ang modelo sa sariling kaalaman Bigyang-diin na "Huwag gumamit ng anumang numerong naaalala mo, tingnan lang ang sanggunian"

评论

暂无已展示的评论。

发表评论(匿名)