Feeding GBrain Your Emails Autonomously with Hermes Agent
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~17 นาที · **ลิงก์:** https://www.youtube.com/watch?v=lbDgO78Z5go
# สรุป: Feeding GBrain Your Emails Autonomously with Hermes Agent - **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~17 นาที · **ลิงก์:** https://www.youtube.com/watch?v=lbDgO78Z5go ## ประเด็นหลัก - วิดีโอนี้สอนวิธีเชื่อมต่ออีเมล Gmail เข้ากับ GBrain โดยอัตโนมัติผ่าน Hermes Agent โดยใช้ Google Workspace CLI (GWS) ซึ่งเป็น Rust binary ตัวเดียวที่จัดการ Gmail, Calendar, Drive, Docs ได้ครบ - หลักการสำคัญ: "สคริปต์เก็บข้อมูล, agent ตัดสินใจ, สมองกลจดจำ" — สคริปต์ทำหน้าที่เก็บอีเมลเท่านั้น ส่วนการเขียนเข้า GBrain ทั้งหมดผ่าน MCP ในรอบการทำงานของ agent - การตั้งค่าเริ่มต้น: ติดตั้ง gcloud CLI และ GWS ใน WSL, ล็อกอิน, สร้าง OAuth client แบบ desktop app, อนุญาตสิทธิ์ดูอีเมลเท่านั้น - collector script (check_inbox.py) ดึงอีเมลของวันนี้, กรองขยะ, จำ message ID, สร้าง Gmail deep link เองในโค้ด — ไม่เรียก LLM ไม่เดา URL - รูปแบบการเขียนหน้า GBrain สำคัญมาก: ต้องมี typed front matter, wiki link ของผู้ส่ง, คำพูดสำคัญที่ยกมาตรงตัว, deep link ไปยังอีเมลต้นฉบับ — ไม่ใช่ก้อนข้อความสรุปทั่วไป - การตั้งค่า Hermes cron job แบบ daily โดยใช้ check_inbox.py เป็น pre-run script และใช้ Grok 4.5 เป็น agent - มาตรการรักษาความปลอดภัย 3 ชั้น: collector gate (allow list เท่านั้น), protocol gate (อัปเดตเฉพาะหน้าที่มีอยู่ ห้ามสร้าง entity ใหม่), และการส่ง digest ไป Telegram เพื่อตรวจทัน - ผลลัพธ์: สามารถถาม Hermes เรื่องที่ไม่เคยคุยกันโดยตรงได้ เพราะมันมีข้อมูลจากอีเมล/newsletter แล้ว - วิดีโอหน้าจะพูดถึงการใช้ Fathom transcript กับ GBrain ## ความเห็นสรุป วิดีโอนี้เป็นคู่มือปฏิบัติที่ค่อนข้างละเอียดสำหรับการเชื่อมต่ออีเมลเข้า GBrain ผ่าน Hermes Agent ครับ จุดเด่นคือการเน้นย้ำถึงความสำคัญของรูปแมบบข้อมูลที่ถูกต้อง และมาตรการรักษาความปลอดภัยที่ออกแบบมาเพื่อป้องกันข้อมูลขยะหรือ prompt injection แม้ว่าการตั้งค่าเริ่มต้นจะมีหลายขั้นตอน แต่เมื่อตั้งค่าเสร็จแล้วระบบจะทำงานอัตโนมัติได้จริง ทำให้ GBrain มีข้อมูลที่หลากหลายและครอบคลุมมากขึ้น
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
สัปดาห์ที่แล้วผมทำวิดีโอเกี่ยวกับวิธีตั้งค่า GBrain ใน Hermes Agent และได้รับการตอบรับที่ดีมากเลยครับ มีคนสนใจในหัวข้อนี้เยอะ ผมรู้ว่าผู้ประกอบการอิสระและคนทำธุรกิจขนาดย่อมจำนวนมากชอบใช้ GBrain กับ agent หรือเครื่องมือ AI ของพวกเขา ผมเลยอยากจะสานต่อหัวข้อนี้ และวิดีโอวันนี้จะเจาะจงไปที่วิธีเชื่อมต่ออีเมลเข้ากับ GBrain ของคุณอย่างถูกต้อง เพื่อส่อป้อนข้อมูลที่เข้ามาจากอีเมลเข้าสู่สมองกลที่สอง (second brain) ของคุณแบบอัตโนมัติ และเมื่อตั้งค่าเสร็จแล้ว กระบวนการนี้จะทำงานเองโดยอัตโนมัติ คุณแค่ตั้งค่าไว้แล้วปล่อยให้มันทำงานได้เลยครับ วิดีโอนี้จะใช้ Google และ Gmail เป็นหลักนะครับ เอาล่ะ เริ่มกันเลย
สำหรับใครที่รัน agent เองและอยากเข้าถึง LLM wikis ที่ผมใช้ทำวิจัยและสร้างวิดีโอเหล่านี้ ลองแวะไปดูโปรเจกต์ของผมที่ agentwiks.com ได้เลยครับ ผมให้ wiki เหล่านี้ฟรีในหลากหลายหัวข้อ และถ้าอยากได้ wiki ขนาดใหญ่พิเศษที่มีหน้ามากกว่าและรายละเอียดลึกกว่า สามารถสมัครบัญชี pro ได้ในราคา 9.99 ดอลลาร์ต่อเดือนครับ
เอาล่ะ กลับมาที่วิดีโอกัน ขอสรุปสั้นๆ สิ่งที่เราทำในวิดีโอก่อน เราได้ตั้งค่า GBrain กับ Hermes agent แล้วให้ Hermes ค้นหาข้อมูลในสมองกลก่อนที่จะตอบ แล้วค่อยเขียนคำตัดสินใจกลับเข้าไปในสมองกล ลูปนี้ใช้งานได้ แต่เป็นแบบแมนนวลมาก คุณต้องเข้าไปสั่งการ Hermes agent เองจริงๆ แต่ GBrain จะมีคุณค่าจริงๆ ก็ต่อเมื่อมันสามารถจับภาพโลกทั้งใบของคุณได้อย่างสมบูรณ์ ซึ่งไม่ได้มีอยู่แค่ในบทสนทนากับ Hermes agent เท่านั้นครับ โลกส่วนใหญ่ของคุณอยู่ในอีเมล เพราะงานจำนวนมากยังคงดำเนินผ่านอีเมล และคนหรือองค์กรต่างๆ ในโลกของคุณก็อยู่ในนั้นด้วย ดังนั้นการจับข้อมูลเหล่านี้มาป้อนสมองกลที่สองจึงสำคัญมากครับ
นี่คือโมเดลความคิดที่ผมอยากให้คุณมีนะครับ สคริปต์เก็บข้อมูล, agent ตัดสินใจ, สมองกลจดจำ ซึ่งไม่ใช่สิ่งที่ผมคิดค้นขึ้นมาเอง แต่เป็นกฎเดียวที่ทั้งสองฝั่งของไปป์ไลน์นี้เห็นด้วยเหมือนกัน เอกสารของ GBrain เองก็พูดชัดๆ ว่า ถ้าผลลัพธ์ต้องปรากฏและมีรูปแบบที่ถูกต้องทุกครั้ง ให้สร้างมันในโค้ด แต่ถ้าต้องใช้การตัดสินใจ ให้ใช้ LLM อย่างเด็ดขาด อย่าทำทั้งสองอย่างในขั้นตอนเดียวกัน เป็นเหตุผลที่ Hermes cron มีฟีเจอร์ที่ตรงกับการแบ่งแยกนี้พอดี นั่นคือ pre-run script ที่ผลลัพธ์จะถูกส่งเข้าไปใน prompt ก่อนที่ agent จะเริ่มทำงาน ถ้าใครดูวิดีโอ masterclass เรื่อง cron และ automation ของผมมาแล้ว ก็น่าจะคุ้นเคยกันดีนะครับ
ในอดีต GBrain เคยมีวิธีจัดการสูตรอีเมลของตัวเอง มีระบบ custom collector และ credential gateway ของตัวเองทั้งหมด ตั้งค่ายุ่งยากพอสมควร แต่ตอนนี้มีแนวโน้มจะยกเลิกกลไกเหล่านั้นทั้งหมด และหันมาใช้เครื่องมือ Google แบบรวมศูนย์แทน ซึ่งก็คือสิ่งที่เราจะใช้ครับ นั่นคือ CLI ของ Google เอง
มาดูไปป์ไลน์กัน และผมจะทำให้ดูจริงๆ ด้วยนะครับ ในเดือนมีนาคม Google Workspace ได้เปิดซอร์ส GWS หรือ Google Workspace CLI คุณจะได้ Rust binary ตัวเดียวที่ใช้งาน Gmail, Calendar, Drive, Docs ได้ทั้งหมด มันไม่ใช่ผลิตภัณฑ์อย่างเป็นทางการของ Google ทางเทคนิคนะครับ แต่มันอยู่ใน GitHub organization ของ Google Workspace เอง จึงน่าเชื่อถือพอสมควร
แต่มีสองสิ่งที่ต้องสังเกต ข้อแรก มันไม่มีรายการคำสั่งตายตัว แต่จะสร้างคำสั่งขึ้นมาตอนรันโดยอ้างอิงจาก API discovery service ของ Google เอง ดังนั้นเมื่อ Google เปลี่ยนแปลง API ตัว CLI ก็สามารถรับรู้และทำงานต่อได้เลย ข้อที่สอง มันมาพร้อมกับ agent skill กว่า 100 รายการ ออกแบบมาให้ทำงานร่วมกับ agent ตั้งแต่แรกเลยครับ
นี่คือคำสั่งบางส่วนที่เราจะใช้ตั้งค่าระบบนี้ นี่คือคำสั่งติดตั้ง CLI ตัวนี้ ผมจะทำงานอยู่ใน WSL นะครับ ทำได้รวดเร็วมาก ขั้นต่อไปคือ GWS auth setup แต่เกิด error ขึ้นเพราะไม่พบ gcloud CLI ใน WSL นี้ คุณจึงต้องติดตั้ง gcloud CLI ด้วย หน้าเอกสารจะบอกวิธีติดตั้งตามระบบปฏิบัติการของคุณ ผมอยู่บน Debian ก็เลยทำตามนี้ครับ มีหลายขั้นตอนอยู่ แต่ก็คือการ import public key เพิ่ม gcloud CLI เป็นแหล่งแพ็กเกจ แล้วก็ติดตั้ง
จากนั้นเราทำ gcloud auth login ตามที่เห็นนะครับ ซึ่งจะล็อกอินเข้าสู่ gcloud มันจะเปิดหน้าจอบนเบราว์เซอร์ให้คุณล็อกอินเข้าบัญชี Google พอลงชื่อเข้าใช้บนเบราว์เซอร์แล้ว จะมีรหัสผ่านขึ้นมา ซึ่งผมตัดออกไปแล้ว คุณแค่ก็อปปี้รหัสนั้นมาใส่ได้เลย เท่านี้ก็ล็อกอินเสร็จแล้วครับ
จากนั้นทำ GWS auth setup ด้วยคำสั่งที่สองที่ผมวางไว้ เลือกบัญชี Tonbi แล้วโหลดโปรเจกต์ สร้างโปรเจกต์ใหม่ โอเค กำลังสร้างโปรเจกต์ จากนั้นเลือก API ที่คุณต้องการใช้ เราต้องการแค่อีเมล ก็เปิดที่นี่ได้เลย นี่เป็นประสบการณ์ใหม่ ปกติผมต้องทำในคอนโซลเอง ต้องตั้งค่า OAuth client แบบแมนนวล ไปที่ consent screen แล้วสร้าง OAuth client
คุณต้องเลือก external ที่นี่ ใช้ได้กับ test user ที่มีบัญชี Google ใส่ข้อมูลติดต่อของคุณลงไป เสร็จแล้วต้องสร้าง OAuth client ผ่านขั้นตอนเดียวกัน สร้าง OAuth client เลือก desktop app สำหรับ application type แล้วกรอก client ID และ client secret ที่ได้มา ระบบจะทำให้อัตโนมัติ แต่คุณสามารถทำ gws auth login เองได้เช่นกัน ในกรณีของผมมันแนะนำให้ทำอัตโนมัติอยู่แล้ว แล้วมันจะให้ URL สำหรับล็อกอินอีกครั้ง คุณต้องอนุญาตสิทธิ์ที่จะให้มันทำได้ เราต้องการให้มันดูอีเมลของเราเท่านั้น ไม่ได้ส่งอะไรออกไปนะครับ และเสร็จสิ้นสำเร็จ
ตั้งค่าก็ใช้เวลาพอสมควรอยู่ครับ ตรวจสอบได้ว่ามี GWS และดูเวอร์ชันได้ ทีนี้ลองดูว่ามันใช้งานได้ไหม ใช้คำสั่ง gws gmail triage ซึ่งจะดึงอีเมลที่ยังไม่ได้อ่านทั้งหมด ผมจะตัดบางส่วนออกนะครับเพราะเป็นอีเมลจริงของผม แต่นี่คือทั้งหมดเลย ผมมีอีเมลที่ยังไม่ได้อ่านเยอะมาก โอเค เราเชื่อมต่อกันได้แล้ว CLI ของเราเชื่อมต่อกับบัญชี Gmail ของเราได้แล้ว
ทีนี้เราต้องเริ่มสร้างฝั่ง Hermes ของระบบครับ สิ่งที่เราต้องการคือ collector script ชื่อ check_inbox.py หรือจะตั้งชื่อยังไงก็ได้ตามต้องการ สำคัญคือสคริปต์นี้ต้องดึงอีเมลของวันนี้ผ่าน GWS เหมือนที่เพิ่งเห็น สามารถกรองขยะออกได้ เช่น no-reply, notification, bulk mail คุณสามารถตั้ง allow list ที่จะปล่อยเนื้อหาเต็มผ่านได้ ถ้าไม่รู้จักก็ตั้งให้ขึ้นมาตรวจสอบ มันจะจำข้อความที่เคยเห็นแล้วด้วย message ID และสร้าง Gmail deep link เองในโค้ด เพราะเอกสารของ GBrain เองระบุชัดว่า LLM มักจะเดา URL parameter ผิด สิ่งเดียวที่สคริปต์นี้ไม่ทำคือไม่เรียก LLM ไม่เดา URL และไม่เรียก GBrain CLI ตรงๆ นั่นคือหน้าที่ของ Hermes สคริปต์นี้มีหน้าที่แค่เก็บอีเมลเท่านั้น การเขียนข้อมูลเข้า GBrain ทั้งหมดจะผ่าน MCP ในรอบการทำงานของ agent ครับ
ส่วนนี้สำคัญมากเช่นกัน นั่นคือรูปแบบหรือ format ครับ เพราะคุณไม่สามารถโยนอะไรก็ได้เข้าไปใน GBrain แล้วหวังว่ามันจะถูกจับภาพได้อย่างถูกต้อง นี่เป็นแค่ตัวอย่าง แต่นี่คือรูปแบบที่ agent จะเขียนทุกครั้งที่รันงานนี้ สำคัญมากที่จะต้องทำให้ถูกต้องเพื่อให้ GBrain ย่อยข้อมูลได้อย่างเหมาะสม เพราะมันถูกออกแบบมาเพื่อสมองกล ไม่ใช่เพื่อคุณครับ คุณจะมี typed front matter ที่นี่ ไม่ใช่กองบันทึก มี type, date, source เป็น front matter ที่ชัดเจนมาก แล้วก็มี subject line ของอีเมลที่ตรงเป๊ะ ผู้ส่งเป็น wiki link ไปยังหน้าของพวกเขา มีบรรทัดสำคัญหนึ่งหรือสองบรรทัดที่ยกมาตรงตัว หลักคำสอนของ GBrain บอกว่า ภาษาคือข้อมูลเชิงลึก สรุปคือดัชนี ไม่ใช่บันทึก แล้วก็มี deep link กลับไปยังข้อความ Gmail ต้นฉบับที่ก็อปปี้มาจากผลลัพธ์ของสคริปต์ รวมถึง action item ใดๆ ที่ปรากฏ และที่ด้านล่างของส่วน review จะเป็นผู้ส่งที่ไม่รู้จักที่แสดงไว้แต่ไม่ได้นำเข้าข้อมูล
/wiki link เป็นรายละเอียดที่รับน้ำหนักสำคัญที่สุดครับ จำได้ไหมจากวิดีโอก่อน ทุกครั้งที่เขียนหน้าใหม่จะเปิด autolinker และ LLM call ทันที ดังนั้นถ้าคุณเขียนหน้า people/ เช่นในตัวอย่างที่ผมทำคือ Alice Chen หน้าของเธอจะถูกเชื่อมโยงกับ digest ของวันนี้ทันทีที่มันถูกสร้างขึ้น
ขออธิบายเพิ่มอีกสไลด์เพื่อเน้นย้ำให้ชัดเจนขึ้นนะครับ นี่คืออีเมลฉบับเดียวกันจาก Alice ที่ถูกจัดเก็บสองแบบ แบบทางซ้ายใช้รูปแมบบตรงกับที่ผมเพิ่งโชว์ให้ดู มี typed front matter พร้อม wiki link, คำพูดที่ยกมาตรงตัว, และ deep link อีกแบบเป็นแค่สรุปข้อความทั่วไปเป็นก้อนเลย เช่น "Alice จาก Acme ส่งอีเมลเรื่อง security review" ถ้าคุณรัน graph query บน Alice Chen มันจะดึงอีเมลฉบับนี้ออกมาได้พร้อมการอ้างอิง Alice Chen ที่ตรวจสอบได้และมีประวัติครบถ้วน แต่ถ้ามีแค่ก้อนข้อความ จะไม่ได้ผลลัพธ์อะไรเลยเมื่อ query Alice Chen
นี่คือประโยคสำคัญครับ ผมไม่ได้สอน GBrain ให้อ่านอีเมลของผม แต่ผมสอน Hermes ให้เขียนหน้าในรูปแบบที่ GBrain คิดได้
ทีนี้ถึงเวลาตั้งค่า cron job จริงๆ แล้วครับ นี่เป็นตัวอย่างสิ่งที่เราจะทำ เราจะรันสิ่งนี้ทุกวันเพื่อย่อยอีเมลของผม นี่คือสคริปต์ check_inbox.py ซึ่งจะเป็น pre-run script ที่ผมจะให้ Hermes ใช้สำหรับ cron job ตัวนี้ มี config, noise prefix และรายละเอียดต่างๆ ครบถ้วน ผมจะเปิดซอร์สโค้ดนี้เมื่อปรับแต่งให้ดีขึ้นอีกนิดนะครับ นี่คือสคริปต์เก็บข้อมูล ถ้าไม่มีอีเมลใหม่ก็จะแจ้ง "no new" สคริปต์นี้จะรันทุกวันในฐานะ pre-run script
ทีนี้เราต้องสร้าง cron job และนี่คือ prompt ที่ผมจะให้มัน ยาวนิดนึงเลยผมเลยเขียนไว้ตรงนี้ครับ ผมจะบอก agent ว่าคุณกำลังจัดเก็บอีเมลของวันนี้เข้า GBrain ผลลัพธ์ของสคริปต์ด้านบนมีข้อความใหม่และส่วนที่ต้องตรวจสอบ pre-run script อยู่ที่ check_inbox.py ที่ผมเพิ่งโชว์ให้ดู ถ้ามันบอกว่าไม่มีอีเมลใหม่ ให้ตอบกลับด้วยคำว่า "silent" โดยเฉพาะ ซึ่งหมายความว่ามันจะไม่ส่งอะไรไปยัง Telegram ของผมเลย แต่ถ้ามีอีเมล ก็ให้ย่อยเป็นหน้าในรูปแบบที่ผมเพิ่งโชว์ให้ดู สำหรับ entity update ให้เพิ่มรายการลงวันที่หนึ่งรายการในส่วน timeline ของแต่ละผู้ส่งหรือบริษัทที่มีหน้า GBrain อยู่แล้ว อย่าสร้างคนใหม่เด็ดขาด entity ที่ไม่รู้จักให้อยู่ในส่วน review ครับ
เวลานำเข้าอีเมลอัตโนมัติ หนึ่งในสิ่งที่ต้องระวังด้านความปลอดภัยก็คือการปนเปื้อน GBrain หรือ prompt injection และอะไรทำนองนั้น ดังนั้นถ้าเป็นอีเมลใหม่ที่ไม่รู้จัก มันจะเข้าไปอยู่ในหมวด review ซึ่งคุณควรตรวจสอบด้วยตัวเองจริงๆ แล้วตัดสินใจว่าจะนำเข้าหรือไม่ ผมไม่แนะนำให้ทำแบบอัตโนมัตินะครับ เพราะอาจจะได้คนหลอกลวงและขยะเข้าไปเต็ม GBrain เลย
ใน Hermes chat ผมบอกว่าอยากสร้าง daily cron job สำหรับงานนี้ แล้วก็ให้ prompt ที่ผมเพิ่งโชว์ไป ครั้งนี้ผมใช้ Grok 4.5 จริงๆ นะครับ อยากลองดูว่ามันทำงานกับ agent operation แบบนี้เป็นยังไงบ้าง โอเค ดูได้ว่า daily job สร้างเสร็จแล้ว ผมจะรันตอนนี้เลยเพื่อดูว่ามันทำงานถูกต้องไหม
โอเค ดูได้ว่ามันรันผ่านแล้วครับ มีข้อความที่อยู่ใน allow list หนึ่งฉบับ ขึ้น review หนึ่งรายการ และ noise ถูกกรองออก agent ได้ค้นหา GBrain สำหรับบริษัทผู้ส่ง ส่วนที่ผม allow list ไว้มีแค่ newsletter ของผมเอง ดูได้ว่านี่คือ digest ที่ถูกเขียนขึ้น คือ daily email digest ที่มี front matter เดียวกัน มีสองรายการคือฉบับใหม่ที่เป็น newsletter ของผม แล้วก็อีกอีเมลหนึ่งที่เป็นอีเมลติดตามงานร่วมที่ต้องตรวจสอบ แนวคิดคือคุณตรวจสอบสิ่งเหล่านี้ด้วยตัวเองก่อน แล้วค่อยๆ สร้าง GBrain ขึ้นมาพร้อมกับ allow list ถ้าเป็นคนในที่ทำงาน คุณก็ใส่เข้า allow list แบบนี้ได้เลยครับ ตรวจสอบแล้วถ้าเป็นสิ่งที่คุณต้องการใน GBrain ก็นำเข้าได้อย่างถูกต้อง ดูได้ว่ามันดึง newsletter ฉบับเต็มแล้วนำเข้า GBrain อย่างถูกต้อง เมื่อหน้าเหล่านี้อยู่ในระบบแล้ว มันจะอัปเดตและถูกย่อยอัตโนมัติ
ดูได้ว่ามันถูกนำเข้าอย่างถูกต้องแล้ว ทำให้อีเมลจาก AI Garage Weekly ในอนาคตจะถูกจัดการอัตโนมัติโดยไม่ต้องผ่านกระบวนการ review แล้ว ไฟล์เหล่านี้อยู่ใต้ brain/writing และ brain/media สำหรับ Tonbi's AI Garage ซึ่งเป็น newsletter ของผม ดูได้ว่าผมค้นหา Tonbi's AI Garage แล้วมันมีข้อมูลอยู่ในหน้า media ครบถ้วน มีข้อมูลว่ามันคืออะไร ลิงก์ไปยัง newsletter และการเชื่อมโยงกับอีเมล ทุกอย่างถูกอ้างอิงไว้ที่นี่และมี back link เข้าสู่ media hub มี email digest ที่มีคำพูดและลิงก์ไปยังหน้าด้านบน การสร้างระบบนี้ให้สมบูรณ์จะใช้เวลาสักพัก แต่นี่คือวิธีเชื่อมต่ออีเมลและตั้งค่าไปป์ไลน์เพื่อเติมเต็ม GBrain ด้วยทุกสิ่งที่อยู่ในโลกของคุณครับ
ทีนี้เวลาผมถาม Hermes ว่า "งานวิจัยเรื่องไหนที่ผมพูดถึงใน newsletter" นี่เป็นหัวข้อที่ผมไม่เคยคุยกับ Hermes ได้เลย แต่ดูได้ว่าเพราะตอนนี้มันมีสิทธิ์เข้าถึงอีเมลของผม ซึ่งเชื่อมกับ newsletter มันสามารถดึงข้อมูลนี้ออกมาได้โดยตรงเลยครับ จะเห็นได้ชัดเลยว่าการเชื่อม GBrain กับอีเมลมีประโยชน์แค่ไหน คุณมีหัวข้อและเนื้อหาที่ไม่ได้มีอยู่ใน Hermes เอง
นี่แหละครับ สมองกลที่คุณป้อนข้อมูลเทียบกับสมองกลที่มีประสาทสัมผัส ผมไม่เคยคุยกับ Hermes เรื่องงานวิจัยนี้เลย แต่เพราะมันสามารถนำเข้าอีเมลของผมได้ มันจึงมีคำตอบนั้น ดังที่บอกไป ผมใส่มาตรการรักษาความปลอดภัยบางอย่างไว้ครับ ประการแรก collector gate คืออนุญาตเฉพาะผู้ส่งที่อยู่ใน allow list เท่านั้น ส่วนคนอื่นจะมีแค่ metadata ในส่วน review ประการที่สอง protocol gate คืออัปเดตเฉพาะหน้าที่มีอยู่แล้วเท่านั้น ห้ามสร้าง entity ใหม่จากอีเมลเด็ดขาด คุณต้องอนุมัติเองเหมือนที่เห็นผมทำกับ newsletter แล้วก็สามารถชี้ไปยัง Telegram เป็น digest ให้อ่านได้ พร้อมตัดไฟล์รายวันได้
นี่แหละครับคือวิดีโอของผมเรื่องวิธีเชื่อมต่อ GBrain กับ Gmail ผ่าน Hermes agent และการตั้งค่าไปป์ไลน์อัตโนมัติแบบนี้ ตั้งค่าก็ใช้เวลาพอสมควรอยู่ แต่พอตั้งค่าเสร็จแล้วมันก็ทำงานเองโดยอัตโนมัติเลยครับ รันแล้วก็เติมเต็มสมองกลที่สองของคุณให้
วิดีโอวันนี้เป็นเรื่องอีเมล แต่อีกหัวข้อยอดนิยมมากสำหรับการเติม GBrain คือ meeting notes ครับ โดยเฉพาะเราจะดู Fathom transcript ในวิดีโอหน้าเรื่อง GBrain เป็นหัวข้อที่คนสนใจเยอะ ฝากติดตามด้วยนะครับ แต่วิดีโอนี้คงต้องจบลงแค่นี้
ฝากคอมเมนต์ด้วยนะครับ คุณเคยลองเชื่อมต่ออีเมลเข้า GBrain ผ่าน Hermes Agent ไหม ประสบการณ์เป็นยังไงบ้าง ผมรู้ว่ามันตั้งค่าค่อนข้างยากนิดนึง เลยต้องใช้เวลาอธิบายเรื่อง format แบบละเอียด แต่อยากรู้ประสบการณ์ของคุณครับ และก็อยากรู้ว่าคุณอยากเห็นแหล่งข้อมูลแบบไหนเพิ่มเติมสำหรับการเติม GBrain ด้วย Hermes Agent ฝากกดไลค์ กดซับสคริบด้วยนะครับ แล้วเจอกันใหม่วิดีโอหน้า ขอบคุณที่รับชมครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- "bols" ในวลี "fire to my bols here" — [ฟังไม่ชัด] แต่จากบริบทน่าจะหมายถึง Telegram bot/channel จึงแปลตามบริบทเป็น Telegram
- ## ส่วนที่ไม่ชัดเจน
- ไม่มีส่วนที่ต้องใส่ `[ฟังไม่ชัด]` — ทุกส่วนแปลตามบริบทได้หมด
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| GBrain | สมองกลที่สอง (second brain) ระบบจัดเก็บความรู้ที่เชื่อมโยงกันใน Hermes Agent |
| Hermes Agent | แพลตฟอร์ม agent ของ Nous Research |
| second brain | สมองกลที่สอง ระบบจัดเก็บและเชื่อมโยงความรู้ส่วนบุคคล |
| GWS (Google Workspace CLI) | เครื่องมือ CLI แบบ Rust binary สำหรับจัดการ Gmail, Calendar, Drive, Docs |
| gcloud CLI | เครื่องมือบรรทัดคำสั่งของ Google Cloud |
| cron job | งานที่กำหนดเวลาทำซ้ำอัตโนมัติ |
| pre-run script | สคริปต์ที่รันก่อน agent เริ่มทำงาน ผลลัพธ์ถูกส่งเข้า prompt |
| collector script | สคริปต์สำหรับเก็บ/ดึงข้อมูล (ในที่นี้คืออีเมล) |
| MCP | Model Context Protocol — โปรโตคอลที่ agent ใช้เขียนข้อมูลเข้า GBrain |
| LLM | Large Language Model — โมเดลภาษาขนาดใหญ่ |
| allow list | รายการผู้ส่งที่อนุญาตให้เนื้อหาผ่านเข้าระบบโดยอัตโนมัติ |
| noise prefix | คำนำหน้าที่ใช้กรองอีเมลขยะ (เช่น no-reply, notification) |
| message ID | รหัสประจำเฉพาะของอีเมลแต่ละฉบับ |
| deep link | ลิงก์ที่ชี้ไปยังข้อความเฉพาะใน Gmail |
| typed front matter | ส่วนหัวเอกสารที่มีโครงสร้าง type, date, source |
| wiki link | ลิงก์เชื่อมโยงไปยังหน้าอื่นใน GBrain |
| autolinker | ระบบที่สร้างการเชื่อมโยงอัตโนมัติเมื่อเขียนหน้าใหม่ |
| graph query | การค้นหาแบบกราฟใน GBrain |
| timeline section | ส่วนไทม์ไลน์ในหน้า entity ของ GBrain |
| entity | เอนทิตี/หน่วยข้อมูล เช่น บุคคลหรือบริษัทใน GBrain |
| digest | สรุปข้อมูลรายวัน |
| OAuth client | ไคลเอนต์สำหรับยืนยันตัวตนผ่าน OAuth |
| consent screen | หน้าจอขอความยินยอมของ Google |
| Telegram | แอปส่งข้อความที่ใช้รับ digest |
| prompt injection | การแทรกคำสั่งอันตรายผ่านข้อความ |
| Fathom | เครื่องมือบันทึก/ถอดเทปการประชุม |
| Grok 4.5 | โมเดล AI ที่ใช้เป็น agent ในวิดีโอนี้ |
| WSL | Windows Subsystem for Linux |
| Rust binary | โปรแกรมที่คอมไพล์จากภาษา Rust |
| agentwiks.com | เว็บไซต์ที่ผู้จัดทำเปิดให้ LLM wikis ฟรี |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:04,379 สัปดาห์ที่แล้วผมทำวิดีโอเกี่ยวกับวิธีตั้งค่า GBrain 2 00:00:04,379 --> 00:00:08,586 ใน Hermes Agent และได้รับการตอบรับที่ดีมากเลยครับ 3 00:00:08,586 --> 00:00:15,798 มีคนสนใจในหัวข้อนี้เยอะ ผมรู้ว่าผู้ประกอบการอิสระและคนทำธุรกิจขนาดย่อมจำนวนมากชอบใช้ 4 00:00:15,798 --> 00:00:21,894 GBrain กับ agent หรือเครื่องมือ AI ของพวกเขา ผมเลยอยากจะสานต่อหัวข้อนี้
เปิดดูซับไตเติ้ลทั้งหมด (201 segments)
1 00:00:00,000 --> 00:00:04,379 สัปดาห์ที่แล้วผมทำวิดีโอเกี่ยวกับวิธีตั้งค่า GBrain 2 00:00:04,379 --> 00:00:08,586 ใน Hermes Agent และได้รับการตอบรับที่ดีมากเลยครับ 3 00:00:08,586 --> 00:00:15,798 มีคนสนใจในหัวข้อนี้เยอะ ผมรู้ว่าผู้ประกอบการอิสระและคนทำธุรกิจขนาดย่อมจำนวนมากชอบใช้ 4 00:00:15,798 --> 00:00:21,894 GBrain กับ agent หรือเครื่องมือ AI ของพวกเขา ผมเลยอยากจะสานต่อหัวข้อนี้ 5 00:00:21,894 --> 00:00:26,444 และวิดีโอวันนี้จะเจาะจงไปที่วิธีเชื่อมต่ออีเมลเข้ากับ 6 00:00:26,444 --> 00:00:33,313 GBrain ของคุณอย่างถูกต้อง เพื่อส่อป้อนข้อมูลที่เข้ามาจากอีเมลเข้าสู่สมองกลที่สอง 7 00:00:33,313 --> 00:00:38,293 (second brain) ของคุณแบบอัตโนมัติ และเมื่อตั้งค่าเสร็จแล้ว 8 00:00:38,293 --> 00:00:45,247 กระบวนการนี้จะทำงานเองโดยอัตโนมัติ คุณแค่ตั้งค่าไว้แล้วปล่อยให้มันทำงานได้เลยครับ 9 00:00:45,247 --> 00:00:49,797 วิดีโอนี้จะใช้ Google และ Gmail เป็นหลักนะครับ เอาล่ะ 10 00:00:49,797 --> 00:00:54,176 เริ่มกันเลย สำหรับใครที่รัน agent เองและอยากเข้าถึง 11 00:00:54,176 --> 00:00:58,212 LLM wikis ที่ผมใช้ทำวิจัยและสร้างวิดีโอเหล่านี้ 12 00:00:58,212 --> 00:01:02,590 ลองแวะไปดูโปรเจกต์ของผมที่ agentwiks.com ได้เลยครับ 13 00:01:02,590 --> 00:01:07,055 ผมให้ wiki เหล่านี้ฟรีในหลากหลายหัวข้อ และถ้าอยากได้ 14 00:01:07,055 --> 00:01:11,691 wiki ขนาดใหญ่พิเศษที่มีหน้ามากกว่าและรายละเอียดลึกกว่า 15 00:01:11,691 --> 00:01:16,413 สามารถสมัครบัญชี pro ได้ในราคา 9.99 ดอลลาร์ต่อเดือนครับ 16 00:01:16,413 --> 00:01:21,737 เอาล่ะ กลับมาที่วิดีโอกัน ขอสรุปสั้นๆ สิ่งที่เราทำในวิดีโอก่อน 17 00:01:21,737 --> 00:01:26,201 เราได้ตั้งค่า GBrain กับ Hermes agent แล้วให้ Hermes 18 00:01:26,201 --> 00:01:32,469 ค้นหาข้อมูลในสมองกลก่อนที่จะตอบ แล้วค่อยเขียนคำตัดสินใจกลับเข้าไปในสมองกล 19 00:01:32,469 --> 00:01:37,277 ลูปนี้ใช้งานได้ แต่เป็นแบบแมนนวลมาก คุณต้องเข้าไปสั่งการ 20 00:01:37,277 --> 00:01:41,398 Hermes agent เองจริงๆ แต่ GBrain จะมีคุณค่าจริงๆ 21 00:01:41,398 --> 00:01:46,120 ก็ต่อเมื่อมันสามารถจับภาพโลกทั้งใบของคุณได้อย่างสมบูรณ์ 22 00:01:46,120 --> 00:01:51,014 ซึ่งไม่ได้มีอยู่แค่ในบทสนทนากับ Hermes agent เท่านั้นครับ 23 00:01:51,014 --> 00:01:56,595 โลกส่วนใหญ่ของคุณอยู่ในอีเมล เพราะงานจำนวนมากยังคงดำเนินผ่านอีเมล 24 00:01:56,595 --> 00:02:00,716 และคนหรือองค์กรต่างๆ ในโลกของคุณก็อยู่ในนั้นด้วย 25 00:02:00,716 --> 00:02:05,867 ดังนั้นการจับข้อมูลเหล่านี้มาป้อนสมองกลที่สองจึงสำคัญมากครับ 26 00:02:05,867 --> 00:02:11,019 นี่คือโมเดลความคิดที่ผมอยากให้คุณมีนะครับ สคริปต์เก็บข้อมูล, 27 00:02:11,019 --> 00:02:16,256 agent ตัดสินใจ, สมองกลจดจำ ซึ่งไม่ใช่สิ่งที่ผมคิดค้นขึ้นมาเอง 28 00:02:16,256 --> 00:02:21,322 แต่เป็นกฎเดียวที่ทั้งสองฝั่งของไปป์ไลน์นี้เห็นด้วยเหมือนกัน 29 00:02:21,322 --> 00:02:28,362 เอกสารของ GBrain เองก็พูดชัดๆ ว่า ถ้าผลลัพธ์ต้องปรากฏและมีรูปแบบที่ถูกต้องทุกครั้ง 30 00:02:28,362 --> 00:02:32,569 ให้สร้างมันในโค้ด แต่ถ้าต้องใช้การตัดสินใจ ให้ใช้ 31 00:02:32,569 --> 00:02:37,034 LLM อย่างเด็ดขาด อย่าทำทั้งสองอย่างในขั้นตอนเดียวกัน 32 00:02:37,034 --> 00:02:42,271 เป็นเหตุผลที่ Hermes cron มีฟีเจอร์ที่ตรงกับการแบ่งแยกนี้พอดี 33 00:02:42,271 --> 00:02:46,478 นั่นคือ pre-run script ที่ผลลัพธ์จะถูกส่งเข้าไปใน 34 00:02:46,478 --> 00:02:50,599 prompt ก่อนที่ agent จะเริ่มทำงาน ถ้าใครดูวิดีโอ 35 00:02:50,599 --> 00:02:54,892 masterclass เรื่อง cron และ automation ของผมมาแล้ว 36 00:02:54,892 --> 00:03:01,160 ก็น่าจะคุ้นเคยกันดีนะครับ ในอดีต GBrain เคยมีวิธีจัดการสูตรอีเมลของตัวเอง 37 00:03:01,160 --> 00:03:06,569 มีระบบ custom collector และ credential gateway ของตัวเองทั้งหมด 38 00:03:06,569 --> 00:03:12,407 ตั้งค่ายุ่งยากพอสมควร แต่ตอนนี้มีแนวโน้มจะยกเลิกกลไกเหล่านั้นทั้งหมด 39 00:03:12,407 --> 00:03:18,589 และหันมาใช้เครื่องมือ Google แบบรวมศูนย์แทน ซึ่งก็คือสิ่งที่เราจะใช้ครับ 40 00:03:18,589 --> 00:03:23,912 นั่นคือ CLI ของ Google เอง มาดูไปป์ไลน์กัน และผมจะทำให้ดูจริงๆ 41 00:03:23,912 --> 00:03:28,548 ด้วยนะครับ ในเดือนมีนาคม Google Workspace ได้เปิดซอร์ส 42 00:03:28,548 --> 00:03:32,841 GWS หรือ Google Workspace CLI คุณจะได้ Rust binary 43 00:03:32,841 --> 00:03:37,735 ตัวเดียวที่ใช้งาน Gmail, Calendar, Drive, Docs ได้ทั้งหมด 44 00:03:37,735 --> 00:03:42,801 มันไม่ใช่ผลิตภัณฑ์อย่างเป็นทางการของ Google ทางเทคนิคนะครับ 45 00:03:42,801 --> 00:03:47,351 แต่มันอยู่ใน GitHub organization ของ Google Workspace 46 00:03:47,351 --> 00:03:51,730 เอง จึงน่าเชื่อถือพอสมควร แต่มีสองสิ่งที่ต้องสังเกต 47 00:03:51,730 --> 00:03:58,169 ข้อแรก มันไม่มีรายการคำสั่งตายตัว แต่จะสร้างคำสั่งขึ้นมาตอนรันโดยอ้างอิงจาก 48 00:03:58,169 --> 00:04:02,376 API discovery service ของ Google เอง ดังนั้นเมื่อ 49 00:04:02,376 --> 00:04:07,700 Google เปลี่ยนแปลง API ตัว CLI ก็สามารถรับรู้และทำงานต่อได้เลย 50 00:04:07,700 --> 00:04:12,078 ข้อที่สอง มันมาพร้อมกับ agent skill กว่า 100 รายการ 51 00:04:12,078 --> 00:04:16,114 ออกแบบมาให้ทำงานร่วมกับ agent ตั้งแต่แรกเลยครับ 52 00:04:16,114 --> 00:04:21,609 นี่คือคำสั่งบางส่วนที่เราจะใช้ตั้งค่าระบบนี้ นี่คือคำสั่งติดตั้ง 53 00:04:21,609 --> 00:04:26,159 CLI ตัวนี้ ผมจะทำงานอยู่ใน WSL นะครับ ทำได้รวดเร็วมาก 54 00:04:26,159 --> 00:04:30,967 ขั้นต่อไปคือ GWS auth setup แต่เกิด error ขึ้นเพราะไม่พบ 55 00:04:30,967 --> 00:04:35,260 gcloud CLI ใน WSL นี้ คุณจึงต้องติดตั้ง gcloud CLI 56 00:04:35,260 --> 00:04:39,896 ด้วย หน้าเอกสารจะบอกวิธีติดตั้งตามระบบปฏิบัติการของคุณ 57 00:04:39,896 --> 00:04:44,275 ผมอยู่บน Debian ก็เลยทำตามนี้ครับ มีหลายขั้นตอนอยู่ 58 00:04:44,275 --> 00:04:49,684 แต่ก็คือการ import public key เพิ่ม gcloud CLI เป็นแหล่งแพ็กเกจ 59 00:04:49,684 --> 00:04:54,921 แล้วก็ติดตั้ง จากนั้นเราทำ gcloud auth login ตามที่เห็นนะครับ 60 00:04:54,921 --> 00:05:01,618 ซึ่งจะล็อกอินเข้าสู่ gcloud มันจะเปิดหน้าจอบนเบราว์เซอร์ให้คุณล็อกอินเข้าบัญชี 61 00:05:01,618 --> 00:05:06,598 Google พอลงชื่อเข้าใช้บนเบราว์เซอร์แล้ว จะมีรหัสผ่านขึ้นมา 62 00:05:06,598 --> 00:05:10,977 ซึ่งผมตัดออกไปแล้ว คุณแค่ก็อปปี้รหัสนั้นมาใส่ได้เลย 63 00:05:10,977 --> 00:05:15,098 เท่านี้ก็ล็อกอินเสร็จแล้วครับ จากนั้นทำ GWS auth 64 00:05:15,098 --> 00:05:19,391 setup ด้วยคำสั่งที่สองที่ผมวางไว้ เลือกบัญชี Tonbi 65 00:05:19,391 --> 00:05:24,371 แล้วโหลดโปรเจกต์ สร้างโปรเจกต์ใหม่ โอเค กำลังสร้างโปรเจกต์ 66 00:05:24,371 --> 00:05:28,835 จากนั้นเลือก API ที่คุณต้องการใช้ เราต้องการแค่อีเมล 67 00:05:28,835 --> 00:05:34,330 ก็เปิดที่นี่ได้เลย นี่เป็นประสบการณ์ใหม่ ปกติผมต้องทำในคอนโซลเอง 68 00:05:34,330 --> 00:05:38,451 ต้องตั้งค่า OAuth client แบบแมนนวล ไปที่ consent 69 00:05:38,451 --> 00:05:42,830 screen แล้วสร้าง OAuth client คุณต้องเลือก external 70 00:05:42,830 --> 00:05:48,840 ที่นี่ ใช้ได้กับ test user ที่มีบัญชี Google ใส่ข้อมูลติดต่อของคุณลงไป 71 00:05:48,840 --> 00:05:53,219 เสร็จแล้วต้องสร้าง OAuth client ผ่านขั้นตอนเดียวกัน 72 00:05:53,219 --> 00:05:57,941 สร้าง OAuth client เลือก desktop app สำหรับ application 73 00:05:57,941 --> 00:06:02,234 type แล้วกรอก client ID และ client secret ที่ได้มา 74 00:06:02,234 --> 00:06:06,527 ระบบจะทำให้อัตโนมัติ แต่คุณสามารถทำ gws auth login 75 00:06:06,527 --> 00:06:11,249 เองได้เช่นกัน ในกรณีของผมมันแนะนำให้ทำอัตโนมัติอยู่แล้ว 76 00:06:11,249 --> 00:06:17,602 แล้วมันจะให้ URL สำหรับล็อกอินอีกครั้ง คุณต้องอนุญาตสิทธิ์ที่จะให้มันทำได้ 77 00:06:17,602 --> 00:06:22,926 เราต้องการให้มันดูอีเมลของเราเท่านั้น ไม่ได้ส่งอะไรออกไปนะครับ 78 00:06:22,926 --> 00:06:27,218 และเสร็จสิ้นสำเร็จ ตั้งค่าก็ใช้เวลาพอสมควรอยู่ครับ 79 00:06:27,218 --> 00:06:32,799 ตรวจสอบได้ว่ามี GWS และดูเวอร์ชันได้ ทีนี้ลองดูว่ามันใช้งานได้ไหม 80 00:06:32,799 --> 00:06:38,294 ใช้คำสั่ง gws gmail triage ซึ่งจะดึงอีเมลที่ยังไม่ได้อ่านทั้งหมด 81 00:06:38,294 --> 00:06:43,961 ผมจะตัดบางส่วนออกนะครับเพราะเป็นอีเมลจริงของผม แต่นี่คือทั้งหมดเลย 82 00:06:43,961 --> 00:06:49,112 ผมมีอีเมลที่ยังไม่ได้อ่านเยอะมาก โอเค เราเชื่อมต่อกันได้แล้ว 83 00:06:49,112 --> 00:06:53,147 CLI ของเราเชื่อมต่อกับบัญชี Gmail ของเราได้แล้ว 84 00:06:53,147 --> 00:06:58,814 ทีนี้เราต้องเริ่มสร้างฝั่ง Hermes ของระบบครับ สิ่งที่เราต้องการคือ 85 00:06:58,814 --> 00:07:04,910 collector script ชื่อ check_inbox.py หรือจะตั้งชื่อยังไงก็ได้ตามต้องการ 86 00:07:04,910 --> 00:07:08,945 สำคัญคือสคริปต์นี้ต้องดึงอีเมลของวันนี้ผ่าน GWS 87 00:07:08,945 --> 00:07:13,496 เหมือนที่เพิ่งเห็น สามารถกรองขยะออกได้ เช่น no-reply, 88 00:07:13,496 --> 00:07:17,617 notification, bulk mail คุณสามารถตั้ง allow list 89 00:07:17,617 --> 00:07:23,026 ที่จะปล่อยเนื้อหาเต็มผ่านได้ ถ้าไม่รู้จักก็ตั้งให้ขึ้นมาตรวจสอบ 90 00:07:23,026 --> 00:07:27,491 มันจะจำข้อความที่เคยเห็นแล้วด้วย message ID และสร้าง 91 00:07:27,491 --> 00:07:31,526 Gmail deep link เองในโค้ด เพราะเอกสารของ GBrain 92 00:07:31,526 --> 00:07:38,652 เองระบุชัดว่า LLM มักจะเดา URL parameter ผิด สิ่งเดียวที่สคริปต์นี้ไม่ทำคือไม่เรียก 93 00:07:38,652 --> 00:07:43,804 LLM ไม่เดา URL และไม่เรียก GBrain CLI ตรงๆ นั่นคือหน้าที่ของ 94 00:07:43,804 --> 00:07:49,384 Hermes สคริปต์นี้มีหน้าที่แค่เก็บอีเมลเท่านั้น การเขียนข้อมูลเข้า 95 00:07:49,384 --> 00:07:53,420 GBrain ทั้งหมดจะผ่าน MCP ในรอบการทำงานของ agent 96 00:07:53,420 --> 00:07:57,884 ครับ ส่วนนี้สำคัญมากเช่นกัน นั่นคือรูปแบบหรือ format 97 00:07:57,884 --> 00:08:02,091 ครับ เพราะคุณไม่สามารถโยนอะไรก็ได้เข้าไปใน GBrain 98 00:08:02,091 --> 00:08:07,157 แล้วหวังว่ามันจะถูกจับภาพได้อย่างถูกต้อง นี่เป็นแค่ตัวอย่าง 99 00:08:07,157 --> 00:08:11,621 แต่นี่คือรูปแบบที่ agent จะเขียนทุกครั้งที่รันงานนี้ 100 00:08:11,621 --> 00:08:17,631 สำคัญมากที่จะต้องทำให้ถูกต้องเพื่อให้ GBrain ย่อยข้อมูลได้อย่างเหมาะสม 101 00:08:17,631 --> 00:08:21,838 เพราะมันถูกออกแบบมาเพื่อสมองกล ไม่ใช่เพื่อคุณครับ 102 00:08:21,838 --> 00:08:26,046 คุณจะมี typed front matter ที่นี่ ไม่ใช่กองบันทึก 103 00:08:26,046 --> 00:08:30,510 มี type, date, source เป็น front matter ที่ชัดเจนมาก 104 00:08:30,510 --> 00:08:34,889 แล้วก็มี subject line ของอีเมลที่ตรงเป๊ะ ผู้ส่งเป็น 105 00:08:34,889 --> 00:08:41,156 wiki link ไปยังหน้าของพวกเขา มีบรรทัดสำคัญหนึ่งหรือสองบรรทัดที่ยกมาตรงตัว 106 00:08:41,156 --> 00:08:45,192 หลักคำสอนของ GBrain บอกว่า ภาษาคือข้อมูลเชิงลึก 107 00:08:45,192 --> 00:08:50,429 สรุปคือดัชนี ไม่ใช่บันทึก แล้วก็มี deep link กลับไปยังข้อความ 108 00:08:50,429 --> 00:08:54,894 Gmail ต้นฉบับที่ก็อปปี้มาจากผลลัพธ์ของสคริปต์ รวมถึง 109 00:08:54,894 --> 00:08:59,444 action item ใดๆ ที่ปรากฏ และที่ด้านล่างของส่วน review 110 00:08:59,444 --> 00:09:04,166 จะเป็นผู้ส่งที่ไม่รู้จักที่แสดงไว้แต่ไม่ได้นำเข้าข้อมูล 111 00:09:04,166 --> 00:09:08,717 /wiki link เป็นรายละเอียดที่รับน้ำหนักสำคัญที่สุดครับ 112 00:09:08,717 --> 00:09:13,181 จำได้ไหมจากวิดีโอก่อน ทุกครั้งที่เขียนหน้าใหม่จะเปิด 113 00:09:13,181 --> 00:09:17,646 autolinker และ LLM call ทันที ดังนั้นถ้าคุณเขียนหน้า 114 00:09:17,646 --> 00:09:23,742 people/ เช่นในตัวอย่างที่ผมทำคือ Alice Chen หน้าของเธอจะถูกเชื่อมโยงกับ 115 00:09:23,742 --> 00:09:31,641 digest ของวันนี้ทันทีที่มันถูกสร้างขึ้น ขออธิบายเพิ่มอีกสไลด์เพื่อเน้นย้ำให้ชัดเจนขึ้นนะครับ 116 00:09:31,641 --> 00:09:36,105 นี่คืออีเมลฉบับเดียวกันจาก Alice ที่ถูกจัดเก็บสองแบบ 117 00:09:36,105 --> 00:09:40,227 แบบทางซ้ายใช้รูปแมบบตรงกับที่ผมเพิ่งโชว์ให้ดู มี 118 00:09:40,227 --> 00:09:44,949 typed front matter พร้อม wiki link, คำพูดที่ยกมาตรงตัว, 119 00:09:44,949 --> 00:09:49,671 และ deep link อีกแบบเป็นแค่สรุปข้อความทั่วไปเป็นก้อนเลย 120 00:09:49,671 --> 00:09:54,136 เช่น "Alice จาก Acme ส่งอีเมลเรื่อง security review" 121 00:09:54,136 --> 00:10:00,918 ถ้าคุณรัน graph query บน Alice Chen มันจะดึงอีเมลฉบับนี้ออกมาได้พร้อมการอ้างอิง 122 00:10:00,918 --> 00:10:06,585 Alice Chen ที่ตรวจสอบได้และมีประวัติครบถ้วน แต่ถ้ามีแค่ก้อนข้อความ 123 00:10:06,585 --> 00:10:12,252 จะไม่ได้ผลลัพธ์อะไรเลยเมื่อ query Alice Chen นี่คือประโยคสำคัญครับ 124 00:10:12,252 --> 00:10:16,716 ผมไม่ได้สอน GBrain ให้อ่านอีเมลของผม แต่ผมสอน Hermes 125 00:10:16,716 --> 00:10:21,610 ให้เขียนหน้าในรูปแบบที่ GBrain คิดได้ ทีนี้ถึงเวลาตั้งค่า 126 00:10:21,610 --> 00:10:26,161 cron job จริงๆ แล้วครับ นี่เป็นตัวอย่างสิ่งที่เราจะทำ 127 00:10:26,161 --> 00:10:30,797 เราจะรันสิ่งนี้ทุกวันเพื่อย่อยอีเมลของผม นี่คือสคริปต์ 128 00:10:30,797 --> 00:10:35,176 check_inbox.py ซึ่งจะเป็น pre-run script ที่ผมจะให้ 129 00:10:35,176 --> 00:10:39,383 Hermes ใช้สำหรับ cron job ตัวนี้ มี config, noise 130 00:10:39,383 --> 00:10:46,938 prefix และรายละเอียดต่างๆ ครบถ้วน ผมจะเปิดซอร์สโค้ดนี้เมื่อปรับแต่งให้ดีขึ้นอีกนิดนะครับ 131 00:10:46,938 --> 00:10:51,145 นี่คือสคริปต์เก็บข้อมูล ถ้าไม่มีอีเมลใหม่ก็จะแจ้ง 132 00:10:51,145 --> 00:10:55,524 "no new" สคริปต์นี้จะรันทุกวันในฐานะ pre-run script 133 00:10:55,524 --> 00:11:00,418 ทีนี้เราต้องสร้าง cron job และนี่คือ prompt ที่ผมจะให้มัน 134 00:11:00,418 --> 00:11:04,625 ยาวนิดนึงเลยผมเลยเขียนไว้ตรงนี้ครับ ผมจะบอก agent 135 00:11:04,625 --> 00:11:13,296 ว่าคุณกำลังจัดเก็บอีเมลของวันนี้เข้า GBrain ผลลัพธ์ของสคริปต์ด้านบนมีข้อความใหม่และส่วนที่ต้องตรวจสอบ 136 00:11:13,296 --> 00:11:18,190 pre-run script อยู่ที่ check_inbox.py ที่ผมเพิ่งโชว์ให้ดู 137 00:11:18,190 --> 00:11:22,912 ถ้ามันบอกว่าไม่มีอีเมลใหม่ ให้ตอบกลับด้วยคำว่า "silent" 138 00:11:22,912 --> 00:11:27,463 โดยเฉพาะ ซึ่งหมายความว่ามันจะไม่ส่งอะไรไปยัง Telegram 139 00:11:27,463 --> 00:11:33,215 ของผมเลย แต่ถ้ามีอีเมล ก็ให้ย่อยเป็นหน้าในรูปแบบที่ผมเพิ่งโชว์ให้ดู 140 00:11:33,215 --> 00:11:38,367 สำหรับ entity update ให้เพิ่มรายการลงวันที่หนึ่งรายการในส่วน 141 00:11:38,367 --> 00:11:42,574 timeline ของแต่ละผู้ส่งหรือบริษัทที่มีหน้า GBrain 142 00:11:42,574 --> 00:11:48,069 อยู่แล้ว อย่าสร้างคนใหม่เด็ดขาด entity ที่ไม่รู้จักให้อยู่ในส่วน 143 00:11:48,069 --> 00:11:55,882 review ครับ เวลานำเข้าอีเมลอัตโนมัติ หนึ่งในสิ่งที่ต้องระวังด้านความปลอดภัยก็คือการปนเปื้อน 144 00:11:55,882 --> 00:12:02,836 GBrain หรือ prompt injection และอะไรทำนองนั้น ดังนั้นถ้าเป็นอีเมลใหม่ที่ไม่รู้จัก 145 00:12:02,836 --> 00:12:08,074 มันจะเข้าไปอยู่ในหมวด review ซึ่งคุณควรตรวจสอบด้วยตัวเองจริงๆ 146 00:12:08,074 --> 00:12:13,569 แล้วตัดสินใจว่าจะนำเข้าหรือไม่ ผมไม่แนะนำให้ทำแบบอัตโนมัตินะครับ 147 00:12:13,569 --> 00:12:17,776 เพราะอาจจะได้คนหลอกลวงและขยะเข้าไปเต็ม GBrain เลย 148 00:12:17,776 --> 00:12:21,811 ใน Hermes chat ผมบอกว่าอยากสร้าง daily cron job 149 00:12:21,811 --> 00:12:26,962 สำหรับงานนี้ แล้วก็ให้ prompt ที่ผมเพิ่งโชว์ไป ครั้งนี้ผมใช้ 150 00:12:26,962 --> 00:12:31,341 Grok 4.5 จริงๆ นะครับ อยากลองดูว่ามันทำงานกับ agent 151 00:12:31,341 --> 00:12:35,548 operation แบบนี้เป็นยังไงบ้าง โอเค ดูได้ว่า daily 152 00:12:35,548 --> 00:12:40,957 job สร้างเสร็จแล้ว ผมจะรันตอนนี้เลยเพื่อดูว่ามันทำงานถูกต้องไหม 153 00:12:40,957 --> 00:12:45,250 โอเค ดูได้ว่ามันรันผ่านแล้วครับ มีข้อความที่อยู่ใน 154 00:12:45,250 --> 00:12:49,371 allow list หนึ่งฉบับ ขึ้น review หนึ่งรายการ และ 155 00:12:49,371 --> 00:12:54,265 noise ถูกกรองออก agent ได้ค้นหา GBrain สำหรับบริษัทผู้ส่ง 156 00:12:54,265 --> 00:12:58,472 ส่วนที่ผม allow list ไว้มีแค่ newsletter ของผมเอง 157 00:12:58,472 --> 00:13:02,507 ดูได้ว่านี่คือ digest ที่ถูกเขียนขึ้น คือ daily 158 00:13:02,507 --> 00:13:08,517 email digest ที่มี front matter เดียวกัน มีสองรายการคือฉบับใหม่ที่เป็น 159 00:13:08,517 --> 00:13:14,957 newsletter ของผม แล้วก็อีกอีเมลหนึ่งที่เป็นอีเมลติดตามงานร่วมที่ต้องตรวจสอบ 160 00:13:14,957 --> 00:13:19,679 แนวคิดคือคุณตรวจสอบสิ่งเหล่านี้ด้วยตัวเองก่อน แล้วค่อยๆ 161 00:13:19,679 --> 00:13:24,659 สร้าง GBrain ขึ้นมาพร้อมกับ allow list ถ้าเป็นคนในที่ทำงาน 162 00:13:24,659 --> 00:13:31,356 คุณก็ใส่เข้า allow list แบบนี้ได้เลยครับ ตรวจสอบแล้วถ้าเป็นสิ่งที่คุณต้องการใน 163 00:13:31,356 --> 00:13:36,164 GBrain ก็นำเข้าได้อย่างถูกต้อง ดูได้ว่ามันดึง newsletter 164 00:13:36,164 --> 00:13:42,174 ฉบับเต็มแล้วนำเข้า GBrain อย่างถูกต้อง เมื่อหน้าเหล่านี้อยู่ในระบบแล้ว 165 00:13:42,174 --> 00:13:47,926 มันจะอัปเดตและถูกย่อยอัตโนมัติ ดูได้ว่ามันถูกนำเข้าอย่างถูกต้องแล้ว 166 00:13:47,926 --> 00:13:54,881 ทำให้อีเมลจาก AI Garage Weekly ในอนาคตจะถูกจัดการอัตโนมัติโดยไม่ต้องผ่านกระบวนการ 167 00:13:54,881 --> 00:13:59,088 review แล้ว ไฟล์เหล่านี้อยู่ใต้ brain/writing และ 168 00:13:59,088 --> 00:14:03,896 brain/media สำหรับ Tonbi's AI Garage ซึ่งเป็น newsletter 169 00:14:03,896 --> 00:14:09,476 ของผม ดูได้ว่าผมค้นหา Tonbi's AI Garage แล้วมันมีข้อมูลอยู่ในหน้า 170 00:14:09,476 --> 00:14:14,370 media ครบถ้วน มีข้อมูลว่ามันคืออะไร ลิงก์ไปยัง newsletter 171 00:14:14,370 --> 00:14:19,178 และการเชื่อมโยงกับอีเมล ทุกอย่างถูกอ้างอิงไว้ที่นี่และมี 172 00:14:19,178 --> 00:14:25,789 back link เข้าสู่ media hub มี email digest ที่มีคำพูดและลิงก์ไปยังหน้าด้านบน 173 00:14:25,789 --> 00:14:34,289 การสร้างระบบนี้ให้สมบูรณ์จะใช้เวลาสักพัก แต่นี่คือวิธีเชื่อมต่ออีเมลและตั้งค่าไปป์ไลน์เพื่อเติมเต็ม 174 00:14:34,289 --> 00:14:39,012 GBrain ด้วยทุกสิ่งที่อยู่ในโลกของคุณครับ ทีนี้เวลาผมถาม 175 00:14:39,012 --> 00:14:43,648 Hermes ว่า "งานวิจัยเรื่องไหนที่ผมพูดถึงใน newsletter" 176 00:14:43,648 --> 00:14:51,804 นี่เป็นหัวข้อที่ผมไม่เคยคุยกับ Hermes ได้เลย แต่ดูได้ว่าเพราะตอนนี้มันมีสิทธิ์เข้าถึงอีเมลของผม 177 00:14:51,804 --> 00:14:57,557 ซึ่งเชื่อมกับ newsletter มันสามารถดึงข้อมูลนี้ออกมาได้โดยตรงเลยครับ 178 00:14:57,557 --> 00:15:02,622 จะเห็นได้ชัดเลยว่าการเชื่อม GBrain กับอีเมลมีประโยชน์แค่ไหน 179 00:15:02,622 --> 00:15:06,829 คุณมีหัวข้อและเนื้อหาที่ไม่ได้มีอยู่ใน Hermes เอง 180 00:15:06,829 --> 00:15:12,410 นี่แหละครับ สมองกลที่คุณป้อนข้อมูลเทียบกับสมองกลที่มีประสาทสัมผัส 181 00:15:12,410 --> 00:15:19,193 ผมไม่เคยคุยกับ Hermes เรื่องงานวิจัยนี้เลย แต่เพราะมันสามารถนำเข้าอีเมลของผมได้ 182 00:15:19,193 --> 00:15:25,461 มันจึงมีคำตอบนั้น ดังที่บอกไป ผมใส่มาตรการรักษาความปลอดภัยบางอย่างไว้ครับ 183 00:15:25,461 --> 00:15:30,097 ประการแรก collector gate คืออนุญาตเฉพาะผู้ส่งที่อยู่ใน 184 00:15:30,097 --> 00:15:34,647 allow list เท่านั้น ส่วนคนอื่นจะมีแค่ metadata ในส่วน 185 00:15:34,647 --> 00:15:40,915 review ประการที่สอง protocol gate คืออัปเดตเฉพาะหน้าที่มีอยู่แล้วเท่านั้น 186 00:15:40,915 --> 00:15:47,268 ห้ามสร้าง entity ใหม่จากอีเมลเด็ดขาด คุณต้องอนุมัติเองเหมือนที่เห็นผมทำกับ 187 00:15:47,268 --> 00:15:51,733 newsletter แล้วก็สามารถชี้ไปยัง Telegram เป็น digest 188 00:15:51,733 --> 00:15:58,344 ให้อ่านได้ พร้อมตัดไฟล์รายวันได้ นี่แหละครับคือวิดีโอของผมเรื่องวิธีเชื่อมต่อ 189 00:15:58,344 --> 00:16:04,440 GBrain กับ Gmail ผ่าน Hermes agent และการตั้งค่าไปป์ไลน์อัตโนมัติแบบนี้ 190 00:16:04,440 --> 00:16:11,394 ตั้งค่าก็ใช้เวลาพอสมควรอยู่ แต่พอตั้งค่าเสร็จแล้วมันก็ทำงานเองโดยอัตโนมัติเลยครับ 191 00:16:11,394 --> 00:16:17,061 รันแล้วก็เติมเต็มสมองกลที่สองของคุณให้ วิดีโอวันนี้เป็นเรื่องอีเมล 192 00:16:17,061 --> 00:16:21,697 แต่อีกหัวข้อยอดนิยมมากสำหรับการเติม GBrain คือ meeting 193 00:16:21,697 --> 00:16:27,106 notes ครับ โดยเฉพาะเราจะดู Fathom transcript ในวิดีโอหน้าเรื่อง 194 00:16:27,106 --> 00:16:31,399 GBrain เป็นหัวข้อที่คนสนใจเยอะ ฝากติดตามด้วยนะครับ 195 00:16:31,399 --> 00:16:35,692 แต่วิดีโอนี้คงต้องจบลงแค่นี้ ฝากคอมเมนต์ด้วยนะครับ 196 00:16:35,692 --> 00:16:40,157 คุณเคยลองเชื่อมต่ออีเมลเข้า GBrain ผ่าน Hermes Agent 197 00:16:40,157 --> 00:16:45,566 ไหม ประสบการณ์เป็นยังไงบ้าง ผมรู้ว่ามันตั้งค่าค่อนข้างยากนิดนึง 198 00:16:45,566 --> 00:16:52,005 เลยต้องใช้เวลาอธิบายเรื่อง format แบบละเอียด แต่อยากรู้ประสบการณ์ของคุณครับ 199 00:16:52,005 --> 00:16:57,586 และก็อยากรู้ว่าคุณอยากเห็นแหล่งข้อมูลแบบไหนเพิ่มเติมสำหรับการเติม 200 00:16:57,586 --> 00:17:02,308 GBrain ด้วย Hermes Agent ฝากกดไลค์ กดซับสคริบด้วยนะครับ 201 00:17:02,308 --> 00:17:06,000 แล้วเจอกันใหม่วิดีโอหน้า ขอบคุณที่รับชมครับ