AI และเอเจนต์19 นาทีในการอ่าน

Hermes Agent หลังติดตั้ง: Desktop, Telegram, Gateway และการตั้งค่าให้เข้ากับงานจริง

ติดตั้งเสร็จแล้วต้องตั้งค่าอะไรต่อ: Desktop การแบ่งโมเดลตามงาน Telegram Gateway ลิมิตคอนเท็กซ์ และสิทธิ์ เพื่อให้เอเจนต์กลายเป็นสภาพแวดล้อมการทำงานจริง

Hermes Agent หลังติดตั้ง: Desktop, Telegram, Gateway และการตั้งค่าให้เข้ากับงานจริง
สารบัญ

ทำไมต้องตั้งค่าเพิ่มหลังติดตั้ง

การติดตั้งพื้นฐานของ Hermes Agent เป็นแค่ก้าวแรก หลังจากนั้นเอเจนต์ก็ตอบในเทอร์มินัลได้ เชื่อมต่อกับโมเดลได้ และทำงานง่าย ๆ ได้แล้ว แต่ประโยชน์จริงเริ่มต่อจากนั้น: เมื่อ Hermes ไม่ใช่แชทบอทที่ใช้ครั้งเดียวจบ แต่กลายเป็นสภาพแวดล้อมการทำงานที่เปิดจากมือถือได้ ปรับให้เข้ากับงานของตัวเองได้ เชื่อมกับ Telegram ได้ แบ่งโมเดลตามงานได้ จำกัดสิทธิ์ได้ และสอนให้ทำงานอย่างปลอดภัยได้

ส่วนนี้มักถูกมองข้าม ผู้ใช้ติดตั้งเอเจนต์ ลองดูคำตอบแรก ดีใจที่ทุกอย่างทำงาน แล้วก็เจอคำถามตามมา: ทำไมบอท Telegram เลิกตอบ token หมดไปกับอะไร ทำไมเอเจนต์เอาโมเดลราคาแพงไปใช้กับงานจุกจิกเบื้องหลัง จะเปิด Dashboard อย่างปลอดภัยยังไง จะส่งโค้ดผ่าน Telegram ยังไง Home Channel มีไว้ทำไม และทำไมควรรัน Gateway เป็น system service

ข้างล่างนี้คือเนื้อหาเชิงปฏิบัติที่ว่าด้วย “ครึ่งหลัง” ของการตั้งค่า Hermes โดยเฉพาะ: หน้าจอ Desktop การเชื่อมต่อ Telegram, Gateway, คำสั่ง slash เสียง Dashboard หน่วยความจำ ความปลอดภัย และรายละเอียดจากการใช้งานจริง

อ่านตอนที่ 1: การติดตั้ง การตั้งค่า และการเชื่อมต่อกับ Telegram

Hermes Desktop: เอเจนต์ตัวเดิม แต่มีหน้าจอที่เข้าใจง่าย

Hermes Desktop ไม่ใช่เอเจนต์แยก และไม่ใช่ตรรกะการทำงานแบบใหม่ เบื้องหลังยังเป็น Hermes ตัวเดิม: สกิลชุดเดิม หน่วยความจำเดิม โมเดลเดิม Gateway เดิม ต่างกันตรงที่การตั้งค่าหลายอย่างถูกย้ายมาอยู่ในหน้าจอกราฟิก

แบบนี้มีประโยชน์มากสำหรับคนที่ไม่อยากเข้าไปคุ้ยคอนฟิกทุกครั้ง ไม่อยากหาไฟล์ในโฟลเดอร์ราก และไม่อยากจำคำสั่ง CLI ใน Desktop เปิดหน้าตั้งค่าแล้วไล่ดูทีละหมวดได้เลย: โมเดล แชท หน้าตา ไดเรกทอรีทำงาน ความปลอดภัย หน่วยความจำ เสียง ซับเอเจนต์ Gateway และพารามิเตอร์อื่น ๆ

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

แต่อย่าคาดหวังจาก Desktop มากเกินไป มันก็ยังคือ Hermes ไม่ใช่บริการ SaaS สำเร็จรูปที่ผู้ให้บริการดูแลระบบให้ทั้งหมด ถ้ามีอะไรใน GUI ไม่ทำงาน บางทีก็ยังต้องเปิดเทอร์มินัล เช็กคอนฟิก หรือแก้พารามิเตอร์เองอยู่ดี

การตั้งค่าโมเดล: โมเดลหลักและงานเสริม

หนึ่งในส่วนสำคัญที่สุดของการตั้งค่า Hermes Desktop คือหมวด Model

ตรงนี้คือที่เลือกโมเดลหลักและแบ่ง auxiliary tasks หรืองานเสริม โมเดลหลักรับผิดชอบบทสนทนา การคิดวิเคราะห์ที่ซับซ้อน และงานหลักของเอเจนต์ แต่รอบ ๆ มันยังมีกระบวนการเบื้องหลังอีกมาก: วิเคราะห์รูปภาพ ดึงข้อความจากหน้าเว็บ บีบอัดคอนเท็กซ์ ทำงานกับสกิล ยืนยันคำสั่ง MCP สร้างหัวข้อ ค้นหาในเซสชัน และคัดกรองคำตอบ

ความผิดพลาดของมือใหม่คือปล่อยทุกอย่างไว้ที่โหมด auto ถ้ายังไม่ได้ตั้งค่าผู้ให้บริการ หรือระบบไม่รู้ว่าจะใช้โมเดลไหนกับงานเสริม มันอาจถอยกลับไปใช้โมเดลหลัก ผลคือโมเดลที่ทั้งแพงและแรงเริ่มเผา token ไปกับเรื่องเล็ก ๆ: สร้างหัวข้อ ค้นประวัติ เช็กระบบ และงานภายในสั้น ๆ

วิธีที่ถูกต้องกว่าคือแบ่งงานให้แต่ละโมเดล

งาน vision ต้องใช้โมเดลที่เข้าใจรูปภาพ ภาพหน้าจอ และข้อมูลเชิงภาพได้ดี

งาน web extract และ compression ต้องใช้โมเดลที่รับคอนเท็กซ์ได้เยอะและสรุปความได้ดี

งาน title generation, approval, session search, skills hub และงานสั้น ๆ แบบเดียวกัน ส่วนใหญ่ใช้โมเดลเบา ๆ ก็พอ

งาน curator ต้องใช้โมเดลที่ละเอียดรอบคอบกว่า เพราะมันรับผิดชอบการกรอง การคัดเลือก และคุณภาพของผลลัพธ์สุดท้าย

หลักคิดคือ: เก็บโมเดลแรง ๆ ไว้ใช้ตรงที่ต้องการการคิดวิเคราะห์และคุณภาพจริง ๆ ส่วนโมเดลเบาใช้กับงานเบื้องหลังสั้น ๆ แบบนี้ค่าใช้จ่ายลดลงและระบบประหยัดขึ้น

คอนเท็กซ์ของโมเดล: ทำไมไม่ควรฮาร์ดโค้ดลิมิต

ในการตั้งค่าโมเดลมีพารามิเตอร์ Context Length แวบแรกจะอยากใส่ตัวเลขใหญ่ ๆ เองทันที: 128K, 256K หรือค่าอื่น แต่ทางที่ยืดหยุ่นกว่าคือปล่อยให้ตรวจหาเองอัตโนมัติ ถ้าผู้ให้บริการและโมเดลรองรับ

เหตุผลง่าย ๆ: ผู้ให้บริการอัปเดตโมเดล เปลี่ยนลิมิตคอนเท็กซ์ และเงื่อนไขการเข้าถึงอยู่เรื่อย ๆ ถ้าเขียนตัวเลขตายตัวไว้ มันอาจล้าสมัย การตรวจหาอัตโนมัติทำให้ Hermes ถามลิมิตล่าสุดจากผู้ให้บริการ และปรับตามการตั้งค่าปัจจุบันได้

เรื่องนี้สำคัญเป็นพิเศษสำหรับคนที่สลับโมเดลบ่อย หรือใช้งานผ่านผู้ให้บริการบนคลาวด์

บั๊ก Session Search ใน Desktop

ในหน้าจอ Desktop อาจเจอกรณีที่งาน auxiliary บางตัวกำหนดผ่าน GUI ได้ไม่ถูกต้อง

ตัวอย่างเช่น งาน session_search อาจใช้ได้ใน CLI และ config.yaml แต่หน้าจอ Desktop อาจไม่รู้จักมัน เพราะรายการงานถูกฝังไว้ตายตัวในโค้ด ผลคือพอพยายามกำหนดโมเดลผ่าน GUI ก็ขึ้นข้อผิดพลาด ทั้งที่ตั้งผ่าน CLI ได้ปกติ

ข้อสรุปเชิงปฏิบัติ: Desktop ใช้สะดวก แต่ไม่ได้แทนคอนฟิกและเทอร์มินัลได้ทั้งหมดเสมอไป ถ้าการตั้งค่าไม่มีผลผ่านหน้าจอ ให้เช็กว่าเขียนเองผ่าน CLI หรือแก้ในคอนฟิกโดยตรงได้ไหม

Chat: ตั้งสไตล์การคุยของเอเจนต์

หมวด Chat กำหนดว่าเอเจนต์จะคุยกับผู้ใช้แบบไหน

ตรงนี้เลือก personality หรือสไตล์การคุยได้ ผู้ใช้บางคนต้องการผู้ช่วยสายเทคนิคที่ตอบสั้น ให้คำสั่งมาแล้วไม่ออกนอกเรื่อง อีกคนต้องการคู่สนทนาที่ตอบละเอียด อธิบายเหตุผล แจกแจงทางเลือก และช่วยคิด

ไม่มีแบบไหนที่ใช้ได้กับทุกคน ต้องเลือกสไตล์ตามงาน

ถ้าใช้ Hermes เป็นผู้ช่วยด้านวิศวกรรม ควรเน้นความกระชับ ความแม่นยำ และให้มีการอธิบายเหตุผลในคำตอบน้อยที่สุด

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

reasoning blocks ตั้งค่าแยกต่างหาก นี่คือโหมดที่โมเดลแสดงส่วนความคิดก่อนคำตอบสุดท้าย ในงานประจำวันมันอาจทำให้หน้าจอรก จึงมักถูกปิดไว้ แต่กับงานซับซ้อน บางทีก็มีประโยชน์ที่จะได้เห็นว่าเอเจนต์คิดหาทางออกยังไง

Image Attachments ปล่อยไว้ที่โหมดอัตโนมัติได้ แล้วเอเจนต์จะตัดสินใจเองว่าจะจัดการรูปภาพยังไง: เป็นไฟล์ธรรมดา หรือส่งผ่านโมเดล vision

Appearance: โหมดแสดงผลแบบเทคนิคหรือแบบโปรดักต์

ในหมวด Appearance ที่สำคัญไม่ใช่แค่ธีมของหน้าจอ แต่รวมถึงวิธีแสดงการเรียกเครื่องมือด้วย

มีโหมด Technical ที่แสดงอาร์กิวเมนต์ JSON ดิบ ๆ และผลลัพธ์ของการเรียกเครื่องมือ โหมดนี้มีประโยชน์ตอนดีบัก จะเห็นได้ว่าเอเจนต์ส่งอะไรเข้าฟังก์ชัน ได้คำตอบอะไรกลับมา และข้อผิดพลาดอาจเกิดตรงไหน

แต่สำหรับงานทั่วไป โหมด Technical ทำให้หน้าจอรกเกินไป ผู้ใช้เห็นเรื่องหลังบ้านมากเกินจำเป็น: JSON พารามิเตอร์ และคำตอบดิบจากเครื่องมือ

สำหรับการใช้งานประจำวัน โหมด Product ดีกว่า มันแสดงทุกอย่างในรูปแบบที่คนอ่านเข้าใจง่ายกว่า และไม่ทำให้หน้าจอกลายเป็นสายธารข้อมูลเทคนิค

กฎง่าย ๆ: Technical ไว้ดีบัก Product ไว้ทำงานปกติ

Workspace: ไดเรกทอรีทำงานและสภาพแวดล้อม

หมวด Workspace กำหนดว่าเอเจนต์ทำงานที่ไหนและมองเห็นอะไรในระบบ

Working Directory คือโฟลเดอร์ที่ Hermes สร้างไฟล์ รันคำสั่ง และทำงานกับโปรเจกต์ ต้องเลือกอย่างตั้งใจ ไม่ควรให้เอเจนต์เข้าถึงทั้งดิสก์ ถ้ามันทำงานกับโปรเจกต์เดียว

Code Execution Mode ในโหมด Project หมายความว่าเอเจนต์รันโค้ดในบริบทของโปรเจกต์ ไม่ใช่รันเป็นสคริปต์แยกโดด ๆ แบบนี้สะดวกกับงานจริงที่ dependency โครงสร้างโฟลเดอร์ และสถานะของโปรเจกต์มีผล

Persistent Shell เก็บสถานะของเทอร์มินัลไว้ระหว่างคำสั่ง ถ้าเอเจนต์ย้ายไปอีกไดเรกทอรี คำสั่งถัดไปก็จะรันที่นั่น สะดวกดี แต่ต้องระวัง: เอเจนต์ต้องรู้ว่าตัวเองอยู่ตรงไหน

Environment Passthrough ใช้ส่งตัวแปรสภาพแวดล้อมให้เอเจนต์ เช่น PATH และ CUDA_PATH มีประโยชน์มากถ้าเอเจนต์ต้องมองเห็น Python, pip, CUDA, nvidia-smi และยูทิลิตีระบบอื่น ๆ ถ้าไม่ตั้ง มันอาจหาเครื่องมือที่ติดตั้งไว้แล้วไม่เจอ และขอพาธแบบเต็ม

Auto-Approve File Writes ควรปิดไว้ แล้วเอเจนต์จะบันทึกหรือเขียนทับไฟล์เงียบ ๆ โดยไม่ขอยืนยันไม่ได้ ช่วงแรกของการใช้งาน แบบนี้ปลอดภัยกว่า

Safety: การยืนยัน ความลับ และ URL ส่วนตัว

หมวด Safety เป็นหนึ่งในหมวดหลัก

Approval Mode ควรตั้งเป็น Manual แล้วเอเจนต์จะขออนุญาตก่อนรันคำสั่งอันตราย ช่วยลดความเสี่ยงที่จะลบหรือเขียนทับอะไรโดยไม่ตั้งใจ รีสตาร์ตโปรเซสผิดตัว หรือแก้คอนฟิกสำคัญ

Approval Timeout ควรตั้งให้ผู้ใช้มีเวลาตอบสนอง ถ้าสั้นเกินไป คำสั่งจะถูกยกเลิกระหว่างที่คุณเผลอไปทำอย่างอื่น ถ้ายาวเกินไป ระบบอาจค้างรออยู่อย่างนั้น

Confirm MCP Reloads ควรเปิดไว้ เซิร์ฟเวอร์ MCP ให้เอเจนต์เข้าถึงเครื่องมือและบริการภายนอก การรีโหลดมันโดยไม่ยืนยันจึงอาจไม่ใช่สิ่งที่ต้องการ

Command Allowlist ควรสั้น ใส่ได้เฉพาะคำสั่งที่ปลอดภัยจริง ๆ และต้องใช้บ่อยโดยไม่ต้องยืนยันเอง เช่น การหยุดหรือรีสตาร์ต Gateway ของตัวเองอาจเป็นคำสั่งที่ยอมรับได้ แต่การทำให้ allowlist กลายเป็นรายการของทุกอย่างนั้นอันตราย

Redact Secrets ต้องเปิดไว้ ฟังก์ชันนี้ซ่อน API key รหัสผ่าน และ token ก่อนส่งข้อมูลให้โมเดล ถ้าความลับหลุดเข้าไปในประวัติโดยไม่ตั้งใจ โมเดลก็ไม่ควรได้เห็นมันแบบเปิดเผย

Allow Private URLs และ Browser Private URLs ควรปิดไว้ ถ้าไม่ได้จำเป็นต้องใช้จริงและรู้ตัวว่ากำลังทำอะไร เอเจนต์ไม่ควรเปิดที่อยู่ภายใน แผงควบคุมส่วนตัว และบริการในเครื่องได้ตามใจ

File Checkpoints เปิดได้ถ้าคุณทดลองกับคอนฟิกบ่อยและกลัวไฟล์พัง แล้วเอเจนต์จะสำรองไฟล์ไว้ก่อนแก้ ถ้าคุณทำงานผ่าน Git ก็พึ่ง Git ได้ แต่สำหรับมือใหม่ เช็กพอยต์ช่วยเป็นหลักประกันอีกชั้น

Memory & Context: เอเจนต์จำยังไงและไม่หลุดประเด็น

Hermes น่าสนใจไม่ใช่แค่ในฐานะหน้าจอสำหรับคุยกับโมเดล แต่ในฐานะเอเจนต์ที่มีหน่วยความจำด้วย ข้างในมันทำงานยังไง ทั้งห้าชั้นและ memory provider เราอธิบายไว้ในบทความแยก

Persistent Memory เก็บข้อเท็จจริงไว้ข้ามเซสชัน นี่ไม่ใช่แค่ประวัติแชท แต่เป็นข้อมูลที่ดึงออกมาแล้ว ซึ่งเอเจนต์เอาไปใช้ทีหลังได้

User Profile ช่วยให้เอเจนต์จำความชอบของผู้ใช้: สไตล์คำตอบ รูปแบบที่ชอบ งานที่ทำประจำ และนิสัยการทำงาน

Memory Budget และ Profile Budget จำกัดขนาดของหน่วยความจำและโปรไฟล์ ไม่ต้องตั้งให้ไม่มีขีดจำกัด: ยิ่งดึงข้อมูลเข้าคอนเท็กซ์มาก ภาระและค่าใช้จ่ายที่อาจเกิดขึ้นก็ยิ่งสูง

ถ้าไม่อยากให้หน่วยความจำค่อย ๆ อัดแน่นไปด้วยรายการเก่าและรายการซ้ำ ติดตั้งสกิล hermes-dreaming ของเราได้: ทุกคืนมันจะเทียบหน่วยความจำกับบทสนทนา เก็บสิ่งสำคัญไว้ และถามถึงสิ่งที่ล้าสมัย

Context Engine รับผิดชอบการจัดการเมื่อคอนเท็กซ์ล้น หนึ่งในโหมดที่มีประโยชน์คือ Compressor เมื่อคอนเท็กซ์ใหญ่ขึ้น ข้อความเก่าจะถูกบีบอัดเป็นสรุปสั้น ๆ แบบนี้คุยยาว ๆ ต่อไปได้โดยไม่ต้องรีเซ็ตทั้งหมด

Auto-Compression ทำแบบนี้ให้อัตโนมัติเมื่อถึงเกณฑ์ที่ตั้งไว้

Compression Threshold กำหนดจุดที่เริ่มบีบอัด เช่น เมื่อคอนเท็กซ์เต็ม 50%

Compression Target กำหนดว่าจะบีบประวัติให้เล็กลงแค่ไหน

Protected Recent Messages เป็นการตั้งค่าสำคัญ นี่คือจำนวนข้อความล่าสุดที่เอเจนต์จะไม่บีบอัดเลย ในงานซับซ้อน ข้อความล่าสุดมักมีรายละเอียดสำคัญที่สุด: ข้อชี้แจงเพิ่มเติม การตัดสินใจล่าสุด ข้อจำกัด และการแก้ไขครั้งหลังสุด ถ้าบีบมันเร็วเกินไป เอเจนต์อาจหลุดบริบท

Context Window คือหน้าต่างของ Hermes ที่มันถือไว้ใน RAM อย่าสับสนกับ Context Length ของตัวโมเดล Context Length คือข้อจำกัดของโมเดล ส่วน Context Window คือวิธีที่ Hermes จัดการบทสนทนาปัจจุบัน

Voice: สั่งงานด้วยเสียงและให้อ่านคำตอบออกเสียง

หมวด Voice ดูแลการป้อนข้อมูลด้วยเสียง การแปลงเสียงพูดเป็นข้อความ และการอ่านคำตอบออกเสียง

Speech To Text เปิดได้ถ้าคุณอยากพูดสั่งงานเอเจนต์ด้วยเสียง สะดวกโดยเฉพาะถ้าใช้ Hermes ผ่าน Telegram หรือเป็นผู้ช่วยประจำ

แต่ถ้าในคอมพิวเตอร์มีโปรแกรมพิมพ์ด้วยเสียงแยกติดตั้งไว้แล้ว STT ในตัวของ Hermes อาจเข้ามาขวาง สองแอปอาจเรียกใช้ไมโครโฟนพร้อมกัน ชนกัน และทำงานไม่เสถียร กรณีนี้ควรปิด STT ใน Hermes

Read Responses Aloud คือการอ่านคำตอบออกเสียง งานส่วนใหญ่ไม่จำเป็นต้องใช้ ข้อความมักอ่านได้เร็วกว่า ก๊อปง่ายกว่า และเอาไปใช้ต่อได้ง่ายกว่า อีกอย่าง การสังเคราะห์เสียงอาจกินทรัพยากรด้วย

ถ้ายังต้องการให้อ่านออกเสียง ใช้ Text-To-Speech Provider ได้ เช่น Edge TTS แต่ควรเปิดเฉพาะตอนที่ต้องใช้โหมดเสียงจริง ๆ

Advanced: ลิมิต จำนวนขั้นตอน และซับเอเจนต์

หมวด Advanced ดูแลข้อจำกัดเชิงเทคนิค

Max Agent Steps กำหนดว่าเอเจนต์ทำได้กี่ขั้นตอนในงานเดียว คำถามง่าย ๆ ใช้ลิมิตน้อย ๆ ก็พอ สำหรับ pipeline ที่ซับซ้อน เช่น โพสต์อัตโนมัติ สร้างคอนเทนต์ ย่อขยายรูปภาพ เผยแพร่หลายแพลตฟอร์ม หรือวิเคราะห์โปรเจกต์ใหญ่ อาจต้องเพิ่มลิมิต ไม่อย่างนั้นเอเจนต์อาจหยุดงานกลางทาง

API Retries กำหนดจำนวนครั้งที่ลองใหม่เมื่อเครือข่ายหรือ API ขัดข้องชั่วคราว

Tool-Use Enforcement ในโหมด auto ให้เอเจนต์ตัดสินใจเองว่าเมื่อไหร่จะเรียกเครื่องมือ

Subagent Model เป็นการตั้งค่าสำคัญเรื่องการประหยัด ซับเอเจนต์มักไม่ต้องใช้โมเดลหลักราคาแพง เปลี่ยนให้ใช้โมเดลเบาได้ จะได้ไม่เปลือง token แพง ๆ ไปกับงานเสริม

Parallel Subagents กำหนดว่าซับเอเจนต์ทำงานพร้อมกันได้กี่ตัว ช่วยให้งานซับซ้อนเร็วขึ้น แต่ภาระและค่าใช้จ่ายก็เพิ่มขึ้น

Subagent Timeout จำกัดเวลาทำงานของซับเอเจนต์ ช่วยไม่ให้งานใดงานหนึ่งค้างไปไม่มีที่สิ้นสุด

Gateway ใน Desktop: โหมด local และ remote

ใน Desktop มีหมวด Gateway แยกต่างหาก

Local Gateway หมายความว่าแอปรัน Gateway ของตัวเองบน localhost แบบนี้ทำงานในเครื่องและไม่ต้องมีเซิร์ฟเวอร์ภายนอก

Remote Gateway ใช้เมื่อเอเจนต์ทำงานอยู่บนเครื่องอื่นหรือบน VPS กรณีนี้ใส่ URL และ session token ใน Desktop เพื่อเชื่อมต่อกับเอเจนต์ระยะไกลได้

สิ่งที่มีประโยชน์ในหมวดนี้:

ทดสอบการเชื่อมต่อกับ Gateway ระยะไกล

บันทึกการตั้งค่าไว้สำหรับการรีสตาร์ตครั้งถัดไป

บันทึกแล้วเชื่อมต่อใหม่ทันที

เปิดล็อกถ้า Gateway ไม่ยอมเริ่มทำงาน

ข้อควรรู้สำคัญ: ถ้าคุณมี Gateway ของ Hermes ที่รันผ่าน CLI ด้วย Telegram token ตัวเดียวกันอยู่แล้ว Desktop อาจปิดมันตอนเปิดแอป นี่คืออาการ Gateway ชนกัน ทางแก้คือใช้ token คนละตัว หรือรัน Gateway แค่ตัวเดียว

ข้อจำกัดของเวอร์ชัน Desktop

Desktop ใช้สะดวก แต่ก็มีข้อเสีย

ข้อแรก Electron กินทรัพยากรมากกว่า CLI แอป Desktop พ่วงเอนจินเบราว์เซอร์มาด้วย ตอนว่าง ๆ จึงอาจใช้หน่วยความจำมากกว่าอย่างเห็นได้ชัด

ข้อสอง ธีมมีจำกัด ปกติมีธีมสว่าง ธีมมืด และสีเน้นอีกไม่กี่สี แต่จะประกอบธีมของตัวเองเต็ม ๆ แบบเร็ว ๆ ไม่ได้

ข้อสาม บน Linux ตัว Desktop ไม่ได้ทำงานเป็นแอป standalone เต็มรูปแบบเสมอไป dependency ของ Python บางตัวอาจยังต้องติดตั้งเอง

ข้อสี่ Gateway อาจชนกัน ถ้า CLI และ Desktop ใช้ Telegram token ตัวเดียวกัน

ข้อห้า ตัวแก้คอนฟิกใน Desktop ยังพื้นฐาน ส่วนที่ซับซ้อน โดยเฉพาะโมเดล auxiliary บางทีแก้ผ่าน VS Code หรือ CLI สะดวกกว่า

ข้อหก การตั้งค่าบางอย่างอาจเข้าไม่ถึงผ่าน UI หรือแสดงผลไม่ถูกต้อง ทั้งที่ในคอนฟิกทำงานได้

สรุปง่าย ๆ: Desktop ดีในฐานะหน้าจอที่ใช้งานสะดวก แต่เทอร์มินัลและคอนฟิกยังเป็นเครื่องมือสำคัญสำหรับการตั้งค่าขั้นสูง

การเชื่อมต่อ Telegram ทำงานยังไง

การเชื่อมต่อ Telegram ทำผ่าน Gateway

ตัว Hermes คือวงจรการทำงานของเอเจนต์กับเครื่องมือ Telegram เป็นแค่หน้าจอสำหรับคุย Gateway อยู่ตรงกลาง: รับข้อความจากแอปแชท ส่งต่อให้เอเจนต์ รับคำตอบ แล้วส่งกลับไป

ประเด็นสำคัญ: Gateway ต้องทำงานตลอดเวลา ถ้าปิดฝาโน้ตบุ๊ก หยุดโปรเซส หรือเซิร์ฟเวอร์เข้าโหมดสลีป บอท Telegram จะเลิกตอบ

นี่คือเหตุผลที่แนะนำให้ใช้ VPS สำหรับการทำงานต่อเนื่อง เซิร์ฟเวอร์ไม่หลับ Gateway ทำงาน 24/7 และเอเจนต์รับงานได้ทุกเวลา

ยังมีอีกเรื่อง: ถ้ารีสตาร์ต Gateway ระหว่างที่เอเจนต์กำลังทำงานผ่านแชท Telegram งานที่ทำอยู่อาจถูกตัดกลางคัน ถ้าทำงานผ่านหน้าจอเทอร์มินัล เอเจนต์ทำงานต่อได้โดยไม่ขึ้นกับ Gateway ของ Telegram แต่การใช้งานผ่าน Telegram นั้นพึ่ง Gateway

สร้างบอท Telegram

ก่อนเชื่อม Telegram ต้องมีบอทก่อน

บอทสร้างผ่าน BotFather ซึ่งเป็นเครื่องมือทางการของ Telegram สำหรับสร้างบอท หลังสั่งสร้างบอทใหม่ ต้องตั้งชื่อที่แสดงและ username โดย username ต้องไม่ซ้ำใคร และปกติจะลงท้ายด้วย bot

หลังสร้างเสร็จ BotFather จะให้ HTTP API Token มา นี่คือกุญแจเข้าถึงบอท ต้องเก็บไว้และใส่ลงใน Hermes

ห้ามให้ token นี้กับคนอื่น ใครได้ token ไปก็ควบคุมบอทได้

Telegram User ID และการจำกัดการเข้าถึง

โดยค่าเริ่มต้น บอทอาจตอบใครก็ได้ที่หามันเจอ สำหรับ AI เอเจนต์ส่วนตัว นี่คือความเสี่ยงร้ายแรง

จึงต้องเพิ่ม Allowed User IDs ซึ่งเป็นรายการ Telegram ID ที่บอทอนุญาตให้คุยกับ Hermes ได้

Telegram ID ของตัวเองหาได้ผ่านบอทเฉพาะทาง เช่น @userinfobot, @RawDataBot หรือ @getidsbot หลังส่งคำสั่ง /start บอทพวกนี้จะส่ง ID ที่เป็นตัวเลขมาให้

ถ้าต้องให้หลายคนใช้เอเจนต์ ใส่หลาย ID คั่นด้วยจุลภาคได้ แต่ต้องจำไว้ว่า: ทุกคนในรายการจะเข้าถึงเอเจนต์ตัวเดียวกัน ทั้งหน่วยความจำ เครื่องมือ และความสามารถของมัน

ตั้งค่า Gateway สำหรับ Telegram

การตั้งค่าทำผ่านตัวช่วยตั้งค่า (wizard) ของ Gateway

ในนั้นเลือก Telegram แล้วใส่พารามิเตอร์หลัก:

Telegram bot token

Allowed user IDs

Home Channel ID

การตั้งค่าแอปแชทอื่น ถ้าต้องใช้

ตอนพิมพ์ token ในเทอร์มินัล ตัวอักษรอาจไม่แสดงขึ้นมา นี่คือการป้องกันตามปกติ

Allowed user IDs ไม่ควรปล่อยว่าง ไม่อย่างนั้นบอทอาจกลายเป็นบอทสาธารณะ

Home Channel ช่วงแรกตั้งเป็นแชทส่วนตัวของตัวเองได้ ภายหลังค่อยเปลี่ยนเป็นกลุ่มหรือช่องแยก

Systemd service: ทำไมต้องตั้ง Gateway ให้อยู่ถาวร

หลังตั้งค่า Gateway แล้ว ควรติดตั้งมันเป็น systemd service

แบบนี้ได้สองอย่างที่สำคัญ

อย่างแรก Gateway ทำงานเบื้องหลัง ไม่ต้องเปิดเทอร์มินัลค้างไว้

อย่างที่สอง Gateway เริ่มทำงานเองเมื่อรีบูตเซิร์ฟเวอร์หรือคอมพิวเตอร์

สำหรับเครื่องโลคัล ปกติใช้ user service ได้ สำหรับ VPS ใช้ system service ที่เริ่มทำงานพร้อมระบบ

หลังติดตั้ง ควรรีสตาร์ต Gateway เอง เช็กสถานะ และรันการวินิจฉัย ถ้าบอท Telegram ไม่ตอบ การเช็ก Gateway คือจุดแรกที่ต้องเริ่ม

จับคู่บอท Telegram กับ Hermes

หลังตั้งค่าแล้ว ให้เปิดบอทที่สร้างไว้ใน Telegram แล้วส่ง /start

บอทอาจส่ง pairing code หรือรหัสจับคู่มาให้ ต้องยืนยันรหัสนี้ในเทอร์มินัล หลังจากนั้นบอท Telegram จะผูกกับบัญชี Hermes บัญชีนั้น

จากนั้นลองส่งข้อความทดสอบ ถ้าเอเจนต์ตอบ แปลว่าการเชื่อมต่อใช้งานได้

ตั้งแต่ตรงนี้ Telegram กลายเป็นหน้าจอควบคุมเต็มรูปแบบ: เขียนสั่งงาน ส่งไฟล์ รันคำขอเบื้องหลัง เช็กการใช้ token เปลี่ยนโมเดล และจัดการงาน cron ได้

ปัญหาที่เจอบ่อยในการเชื่อมต่อ Telegram

ถ้าบอทไม่ตอบตั้งแต่หลังตั้งค่าเสร็จ สาเหตุแรกที่น่าจะเป็นคือ Gateway ไม่ได้รันอยู่ ต้องเช็กสถานะแล้วสั่งรัน

ถ้าบอทเคยตอบแล้วเลิกตอบ ส่วนใหญ่มักเป็นเพราะ Gateway ล่ม เครื่องโลคัลเข้าโหมดสลีป เทอร์มินัลถูกปิด หรือเซิร์ฟเวอร์รีบูต

ถ้าขึ้นข้อผิดพลาด hermes: command not found เป็นไปได้ว่าเชลล์ไม่เห็นพาธของ Hermes บางทีอัปเดต .bashrc หรือสลับไปเป็นผู้ใช้ที่ติดตั้ง Hermes ไว้ ก็ช่วยได้

ถ้าข้อความส่งถึง แต่บอทไม่ตอบผู้ใช้ที่ต้องการ น่าจะใส่ Allowed User ID ผิด ต้องเช็กคอนฟิกและดูให้แน่ใจว่ามี Telegram ID ของคุณอยู่ในนั้น

ถ้าบอทไม่ตอบสนองต่อไฟล์ ปัญหาอาจอยู่ที่ฟอร์แมต ไฟล์โปรแกรมบางประเภท Telegram จะระงับหรือส่งต่อแบบใช้งานลำบาก

คำสั่ง slash สำหรับควบคุมจาก Telegram

หลังเชื่อมต่อแล้ว ควบคุมเอเจนต์ผ่านคำสั่งพิเศษได้

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

/compress บีบอัดประวัติการคุยปัจจุบัน เอเจนต์จะสรุปข้อความเก่าสั้น ๆ แล้วทำงานต่อ

/model ใช้เปลี่ยนโมเดลได้จาก Telegram โดยตรง ไม่ต้องเข้าเทอร์มินัล

/reasoning low และ /reasoning high เปลี่ยนความลึกของการคิดวิเคราะห์ โหมดต่ำประหยัด token กับงานง่าย โหมดสูงช่วยตอนวิเคราะห์เรื่องซับซ้อน

/btw หรือ /bg ส่งคำขอเบื้องหลังโดยไม่ขัดจังหวะงานที่ทำอยู่

/usage แสดงการใช้ token และสถานะของหน้าต่างคอนเท็กซ์

/goal ตั้งเป้าหมายถาวรสำหรับเซสชันปัจจุบัน

/reload skills โหลดรายการสกิลใหม่หลังติดตั้งหรือแก้ไขสกิล จะหาสกิลและปลั๊กอินได้จากไหนและติดตั้งยังไง อธิบายไว้ในบทความแยก

/cron แสดงรายการงานที่ตั้งเวลาไว้

งาน cron สร้างได้ไม่ใช่แค่ด้วยคำสั่ง แต่ด้วยภาษาธรรมดาก็ได้ เช่น: “ทุกวันจันทร์ตอน 9:00 ส่งสรุปข่าว AI สามข่าวเด่นมาให้หน่อย” Hermes ควรเข้าใจงาน สร้างตารางเวลา และยืนยันกลับมา

ส่งไฟล์และโค้ดผ่าน Telegram

Telegram ไม่ได้ปล่อยไฟล์โปรแกรมผ่านตรง ๆ เสมอไป เช่น .py, .js และฟอร์แมตอื่นอาจถูกระงับ หรือถูกจัดการแบบใช้งานลำบาก

มีสองวิธีเลี่ยง

วิธีแรก เปลี่ยนนามสกุลไฟล์เป็น .txt ส่งให้เอเจนต์ แล้วบอกว่าข้างในเป็นโค้ด

วิธีที่สอง ถ้าไฟล์อยู่บนเซิร์ฟเวอร์แล้ว ให้ส่งพาธของไฟล์ให้เอเจนต์ เร็วกว่าและสะดวกกว่าสำหรับไฟล์ใหญ่

โค้ดยาว ๆ วางลงในข้อความได้เลย Hermes รับข้อความหลายบรรทัดได้ ถ้าคอนเท็กซ์พอ

Dashboard: หน้าเว็บสำหรับผู้ใช้ขั้นสูง

Hermes มี Dashboard เป็นหน้าเว็บสำหรับเฝ้าดูและควบคุม

ในหน้านี้ดูได้:

เซสชันปัจจุบัน

สถานะของเอเจนต์และช่องทางต่าง ๆ

สถิติการใช้ token และการเรียก API

งาน cron

คอนฟิก

ล็อก

โปรไฟล์

แต่ Dashboard ต้องใส่ใจเรื่องความปลอดภัยเป็นพิเศษ โดยค่าเริ่มต้น มันอาจเปิดให้เข้าได้แบบโลคัลและไม่ต้องใช้รหัสผ่าน ถ้าเปิดผ่าน IP สาธารณะของเซิร์ฟเวอร์ คนอื่นก็จะเข้าได้

วิธีเข้าที่ถูกต้องคือผ่าน SSH port forwarding, VPN หรือระบบที่ป้องกันด้วยการยืนยันตัวตน ห้ามเปิด Dashboard ออกสู่ภายนอกโดยไม่มีการป้องกัน

สำหรับผู้ใช้ส่วนใหญ่ Telegram ก็พอแล้ว Dashboard เหมาะกับคนที่อยากเห็นทุกอย่างในหน้าจอเดียวและควบคุมเอเจนต์ได้ลึกกว่า

Home Channel: ที่แยกไว้สำหรับการแจ้งเตือน

Home Channel คือแชท กลุ่ม หรือช่อง ที่ Hermes ส่งผลลัพธ์ของงานเบื้องหลัง การแจ้งเตือนจาก cron และข้อความระบบไปให้

ช่วงแรก Home Channel ตั้งเป็นแชทส่วนตัวได้ แต่สำหรับการใช้งานระยะยาว แยกช่องหรือกลุ่มไว้ต่างหากจะสะดวกกว่า แชทส่วนตัวก็ใช้คุยกันไป ส่วนการแจ้งเตือนอัตโนมัติไปรวมอยู่อีกที่

แบบนี้มีประโยชน์มากถ้าใช้เอเจนต์ทำสรุปข่าวประจำ มอนิเตอร์ระบบ รันงานเบื้องหลัง หรือทำงานเป็นทีม

ถ้ายังไม่ได้ตั้ง Home Channel ไว้ Hermes อาจเตือนตอนข้อความแรก และเสนอคำสั่งสำหรับตั้งค่าให้

แอปแชทอื่น ๆ

Hermes ทำงานได้ไม่ใช่แค่กับ Telegram แต่ยังใช้กับ Discord, Slack, WhatsApp, Signal, Matrix และช่องทางอื่นได้ ขึ้นอยู่กับการตั้งค่า

หลักการเหมือนกัน: แอปแชทคือหน้าจอ Gateway คือสะพาน Hermes คือเอเจนต์

ข้อควรรู้สำคัญ: ทั้งหมดคือเอเจนต์ตัวเดียวกัน ที่มีหน่วยความจำและสกิลชุดเดียวกัน ถ้าคุยผ่าน Telegram แล้วย้ายไป Discord เอเจนต์ก็ใช้คอนเท็กซ์ร่วมกันได้

WhatsApp อาจต้องใช้ QR code แยกสำหรับจับคู่ Matrix ตั้งค่าผ่าน homeserver URL, username และ password หรือ access token

สำหรับผู้ใช้ส่วนใหญ่ Telegram ยังเป็นตัวเลือกที่สะดวกที่สุด: ตั้งค่าง่าย รองรับไฟล์ ข้อความเสียง คำสั่ง และใช้งานจากมือถือได้

ข้อความเสียงใน Telegram

Hermes ถอดข้อความเสียงใน Telegram เป็นตัวอักษรได้

ขั้นตอนเป็นแบบนี้: ผู้ใช้ส่งโน้ตเสียง เอเจนต์ถอดความ เข้าใจงาน และตอบกลับเป็นข้อความ

สะดวกเวลาต้องสั่งงานเร็ว ๆ จากมือถือ เช่น ระหว่างเดินทาง ก่อนนอน หรือตอนที่พิมพ์คำขอยาว ๆ ไม่สะดวก

การตอบกลับด้วยเสียงเปิดแยกได้ ถ้าต้องการการสังเคราะห์เสียง แต่โดยค่าเริ่มต้นควรตอบเป็นข้อความ: อ่านเร็วกว่า ก๊อปง่ายกว่า และใช้ทำงานสะดวกกว่า

สรุปเชิงปฏิบัติ

ส่วนใหม่ที่มีประโยชน์ของการตั้งค่า Hermes เริ่มหลังการติดตั้งพื้นฐาน

เพื่อให้เอเจนต์กลายเป็นเครื่องมือทำงาน ต้องตั้งค่าไม่ใช่แค่โมเดล แต่รวมถึงสภาพแวดล้อมทั้งหมดรอบมัน: Desktop, Gateway, Telegram หน่วยความจำ คอนเท็กซ์ ความปลอดภัย เสียง Dashboard ซับเอเจนต์ และโมเดลเสริม

หลักคิดหลักเป็นแบบนี้:

Desktop มีไว้จัดการการตั้งค่าได้สะดวก

Auxiliary models ช่วยไม่ให้เปลืองโมเดลแพงไปกับงานเบื้องหลัง

Workspace กำหนดว่าเอเจนต์ทำงานที่ไหนและมองเห็นอะไร

Safety ป้องกันคำสั่งอันตราย ความลับรั่วไหล และการเข้าถึงเกินจำเป็น

Memory & Context ช่วยให้เอเจนต์ไม่หลุดประเด็นในงานยาว ๆ

Voice ทำให้ใช้งานจากมือถือสะดวกขึ้น

Advanced ให้ตั้งค่า pipeline ที่ซับซ้อนและซับเอเจนต์ได้

Gateway เปลี่ยน Telegram ให้เป็นหน้าจอควบคุมเอเจนต์

Systemd service ทำให้การเชื่อมต่อกับ Telegram เสถียร

Dashboard ให้การมอนิเตอร์ แต่ต้องมีการป้องกัน

Home Channel แยกการแจ้งเตือนออกจากบทสนทนาปกติ

ถ้าตั้งค่าทั้งหมดนี้อย่างรอบคอบ Hermes จะไม่ใช่แค่เอเจนต์ในเทอร์มินัลอีกต่อไป มันจะกลายเป็นระบบงานเต็มรูปแบบ: เข้าถึงได้จากมือถือ เชื่อมกับงานของคุณ ทำงานได้ 24/7 รับไฟล์และข้อความเสียง รันงานเบื้องหลัง ประหยัด token และค่อย ๆ ปรับตัวเข้ากับสไตล์การทำงานของคุณ

แต่เพราะ Hermes ลงมือทำได้จริงนี่แหละ จึงต้องมีขอบเขตให้มัน ยิ่งเอเจนต์ทำได้มาก กฎก็ยิ่งสำคัญ: การยืนยันด้วยมือ token ที่เก็บเป็นความลับ allowed users, Dashboard ที่มีการป้องกัน ลิมิตค่าใช้จ่าย และการแบ่งโมเดลอย่างตั้งใจ

อ่านตอนที่ 3: เริ่มต้นอย่างปลอดภัย Docker การวินิจฉัย และความผิดพลาดที่เจอบ่อย

คนกันเองอยู่ใกล้ ๆถามคนกันเอง แชทตอบเร็วกว่าค้นหาเองแชทหลักของไอที ปาร์ตี้ พัทยา: คนสาย IT สายดิจิทัล และผู้ประกอบการ ที่เคยผ่านเรื่องเดียวกันมาแล้ว เริ่มตั้งแต่กรกฎาคม 2566 แชทใช้ภาษารัสเซีย ชาวต่างชาติและคนไทยเข้ามาได้เสมอเข้าแชท (ภาษารัสเซีย)

อ่านเรื่องที่เกี่ยวข้อง