คำสั่งกำหนดเอง
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
- คำสั่งระบบพื้นฐาน -- กำหนดบุคลิกของผู้ช่วย ไม่สามารถเปลี่ยนแปลงได้
- ด้านการเรียนรู้ที่มุ่งเป้า -- เติมหน้าด้วย
Relevant Fields: [medicine / law / computer science / ...]เพื่อจำกัดขอบเขต นี่เป็นตัวเลือกการตั้งค่า ไม่ใช่คำสั่งดิบ - คำสั่งงานกำหนดเอง -- แทนที่คำสั่งงานมาตรฐาน (เช่น จะดึงข้อมูลแนวคิดประเภทใด จะเชื่อมโยงอย่างเข้มข้นเพียงใด)
- รูปแบบผลลัพธ์ -- กฎเกณฑ์โครงสร้าง (บรรทัด
CONCEPT:รูปแบบลิงก์ wiki) จะถูกเติมเสมอโดย Notemd เพื่อให้สามารถแปลงข้อมูลได้ - เนื้อหา -- ข้อความบันทึกจริง ซึ่งจะถูกแทนที่ในขณะที่ระบบทำงานผ่าน
{{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 | '' | เติมบริบทของสาขาวิชาไว้ท้ายพรอมป์การดึงข้อมูลและการเชื่อมโยง |
extractConceptsMinimalTemplate | true | ใช้แม่แบบบันทึกแนวคิดที่มีเพียงชื่อเรื่อง (ส่งผลต่อขอบเขตของแม่แบบ {{concept}}) |
customConceptNoteTemplate | '' | เปลี่ยนแม่แบบไฟล์บันทึกแนวคิดให้รองรับตัวแปรได้อย่างเต็มที่ |
เมื่อช่องพรอมป์แบบกำหนดเองว่าง จะใช้พรอมป์ค่าเริ่มต้นที่มีอยู่ในตัวโปรแกรม
Example
คุณเป็นนักวิจัยทางการแพทย์ที่กำลังดึงแนวคิดจากบันทึกการทดลองทางคลินิก พรอมป์ค่าเริ่มต้นจะดึงคำนามทั่วไปมาพร้อมกับคำศัพท์ทางการแพทย์ ซึ่งทำให้โฟลเดอร์แนวคิดของคุณรก
วิธีแก้ไข: ตั้งค่าด้านการเรียนรู้ที่มุ่งเน้นและพรอมป์การดึงข้อมูลแบบกำหนดเอง
- ตั้งค่า
focusedLearningDomainเป็นmedicine - ตั้งค่า
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 แบบกำหนดเองสร้างผลลัพธ์ที่ไม่คาดคิด