Sessions: Your AI Never Forgets a Conversation
Personality & SOUL.md — Give AI a Character — easy-to-understand guide based on official docs
เซสชัน: AI ของคุณจะไม่มีวันลืมบทสนทนา
เคยปิดหน้าต่างแชทแล้วเสียบทสนทนาทั้งหมดไปไหม? กับ Hermes Agent สิ่งนั้นจะกลายเป็นอดีตไปแล้ว ทุกบทสนทนา—ไม่ว่าคุณจะคุยผ่าน CLI, Telegram, Discord, Slack, WhatsApp หรือแพลตฟอร์มอื่นใด—จะถูกบันทึกเป็นเซสชันโดยอัตโนมัติ ลองนึกถึงมันว่าเป็นประวัติการแชทพลังสูงที่คุณสามารถค้นหา กลับมาคุยต่อ และจัดการได้
เซสชันทำงานอย่างไร
เบื้องหลัง Hermes เก็บทุกอย่างไว้ในฐานข้อมูล SQLite ที่ ~/.hermes/state.db นี่ไม่ใช่แค่บันทึกง่ายๆ—แต่มันคือบันทึกฉบับเต็มที่ประกอบด้วย:
- ID เซสชันและแพลตฟอร์มต้นทาง (ว่าบทสนทนาเกิดขึ้นที่ไหน)
- ชื่อที่อ่านง่ายและไม่ซ้ำกัน เพื่อให้จดจำได้ง่าย
- การตั้งค่าโมเดล และสแนปช็อตของระบบพรอมพ์
- ประวัติข้อความทั้งหมด (รวมถึงการเรียกใช้เครื่องมือและผลลัพธ์)
- จำนวนโทเค็น และ timestamp
- ID เซสชันหลัก (สำหรับกรณีที่บทสนทนายาวๆ ถูกแบ่งออก)
ส่วนที่ดีที่สุด? ฐานข้อมูลใช้การค้นหาข้อความแบบเต็มรูปแบบ FTS5 ดังนั้นคุณจึงสามารถค้นหาบทสนทนาในอดีตได้โดยการค้นหาคำสำคัญ
อะไรที่เข้าไปในคอนเท็กซ์จริงๆ
นี่คือความเข้าใจผิดที่พบบ่อย: Hermes ไม่ได้ส่งประวัติทุกไบต์ซ้ำในแต่ละเทิร์น แต่โมเดลจะเห็นระบบพรอมพ์ หน้าต่างบทสนทนาปัจจุบัน และอะไรก็ตามที่ถูกใส่เข้าไปอย่างชัดเจนสำหรับเทิร์นนั้น
ไฟล์มีเดียถูกจัดการอย่างชาญฉลาด:
- รูปภาพ ถูกวิเคราะห์หนึ่งครั้ง (ถ้าโมเดลรองรับ vision) หรือแปลงเป็นคำอธิบายข้อความ
- เสียง ถูกถอดความออกมาเป็นข้อความ
- เอกสาร มีการแยกข้อความออกมา ในขณะที่ไฟล์อื่นๆ ถูกบันทึกเป็นพาธพร้อมโน้ต
ดังนั้นถ้าคุณขอให้ Hermes สร้างมีมจากรูปภาพ มันจะไม่แบกไฟล์ JPEG นั้นไปในเทิร์นต่อๆ ไป มันจะเก็บแค่คำอธิบายและผลลัพธ์เท่านั้น
ตัวกินคอนเท็กซ์ตัวจริงคือข้อความที่ verbose—ทรานสคริปต์ที่วางมา, โลคเต็มๆ, ผลลัพธ์จากเครื่องมือที่ใหญ่โต, diff ยาวๆ เอกสารแนะนำให้ใช้บทสรุป พาธไฟล์ และข้อความที่เจาะจงแทนที่จะโยนอาร์ติแฟกต์ขนาดใหญ่ลงในแชท
ทิปส์สำหรับการจัดการเซสชัน
- ใช้
/compressเมื่อเซสชันยาวเกินไป - ใช้
/newเพื่อเริ่มเธรดใหม่ (คุณสามารถตั้งชื่อได้ด้วย:/new payments-refactor) - ใช้
hermes sessions pruneเพื่อลบเซสชันเก่าที่จบแล้ว - ใช้
hermes sessions optimizeเพื่อย่อขนาดฐานข้อมูลที่บวมโดยไม่ลบอะไรทิ้ง
การกลับมาคุยต่อผ่าน CLI: เริ่มต่อจากจุดที่ค้างไว้
CLI มีหลายวิธีให้คุณกลับมาคุยต่อได้:
คุยต่อจากเซสชันล่าสุด:
hermes --continue
# or
hermes -c
ความมหัศจรรย์ต่อเทอร์มินัล: นี่คือทริคเจ๋งๆ—การใช้ -c เปล่าๆ จะรู้จักเทอร์มินัล ถ้าคุณมีเทอร์มินัลสองแผงวางเคียงข้างกัน แต่ละอันจะกลับมาคุยต่อในบทสนทนาของตัวเอง ไม่ต้องแย่งกันอีกต่อไปว่าใครเป็น “ล่าสุด” ฟีเจอร์นี้ทำงานได้กับ tmux panes, kitty windows, wezterm panes และอื่นๆ คุณสามารถปิดได้ด้วย session.terminal_continue: false ในคอนฟิก
กลับมาคุยต่อด้วยชื่อ:
hermes -c "my project"
ถ้าคุณมีหลายเซสชันที่ชื่อเดียวกัน (เช่น “my project #2”, “my project #3”) มันจะเลือกอันล่าสุดให้อัตโนมัติ
กลับมาคุยต่อเซสชันที่เฉพาะเจาะจง:
hermes --resume 20250305_091523_a1b2c3d4
# or by title
hermes --resume "refactoring auth"
# or just the latest
hermes --resume latest
แหล่งที่มาของเซสชัน: ทุกแพลตฟอร์มมีค่า
Hermes จดบันทึกว่าแต่ละเซสชันมาจากแพลตฟอร์มใด รายการน่าประทับใจมาก: CLI, Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost, Email, SMS, DingTalk, Feishu, WeCom, Weixin, iMessage (ผ่าน BlueBubbles), QQ Bot, Home Assistant, webhooks, API server, ACP editor, cron jobs และ batch processing
นั่นหมายความว่าคุณสามารถเริ่มบทสนทนาบน Telegram แล้วกลับมาคุยต่อจาก CLI ได้—ประวัติทั้งหมดอยู่ตรงนั้นพร้อม
สรุป
เซสชันเปลี่ยน Hermes จากแชทบอทไร้สถานะให้เป็นผู้ช่วยที่จดจำทุกอย่างได้ ไม่ว่าคุณจะกำลังดีบักปัญหายากๆ วางแผนรีแฟกเตอร์ครั้งใหญ่ หรือแค่อยากกลับมาคุยต่อจากเมื่อวาน เซสชันพร้อมช่วยเหลือคุณเสมอ และด้วยการจัดการคอนเท็กซ์ที่ชาญฉลาด คุณจะได้ประโยชน์จากความจำโดยไม่ทำให้การใช้โทเค็นพุ่งสูง
ครั้งหน้าที่คุณอยู่ในบทสนทนายาวๆ ลองใช้ /compress เมื่อมันเริ่มหนัก หรือตั้งชื่อเซสชันของคุณเพื่อให้ค้นหาได้ง่ายในภายหลัง ตัวคุณในอนาคตจะขอบคุณตัวเองแน่นอน
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/features/personality