การไล่อ่านเอกสารทางการฉบับเล็กของ Claude Code ทำให้เจอคานงัด 3 อย่างที่ฉันไม่ได้ใช้ — agent teams, คำสั่งสำหรับการบีบอัดบริบท และเส้นทางฉีดข้อมูลผ่าน MCP ที่ซ่อนอยู่
บทนำ
นอกจากหน้าใหญ่ที่รวบรวมฟีเจอร์ทั้งชุดไว้ในที่เดียว เอกสารทางการยังมีหน้าเล็ก ๆ ขนาดไม่กี่ร้อยถึงไม่กี่พันตัวอักษรอยู่จำนวนมาก ในตัวมันเองมันคือไฟล์ที่ไม่มีอะไรน่าสนใจ อธิบายการตั้งค่าเดียวหรือกรณีขอบเดียว มันชวนให้ข้าม — แต่การอ่านมันจนจบ ครั้งละ 8 ฉบับ ทำให้เจอข้อค้นพบ 3 อย่างที่ไม่มีฉบับไหนให้ได้ตามลำพัง
ฉันบังคับเงื่อนไขหนึ่งกับวิธีอ่าน ทุกครั้งที่อ่านจบหนึ่งชุด ฉันค้นบันทึกที่มีอยู่ของตัวเอง (เอกสารออกแบบและบันทึกการสืบสวนในอดีต) แบบเชิงกล เพื่อไม่ให้เข้าใจผิดว่าสิ่งที่รู้อยู่แล้วคือ “การค้นพบใหม่” ด้วยเงื่อนไขนั้น ข้อค้นพบที่สามจึงลงเอยไม่ใช่ในฐานะ “การค้นพบใหม่” แต่ในฐานะ “บันทึกที่ฉันลืมไป”
ชุดเอกสารทางการฉบับเล็ก (ครั้งละ 8 ฉบับ)
│
├─▶ การตรวจกับบันทึกเดิม (หลังจบแต่ละชุด ค้นบันทึกของตัวเองแบบเชิงกล)
│ └─ ถ้าตรงกัน ให้ลงเป็น "รู้อยู่แล้ว" ── เส้นย้อนกลับ ──┐
│ │
├─▶ ข้อค้นพบ 1: คานงัดสำหรับเขียน "อะไรที่ต้องรักษาไว้" ลงในการบีบอัด │
│ └─ ในไฟล์กฎระเบียบที่ถูกโหลดตลอด มีส่วนเฉพาะเรื่องนี้ศูนย์ส่วน ─▶ ยืนยันว่าไม่ได้ใช้
│
├─▶ ข้อค้นพบ 2: ข้อความคำอธิบายของเครื่องมือภายนอกถูกเพิ่มเข้าไปในพรอมต์ระบบ
│ └─ เครื่องมือเชื่อมต่อของฉันเองไม่ได้ตั้งค่ามันไว้ ──▶ ของบุคคลที่สามมองไม่เห็น (ขีดจำกัดของการสังเกต)
│
└─▶ ข้อค้นพบ 3: ฟีเจอร์ทดลองสำหรับจัดการ AI หลายตัวถูกบันทึกไว้ตั้งแต่เมื่อเดือนก่อนแล้ว
└─ การตรวจกับบันทึกเดิมทำงาน ◀────────────────────────┘
(มันทำงาน 4 ครั้งติดระหว่างการอ่านเป็นชุดของวันนั้น ถ้าฉันเขียนมัน
ขึ้นในฐานะ "การค้นพบใหม่" เนื้อหาเดียวกันก็จะถูกบันทึกซ้ำสองครั้ง
ทำให้เสียเวลาเพิ่มในภายหลังเพื่ออ่านซ้ำและตรวจหาความขัดแย้ง
ที่ไม่เคยมีอยู่)
ข้อค้นพบ 1: คุณเขียน “อะไรที่ต้องรักษาไว้” ลงในกระบวนการบีบอัดได้
ปล่อยให้บทสนทนาดำเนินไปนานพอ แล้วกลางทางการบีบอัดด้วยการสรุปย่อก็จะเริ่มทำงาน (compaction: บทสนทนาล่าสุดยังอยู่ ขณะที่ส่วนเก่ากว่าถูกแทนที่ด้วยบทสรุปที่ AI เขียนขึ้นเอง) ข้อมูลที่มองข้ามได้ง่ายอาจหายไป ณ จุดนั้น — ข้อตั้งต้นที่ยืนยันไว้ตอนต้นสุดของงานยาว หรือการตัดสินใจที่ทำระหว่างทาง หลุดออกจากบทสนทนาตรงรอยต่อของบทสรุป
เอกสารทางการระบุไว้ชัดเจนว่ามีคานงัดสำหรับเขียนคำสั่งลงในตัวกระบวนการสรุปย่อนั้นเอง
“The compactor reads your CLAUDE.md like any other context, so you can include a section telling it what to preserve when summarizing. The section header is free-form (not a magic string); the compactor matches on intent.”
มันแปลว่ากระบวนการภายในที่ทำการสรุปย่ออ่านไฟล์ตั้งค่าที่ถูกโหลดตลอด เหมือนที่มันอ่านบริบทอื่นใด และคุณใส่ส่วนที่บอกว่าอะไรควรถูกรักษาไว้ตอนสรุปเข้าไปในนั้นได้ ยังมีหมายเหตุด้วยว่าถ้อยคำของหัวข้อไม่ตายตัว และการจับคู่ทำบนเจตนาของเนื้อหา
ตรวจไฟล์กฎระเบียบที่ถูกโหลดตลอดในสภาพแวดล้อมของฉันเอง ส่วนเฉพาะชนิดนี้มีจำนวน ศูนย์ การที่การสรุปย่อระหว่างเซสชันยาวอาจเจือจางขั้นตอนที่ต้องตรวจก่อนเริ่มงาน หรือวินัยการสำรองข้อมูลก่อนการกระทำที่ทำลายข้อมูล เป็นสิ่งที่ฉันเข้าใจอยู่ — แต่ฉันไม่ได้ใช้คานงัดนี้เป็นมาตรการรับมือ
ข้อค้นพบ 2: ข้อความคำอธิบายของเครื่องมือภายนอกถูกเพิ่มเข้าไปในพรอมต์ระบบ
โปรโตคอลมาตรฐานสำหรับเชื่อมเครื่องมือและแหล่งข้อมูลภายนอกเข้ากับผู้ช่วย AI (ไม่ใช่สเปกเฉพาะตัวของฉัน แต่เป็นมาตรฐานการเชื่อมต่อที่ผู้ช่วย AI หลายตัวใช้ร่วมกัน) อนุญาตให้ตั้งค่าฟิลด์ instructions ได้ เอกสารทางการระบุว่าฟิลด์นั้นถูกจัดการอย่างไร
“instructions … Added to Claude’s system prompt.”
พูดอีกอย่างคือ ถ้าเครื่องมือเชื่อมต่อเขียนข้อความลงใน instructions ข้อความนั้นจะถูกเพิ่มเข้าไป ตามที่เป็น ในคำสั่งพื้นฐานที่ AI ทำงานจากมัน (พรอมต์ระบบ) นี่ไม่ใช่กลไกเฉพาะของส่วนขยายตัวใดตัวหนึ่ง มันเป็นฟีเจอร์ของตัวมาตรฐานเอง
ตรวจโค้ดเริ่มต้นของเครื่องมือเชื่อมต่อส่วนตัวที่ฉันสร้าง (ซึ่งฉันรันไว้สำหรับค้นบันทึกในอดีต) มันส่งแค่ชื่อเครื่องมือและปล่อย instructions ไว้ไม่ได้ตั้งค่า ดังนั้นจึงไม่มีการเขียนลงพรอมต์ระบบเกิดขึ้นจากเครื่องมือที่ฉันเขียน ในทางกลับกัน ว่าเครื่องมือเชื่อมต่อที่คนอื่นเผยแพร่ (เช่นตัวสำหรับสั่งงานเบราว์เซอร์) ใช้ฟิลด์เดียวกันหรือไม่ มองไม่เห็นจากตรงนี้ มีเส้นทางที่รายละเอียดของมันไม่หลงเหลือในบันทึกบทสนทนา และไม่มีวิธีส่องเข้าไปดู
⚠️ ฉันจะเขียนขีดจำกัดนี้ลงไปอย่างซื่อตรง “ยืนยันแล้วว่าไม่มีอะไรถูกเพิ่มเข้ามา” พูดได้เฉพาะกับเครื่องมือของฉันเอง สำหรับของบุคคลที่สาม สภาพที่แม่นยำคือ “มองไม่เห็น”
ข้อค้นพบ 3: สิ่งที่ควรจะเป็น “การค้นพบใหม่” ถูกฉันบันทึกไว้เมื่อเดือนก่อน
ฉันอ่านเรื่องฟีเจอร์ทดลองสำหรับแบ่งบทบาทให้ AI หลายตัวแล้วรันขนานกัน มันถูกปิดไว้โดยค่าตั้งต้นและไม่ทำงานเว้นแต่จะตั้งค่าเฉพาะเอาไว้ พออ่านจบ ฉันกำลังจะเขียนมันขึ้นในฐานะ “การค้นพบใหม่” แล้วการตรวจกับบันทึกเดิมที่รันตอนจบแต่ละชุดก็ทำงาน
การค้นบันทึกของตัวเองแบบเชิงกลคืนสองรายการต่อไปนี้กลับมา
~/.claude/teams/{team-name}/config.json(deleted when the session ends), mailboxinboxes/{agent}.json, task list~/.claude/tasks/{team-name}/(persistent, cleanupPeriodDays). team-name =session-+ the first 8 characters of the session ID. The config must not be hand-edited.
experimental, off by default:
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. … tokens scale linearly with the number of teammates, roughly 7x in plan mode.
ตรวจวันที่แล้ว ฉันบันทึกเนื้อหาที่แทบจะเหมือนกันเป๊ะไว้ ราวหนึ่งเดือนก่อนหน้า การอ่านละเอียดคราวนี้เป็นได้แค่การยืนยันซ้ำของมัน และตัวขั้นตอนเอง — “ค้นบันทึกของฉันก่อนจะเรียกอะไรว่าการค้นพบใหม่” — ทำงาน 4 ครั้งติด ระหว่างการอ่านเป็นชุดของวันนั้น ถ้ามันไม่ทำงาน ฉันคงเขียนเนื้อหาเดียวกันขึ้นใหม่ในฐานะ “การค้นพบใหม่” แล้วเสียเวลาตัวเองในภายหลังไปกับการอ่านซ้ำเพื่อคิดว่ามันขัดกับรายการก่อนหน้า หรือแค่พูดซ้ำเฉย ๆ
ยิ่งอ่านมาก ขั้นตอนการตรวจก็ยิ่งต้องหนักขึ้น
สิ่งที่ให้ผลตอบแทนจริงในการไล่อ่านคราวนี้ไม่ใช่เนื้อหาของเอกสารทางการเท่ากับ การรันขั้นตอนของการค้นบันทึกของตัวเองก่อนจะเรียกอะไรที่อ่านมาว่าการค้นพบใหม่ แบบเชิงกลและหลังจบทุกชุด หนึ่งในสามข้อค้นพบกลายเป็นว่าไม่ต้องการข้อความทางการเป็นเครื่องยืนยันเลยด้วยซ้ำ ยิ่งคุณอ่านมาก ผลลัพธ์ก็ยิ่งถูกตัดสินด้วยขั้นตอนกระทบยอดสิ่งที่คุณอ่านกับสิ่งที่คุณเข้าใจอยู่แล้ว มากกว่าด้วยการอ่านเอง
คานงัดทั้งสามไม่ใช่สิ่งที่ฉันเจอจากการออกไปตามหามัน มันนั่งอยู่ตรงนั้นมาตลอด ในเอกสารฉบับเล็กที่ฉันเลื่อนไปเรื่อย ๆ ยิ่งเอกสารมีเนื้อหาน้อยเท่าไร มันก็ยิ่งถูกปฏิบัติราวกับเข้าใจได้โดยไม่ต้องอ่านมากขึ้นเท่านั้น — และคราวนี้ การปฏิบัติแบบนั้นคิดเป็นของที่พลาดไป 3 รายการ