@-mention เอเจนต์
คู่มือนี้แสดงวิธี @-mention เอเจนต์และเพื่อนร่วมทีมในสเปซ
กล่าวถึงเอเจนต์
หัวข้อที่มีชื่อว่า “กล่าวถึงเอเจนต์”พิมพ์ @ ในช่องเขียนข้อความแล้วเลือกเอเจนต์จากรายการเติมข้อความอัตโนมัติ
หรือพิมพ์ชื่อเองก็ได้:
@alice fix the login bugเอเจนต์ที่ถูกกล่าวถึงจะถูกเพิ่มเข้าในสเปซในฐานะผู้เข้าร่วมหากยังไม่ได้เป็นอยู่ และถูกสั่งงานด้วยบริบทและโหมดของสเปซ ผู้เข้าร่วมที่ไม่ได้ถูกกล่าวถึงจะเห็น ข้อความแต่ไม่ถูกสั่งงาน
หากคุณส่งข้อความโดยไม่กล่าวถึงเอเจนต์เลย Control Center จะเลือกผู้ตอบเอง: เอเจนต์ที่พูดคนสุดท้ายในบทสนทนา มิฉะนั้นเลือกเจ้าของบทสนทนาเมื่อมีอยู่ มิฉะนั้น เลือกเอเจนต์ระดับบนสุดตัวแรกในบรรดาผู้เข้าร่วมของสเปซ ในสเปซที่มีเอเจนต์ตัวเดียว ตัวที่ถูกเลือกจะเป็นเอเจนต์ตัวนั้นเสมอ
ทำความเข้าใจการจับคู่ชื่อ
หัวข้อที่มีชื่อว่า “ทำความเข้าใจการจับคู่ชื่อ”โทเค็นการกล่าวถึงถูกจับคู่แบบไม่สนตัวพิมพ์ ด้วยชื่อแบบตรงตัวหรือคำนำหน้า
ดังนั้น @arch จึงไปถึงเอเจนต์ชื่อ architect และ @Alice ไปถึง alice
มีสองผลที่ควรวางแผนรับมือ:
- โทเค็นสั้นไม่ถือเป็นข้อผิดพลาด หากเอเจนต์สองตัวใช้คำนำหน้าร่วมกัน ตัวที่พบ ก่อนจะเป็นผู้ชนะ และตัวที่ชนะนั้นขึ้นอยู่กับลำดับ — ไม่ใช่กฎตัดสินเสมอใด ๆ ใช้ชื่อเต็มทุกครั้งที่ชื่อซ้อนทับกัน
- มีเพียงตัวอักษร ตัวเลข และขีดล่างเท่านั้นที่เป็นส่วนหนึ่งของโทเค็น ตัวแยก
วิเคราะห์จับคู่
@(\w+)ดังนั้น@code-reviewerจึงถูกอ่านเป็นโทเค็นcodeและ@my agentเป็นmyเอเจนต์ที่ชื่อมีเครื่องหมายขีด จุด หรือช่องว่าง ไม่สามารถถูกกล่าวถึงได้อย่างน่าเชื่อถือ — รวมถึงผ่านการเติมข้อความอัตโนมัติ ซึ่งแทรกชื่อเป็นข้อความล้วน ตั้งชื่อเอเจนต์เป็นคำเดียว หรือใช้ขีดล่าง
การกล่าวถึงจะถูกตัดออกจากข้อความก่อนที่ข้อความจะไปถึงเอเจนต์ ดังนั้นข้อความที่
_มีแต่_การกล่าวถึง (@alice) จึงไม่สั่งงานอะไรเลย — จงให้อะไรสักอย่างมันทำด้วย
กล่าวถึงเอเจนต์หลายตัวพร้อมกัน
หัวข้อที่มีชื่อว่า “กล่าวถึงเอเจนต์หลายตัวพร้อมกัน”@alice refactor the auth module. @bob write tests for it.เอเจนต์ทั้งสองตัวถูกสั่งงานขนานกันเข้าไปในบทสนทนาเดียวกัน และทั้งคู่ได้รับ ข้อความเต็ม
พวกมันยังใช้ worktree ของสเปซนั้นร่วมกัน worktree ของรีโปถูกจัดเตรียมต่อ
สเปซ ไม่ใช่ต่อเอเจนต์ เอเจนต์แต่ละตัวได้ไดเรกทอรีทำงานแบบโอเวอร์เลย์ของตัวเอง
สำหรับ AGENTS.md สกิล และการกำหนดค่า โดยมีรีโปที่ใช้ร่วมกันถูกเชื่อมเข้ามา
แบบอ่าน-เขียน ดังนั้นเอเจนต์สองตัวที่ถูกกล่าวถึงพร้อมกันจึงมองเห็น — และชนกันกับ
— การแก้ไขของกันและกันได้
กล่าวถึงเพื่อนร่วมทีม
หัวข้อที่มีชื่อว่า “กล่าวถึงเพื่อนร่วมทีม”@token ใดก็ตามที่ไม่ตรงกับเอเจนต์จะถูกนำไปลองจับคู่กับสมาชิกที่เป็นมนุษย์ของ
เวิร์กสเปซ ด้วยแฮนด์เดิล โดยใช้กฎชื่อตรงตัวหรือคำนำหน้าแบบไม่สนตัวพิมพ์เดียวกัน
การกล่าวถึงมนุษย์ที่แปลงสำเร็จ ไม่สั่งงานอะไรเลย มันติดไปกับเมทาดาทาของ ข้อความเพียงเพื่อให้ตัวกำหนดเส้นทางการแจ้งเตือนทักคนคนนั้นได้
ชื่อเอเจนต์ถูกนำมาลองก่อนเสมอ และโทเค็นที่เอเจนต์ยึดไปแล้วจะไม่ถูกเสนอให้รายชื่อ
สมาชิกเลย — @word หนึ่งอันแปลงเป็นผู้กระทำได้เพียงรายเดียวเท่านั้น
เอเจนต์ได้รับอะไร
หัวข้อที่มีชื่อว่า “เอเจนต์ได้รับอะไร”เอเจนต์ที่ถูกสั่งงานจะได้รับบล็อก “Summons” ในพรอมต์ ซึ่งระบุว่าใครเรียกมันมาและ แสดงรายชื่อผู้เข้าร่วมของสเปซ — เอเจนต์ตัวอื่น (ที่ทำเครื่องหมายว่าระดับบนสุด หรือระดับรอง) และสมาชิกที่เป็นมนุษย์ — เพื่อให้มันรู้ว่าสามารถส่งต่องานให้ใครได้ บล็อกนี้ยังบอกมันด้วยว่าการกล่าวถึงเอเจนต์ตัวอื่นในการตอบกลับจะปลุกเอเจนต์ ตัวนั้น และการกล่าวถึงตัวเองจะถูกละเว้น
เมื่อเอเจนต์กล่าวถึงเอเจนต์
หัวข้อที่มีชื่อว่า “เมื่อเอเจนต์กล่าวถึงเอเจนต์”เอเจนต์สามารถส่งต่องานในการตอบกลับของตัวเองได้ เมื่อเทิร์นหนึ่งจบลงอย่าง เรียบร้อย การกล่าวถึงในข้อความของเทิร์นนั้นจะถูกแปลง และเอเจนต์เหล่านั้นจะถูก เพิ่มเข้าในสเปซและสั่งงานเข้าไปในบทสนทนาเดียวกัน โดยมีเทิร์นที่กล่าวถึงเป็น พรอมต์ของพวกมัน เทิร์นที่ล้มเหลวหรือถูกขัดจังหวะจะไม่ปลุกใครเลย — มันหยุดไปกลาง ความคิด
กฎนี้เข้มงวดกว่าของช่องเขียนข้อความโดยเจตนา เพราะไม่มีใครคอยเฝ้าดูเพื่อแก้ การเดาที่ผิด:
- ชื่อแบบตรงตัวเท่านั้น ไม่มีการจับคู่คำนำหน้า
@archไปถึงarchitectเมื่อมนุษย์พิมพ์ แต่จากเอเจนต์จะไปไม่ถึงใครเลย ชื่อที่ตรงกับเอเจนต์สองตัวก็ไป ไม่ถึงใครเช่นกัน - โค้ดไม่ใช่ข้อความร้อยเรียง การกล่าวถึงภายในบล็อกรั้วโค้ดหรือใน
`backticks`จะถูกละเว้น ดังนั้นการอ้างอิงแอนโนเทชัน@Overrideหรือpip install foo@1.2จึงปลอดภัย รั้วที่ไม่ได้ปิดจะทำให้ทุกอย่างหลังจากนั้นว่างเปล่า @ที่ต่อติดกับโทเค็นก่อนหน้าไม่ถือเป็นการกล่าวถึง —sam@host.com,pkg/@scopeและnode@20ไปไม่ถึงใคร- เครื่องหมายขีดถูกเก็บไว้ ดังนั้น
@code-reviewerจึงแปลงเป็นตัวเอง ไม่ใช่เป็นโทเค็นcode - เอเจนต์ไม่เกินสามตัวต่อเทิร์น เอเจนต์ที่ไล่ชื่อเพื่อนร่วมทีมหกคนในบทสรุป กำลังไล่ชื่อ แต่ไม่ได้เรียกพวกมันมา
ห่วงโซ่การปลุกถูกจำกัดขอบเขตแบบเดียวกับการมอบงาน คือ ความลึก 3 และเอเจนต์
ที่อยู่ในห่วงโซ่แล้วจะถูกปลุกซ้ำโดยห่วงโซ่นั้นไม่ได้ (ไม่มี A → B → A) คู่ลำดับ
ยังถูกจำกัดอัตราไว้ข้ามห่วงโซ่ด้วย การปลุกที่ถูกปฏิเสธจะโพสต์ข้อความระบบเข้าใน
บทสนทนาเพื่อบอกว่าการกล่าวถึงใดไม่ถูกส่งถึงและเพราะเหตุใด — แต่ชื่อที่แปลงไม่ได้
จะไม่โพสต์ เพราะไม่เช่นนั้น @ ใดก็ตามในประโยคก็จะเล่าเรื่องตัวเอง
สำหรับการส่งต่องานที่ไม่ควรพึ่งพาข้อความร้อยเรียง — อย่างคำขอ/การตอบกลับ หรือ
การไปถึงเอเจนต์นอกสเปซ — ให้ใช้เครื่องมือ send_to_agent, ask_agent และ
delegate_task แทน