Skip to main content

คำสั่งกำหนดเอง

💡TL;DR

Notemd ช่วยให้คุณสามารถเปลี่ยนคำสั่งกำหนดเอง LLM มาตรฐานสำหรับแต่ละประเภทของงานได้ คำสั่งกำหนดเองช่วยให้คุณควบคุมสิ่งที่โมเดลควรให้ความสำคัญ: คุณสามารถจำกัดการดึงข้อมูลแนวคิดให้อยู่ในสาขาเฉพาะ ปรับเปลี่ยนรูปแบบการเชื่อมโยง หรือเปลี่ยนโทนการแปลได้ ตัวแปรคำสั่งเช่น {{content}} และ {{concept}} จะถูกแทนที่ในขณะที่ระบบทำงาน ฟีเจอร์ด้านการเรียนรู้ที่มุ่งเป้าจะเติมหน้าด้วยสาขาการศึกษาของคุณเพื่อจำกัดผลลัพธ์การดึงข้อมูลโดยอัตโนมัติ

นี่เป็นส่วนหนึ่งของ Obsidian คู่มือการจัดการความรู้ด้วย AI

ภาพรวม

คำสั่งกำหนดเองที่มีมาในตัวของ Notemd ถูกเขียนขึ้นสำหรับงานด้านความรู้ทั่วไป คำสั่งเหล่านี้ทำงานได้ดีในหลายสาขา แต่ก็ยังมีพื้นที่สำหรับการปรับปรุงให้เหมาะกับสาขาเฉพาะอีกด้วย คำสั่งกำหนดเองช่วยให้คุณบอก LLM ได้อย่างชัดเจนว่าควรทำงานอย่างไรสำหรับกรณีการใช้งานของคุณ -- ไม่ว่าจะเป็นการดึงเฉพาะศัพท์ทางการแพทย์ การเชื่อมโยงเฉพาะองค์ประกอบที่มีชื่อ หรือการแปลในรูปแบบที่เป็นทางการ

คำสั่งกำหนดเองไม่ได้แทนที่คำสั่งระบบทั้งหมด คำสั่งเหล่านี้จะเปลี่ยนแปลงหรือเสริม ส่วนคำสั่งเฉพาะงาน โดยยังคงรักษารูปแบบผลลัพธ์โครงสร้าง (เช่น บรรทัด CONCEPT: รูปแบบลิงก์ wiki) ที่ Notemd ใช้ในการแปลงข้อมูลไว้

หลักการทำงาน

สถาปัตยกรรมคำสั่ง

ทุกงาน Notemd จะใช้โครงสร้างคำสั่งเดียวกัน ได้แก่

[System role: You are a helpful assistant...]
[Domain constraint: Relevant Fields: [{domain}]] <-- focused learning (optional)
[Custom task prompt] <-- your override (optional)
[Output format instructions] <-- always preserved
[Content: {{content}}] <-- runtime substitution
  1. คำสั่งระบบพื้นฐาน -- กำหนดบุคลิกของผู้ช่วย ไม่สามารถเปลี่ยนแปลงได้
  2. ด้านการเรียนรู้ที่มุ่งเป้า -- เติมหน้าด้วย Relevant Fields: [medicine / law / computer science / ...] เพื่อจำกัดขอบเขต นี่เป็นตัวเลือกการตั้งค่า ไม่ใช่คำสั่งดิบ
  3. คำสั่งงานกำหนดเอง -- แทนที่คำสั่งงานมาตรฐาน (เช่น จะดึงข้อมูลแนวคิดประเภทใด จะเชื่อมโยงอย่างเข้มข้นเพียงใด)
  4. รูปแบบผลลัพธ์ -- กฎเกณฑ์โครงสร้าง (บรรทัด CONCEPT: รูปแบบลิงก์ wiki) จะถูกเติมเสมอโดย Notemd เพื่อให้สามารถแปลงข้อมูลได้
  5. เนื้อหา -- ข้อความบันทึกจริง ซึ่งจะถูกแทนที่ในขณะที่ระบบทำงานผ่าน {{content}}

ตัวแปรคำสั่ง

ตัวแปรจะถูกแทนที่ในขณะที่ระบบทำงาน ตัวแปรที่มีอยู่จะแตกต่างกันไปตามแต่ละงาน:

Variableงานถูกแทนที่ด้วย
{{content}}ทั้งหมดข้อความบันทึกหรือข้อความที่เลือก
{{concept}}แบบฟอร์มบันทึกแนวคิดชื่อแนวคิดที่ถูกดึงออกมา
{{description}}แบบฟอร์มบันทึกแนวคิดคำอธิบายแนวคิดที่สร้างขึ้นโดย LLM
{{backlinks}}แบบฟอร์มบันทึกแนวคิดรายการบันทึกต้นทางพร้อมลิงก์
{{date}}แบบฟอร์มบันทึกแนวคิดวันที่ปัจจุบัน (YYYY-MM-DD)
{{language}}การแปลภาษาผลลัพธ์ที่ต้องการ
{{source}}แบบฟอร์มบันทึกแนวคิดชื่อไฟล์บันทึกต้นทาง

ด้านการเรียนรู้ที่มุ่งเน้น

ฟีเจอร์การเรียนรู้ที่มุ่งเน้นคือวิธีย่อสำหรับการกำหนดขอบเขตด้าน แทนที่จะเขียนพรอมป์แบบกำหนดเองที่ระบุสาขาของคุณ คุณสามารถตั้งค่า focusedLearningDomain ในการตั้งค่าได้:

Settings → Advanced → Focused Learning Domain
Example: "medicine" or "computer science" or "Chinese philosophy"

วิธีนี้จะเติม Relevant Fields: [medicine] ไว้ท้ายพรอมป์การดึงข้อมูล ทำให้ LLM ให้ความสำคัญกับแนวคิดที่เกี่ยวข้องกับด้านนั้นมากขึ้นและลดการแสดงผลแนวคิดทั่วไป วิธีนี้มีน้ำหนักเบากว่าพรอมป์แบบกำหนดเองที่สมบูรณ์และสามารถใช้งานได้กับงานดึงข้อมูลทุกประเภท

การตั้งค่า

การกำหนดค่าค่าเริ่มต้นผลกระทบ
customAddLinksPrompt''เปลี่ยนพรอมป์งาน add-links ตามค่าเริ่มต้น
customExtractConceptsPrompt''เปลี่ยนพรอมป์การดึงแนวคิดตามค่าเริ่มต้น
customResearchPrompt''เปลี่ยนพรอมป์การค้นคว้าและสรุปข้อมูลตามค่าเริ่มต้น
customTranslatePrompt''เปลี่ยนพรอมป์การแปลตามค่าเริ่มต้น
customDiagramPrompt''เปลี่ยนพรอมป์การสร้างแผนภาพตามค่าเริ่มต้น
focusedLearningDomain''เติมบริบทของสาขาวิชาไว้ท้ายพรอมป์การดึงข้อมูลและการเชื่อมโยง
extractConceptsMinimalTemplatetrueใช้แม่แบบบันทึกแนวคิดที่มีเพียงชื่อเรื่อง (ส่งผลต่อขอบเขตของแม่แบบ {{concept}})
customConceptNoteTemplate''เปลี่ยนแม่แบบไฟล์บันทึกแนวคิดให้รองรับตัวแปรได้อย่างเต็มที่

เมื่อช่องพรอมป์แบบกำหนดเองว่าง จะใช้พรอมป์ค่าเริ่มต้นที่มีอยู่ในตัวโปรแกรม

Example

คุณเป็นนักวิจัยทางการแพทย์ที่กำลังดึงแนวคิดจากบันทึกการทดลองทางคลินิก พรอมป์ค่าเริ่มต้นจะดึงคำนามทั่วไปมาพร้อมกับคำศัพท์ทางการแพทย์ ซึ่งทำให้โฟลเดอร์แนวคิดของคุณรก

วิธีแก้ไข: ตั้งค่าด้านการเรียนรู้ที่มุ่งเน้นและพรอมป์การดึงข้อมูลแบบกำหนดเอง

  1. ตั้งค่า focusedLearningDomain เป็น medicine
  2. ตั้งค่า customExtractConceptsPrompt เป็น:
Extract only clinically relevant concepts: diseases, drug names,
anatomical terms, measurement endpoints, and statistical methods.
Ignore generic English nouns, brand names, and institutional names.
Prioritize MeSH terminology where applicable.

เมื่อคุณรันคำสั่ง "Extract concepts" บนบันทึกทางการแพทย์ ตัว LLM จะสร้างผลลัพธ์ดังนี้:

CONCEPT: Randomized Controlled Trial
CONCEPT: Double-Blind Method
CONCEPT: Myocardial Infarction
CONCEPT: Creatine Kinase-MB
CONCEPT: Kaplan-Meier Estimate

แทนที่จะใช้พฤติกรรมเริ่มต้นซึ่งอาจดึงคำทั่วไปที่ไม่ต้องการ เช่น "hospital" หรือ "month" ออกมาด้วย.

เคล็ดลับ

  • เริ่มต้นด้วยขอบเขตการเรียนรู้ที่เฉพาะเจาะจง ก่อนที่จะเขียน prompt แบบกำหนดเองทั้งหมด วิธีนี้สามารถครอบคลุมกรณีการใช้งานได้ 80% ด้วยการตั้งค่าเพียงอย่างเดียว.
  • รักษารูปแบบผลลัพธ์ไว้ -- อย่าลบคำสั่งเกี่ยวกับรูปแบบ เช่น "one per line" หรือ "CONCEPT: prefix" ออกจาก prompt แบบกำหนดเองเด็ดขาด เพราะตัว parser ของ Notemd ต้องพึ่งพาคำสั่งเหล่านี้.
  • ทดสอบกับบันทึกเพียงฉบับเดียวก่อน -- Prompt แบบกำหนดเองอาจส่งผลต่อความกว้างของการดึงข้อมูลในแบบที่ไม่คาดคิด ควรตรวจสอบกับบันทึกหนึ่งฉบับก่อนทำการประมวลผลแบบจำนวนมาก.
  • ทำให้ prompt มีความกระชับ -- Prompt แบบกำหนดเองที่ยาวเกินไปจะใช้ token มากเกินไปและอาจทำให้โมเดลสูญเสียความเฉพาะเจาะจง.

ขั้นตอนต่อไป

  • Wiki-Links -- สิ่งที่จะถูกเชื่อมโยงเมื่อคุณปรับแต่ง prompt add-links
  • Concept Notes -- แบบฟอร์มบันทึกแนวคิดและตัวแปร {{concept}}
  • Batch Processing -- การนำ prompt แบบกำหนดเองไปใช้กับโฟลเดอร์ทั้งหมด
  • Troubleshooting -- วิธีแก้ไขปัญหาที่ prompt แบบกำหนดเองสร้างผลลัพธ์ที่ไม่คาดคิด