การไล่อ่านเอกสารทางการฉบับเล็กของ Claude Code ทำให้เจอคานงัด 3 อย่างที่ฉันไม่ได้ใช้ — agent teams, คำสั่งสำหรับการบีบอัดบริบท และเส้นทางฉีดข้อมูลผ่าน MCP ที่ซ่อนอยู่

Claude Code AIエージェント 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), mailbox inboxes/{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 ครั้งติด ระหว่างการอ่านเป็นชุดของวันนั้น ถ้ามันไม่ทำงาน ฉันคงเขียนเนื้อหาเดียวกันขึ้นใหม่ในฐานะ “การค้นพบใหม่” แล้วเสียเวลาตัวเองในภายหลังไปกับการอ่านซ้ำเพื่อคิดว่ามันขัดกับรายการก่อนหน้า หรือแค่พูดซ้ำเฉย ๆ

ยิ่งอ่านมาก ขั้นตอนการตรวจก็ยิ่งต้องหนักขึ้น

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

ทำไมฉันจึงเลิกใช้ orchestrator subagent ใน Claude Code — ข้อจำกัดเชิงโครงสร้าง 3 ข้อจากสเปกฮาร์เนสทางการ

อย่าให้ Claude Code แก้ไฟล์ตั้งค่าของตัวเองเด็ดขาด — ประวัติอุบัติเหตุที่นำไปสู่การเสนอ diff แล้วรอเจ้าของอนุมัติ

คานงัดทั้งสามไม่ใช่สิ่งที่ฉันเจอจากการออกไปตามหามัน มันนั่งอยู่ตรงนั้นมาตลอด ในเอกสารฉบับเล็กที่ฉันเลื่อนไปเรื่อย ๆ ยิ่งเอกสารมีเนื้อหาน้อยเท่าไร มันก็ยิ่งถูกปฏิบัติราวกับเข้าใจได้โดยไม่ต้องอ่านมากขึ้นเท่านั้น — และคราวนี้ การปฏิบัติแบบนั้นคิดเป็นของที่พลาดไป 3 รายการ

ส่งข้อความได้ตามสบาย

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