การสนทนา
ภาพรวม
การสนทนาของ Work ขับเคลื่อนด้วย Agent Loop หลังจากผู้ใช้ส่งข้อความ Agent จะเข้าสู่วงจรการให้เหตุผล-การดำเนินการแบบอัตโนมัติ: วิเคราะห์ความต้องการ → เรียกใช้เครื่องมือ → รับผลลัพธ์ → ให้เหตุผลต่อ จนกว่างานจะเสร็จสมบูรณ์หรือถึงเงื่อนไขการออก กระบวนการทั้งหมดจะแสดงผลบนหน้าจอแบบเรียลไทม์ผ่านเหตุการณ์แบบสตรีม
ประเภทของข้อความ
การไหลของข้อความในการสนทนาประกอบด้วยประเภทต่อไปนี้:
| ประเภทข้อความ | วิธีการแสดงผล | คำอธิบาย |
|---|---|---|
| ข้อความผู้ใช้ | ฟองข้อความชิดขวา | ข้อความและไฟล์แนบที่ผู้ใช้ส่ง |
| ข้อความผู้ช่วย | แสดงผล Markdown ชิดซ้าย | คำตอบข้อความของ Agent รองรับการไฮไลต์โค้ด สูตรคณิตศาสตร์ และตาราง |
| การเรียกใช้เครื่องมือ | แผงพับเก็บ ToolCallGroup | ชื่อเครื่องมือ + พารามิเตอร์อินพุต + สถานะการดำเนินการ + ผลลัพธ์เอาต์พุต |
| กระบวนการคิด | บล็อกพับเก็บ Thinking | กระบวนการให้เหตุผลของ Agent (โมเดล thinking แบบเนทีฟ เช่น Claude) |
| การจัดการงาน | แผงงาน TaskPanel | รายการงานแบบมีโครงสร้าง (รอดำเนินการ/กำลังดำเนินการ/เสร็จสิ้น) |
| กิจกรรมของ Subagent | SubagentToolRow | กระบวนการดำเนินการของ Subagent พร้อมเครื่องหมายพิเศษ |
| การโต้ตอบด้วยคำถาม | QuestionWizard | คำถามแบบมีโครงสร้างที่ Agent ถามผู้ใช้ |
การแสดงผลการเรียกใช้เครื่องมือ
เมื่อ Agent เรียกใช้เครื่องมือ หน้าจอจะแสดงคอมโพเนนต์ ToolCallGroup:

| องค์ประกอบที่แสดง | คำอธิบาย |
|---|---|
| ชื่อเครื่องมือ | ตัวระบุเครื่องมือที่เรียกใช้ (เช่น Bash, Read File) |
| พารามิเตอร์อินพุต | พารามิเตอร์ที่เครื่องมือรับ (พับเก็บเพื่อดูได้) |
| สถานะการดำเนินการ | loading (ไอคอนหมุน) / success (เครื่องหมายถูกสีเขียว) / error (กากบาทสีแดง) |
| ผลลัพธ์เอาต์พุต | เนื้อหาที่เครื่องมือส่งกลับ (เนื้อหายาวสามารถพับเก็บได้) |
การเรียกใช้เครื่องมือหลายรายการจะถูกจัดกลุ่มแสดงผลตามลำดับการดำเนินการ เครื่องมือที่ดำเนินการพร้อมกันจะแสดงอยู่ในกลุ่มเดียวกัน
การส่งออกแบบสตรีม
คำตอบของ Agent จะถูกส่งไปยังหน้าจอแบบเรียลไทม์ผ่านเหตุการณ์แบบสตรีม:
| ประเภทเหตุการณ์ | คำอธิบาย |
|---|---|
text_delta |
ชิ้นส่วนข้อความ ต่อทีละตัวอักษรไปยังพื้นที่ข้อความ |
thinking |
ชิ้นส่วนกระบวนการคิด (รองรับ thinking แบบเนทีฟของ Anthropic) |
tool_use_start |
เริ่มการเรียกใช้เครื่องมือ แสดงชื่อเครื่องมือและพารามิเตอร์ |
tool_result |
ผลลัพธ์การดำเนินการของเครื่องมือ อัปเดตไอคอนสถานะ |
error |
ข้อความแสดงข้อผิดพลาด |
done |
รอบนี้เสร็จสมบูรณ์ |
ผู้ใช้สามารถเห็นการให้เหตุผลและการดำเนินการของ Agent แบบเรียลไทม์ในระหว่างการส่งออกแบบสตรีม มอบประสบการณ์การดำเนินการที่โปร่งใส
การจัดการเซสชัน
สร้างเซสชันใหม่
คลิกปุ่ม "สร้างการสนทนาใหม่" ที่มุมบนซ้ายหรือใช้คีย์ลัดเพื่อสร้างเซสชันใหม่ เซสชันใหม่จะเริ่มจากหน้าต้อนรับ หรือป้อนข้อความโดยตรงเพื่อเริ่มการสนทนา
การดำเนินการกับรายการเซสชัน
| การดำเนินการ | คำอธิบาย |
|---|---|
| ค้นหา | กรองชื่อเซสชันตามคำสำคัญ |
| ปักหมุด | ตรึงเซสชันสำคัญไว้ที่ด้านบนของรายการ |
| จัดกลุ่มด้วยโฟลเดอร์ | จัดระเบียบเซสชันลงในโฟลเดอร์ที่กำหนดเอง |
| ลบ | นำเซสชันออก (ไม่สามารถกู้คืนได้) |
| เปลี่ยนชื่อ | แก้ไขชื่อเซสชัน |
สแนปช็อตและการกู้คืนเซสชัน
ฝั่ง APP รองรับการคงอยู่ของสแนปช็อตเซสชัน เพื่อป้องกันการสูญเสียการสนทนาจากการหยุดชะงักโดยไม่คาดคิด:
| กลยุทธ์สแนปช็อต | คำอธิบาย |
|---|---|
every_tool_round (ค่าเริ่มต้น) |
บันทึกหลังจากการเรียกใช้เครื่องมือแต่ละครั้ง |
every_round |
บันทึกหลังจากการโต้ตอบ LLM แต่ละรอบ |
manual |
บันทึกเฉพาะเมื่อทริกเกอร์ด้วยตนเองเท่านั้น |
สแนปช็อตจะถูกจัดเก็บเป็นไฟล์ JSON (เขียนแบบอะตอมมิก ใช้ .tmp + rename เพื่อป้องกันความเสียหาย) และสามารถกู้คืนเซสชันที่หยุดชะงักได้ผ่าน resumeSessionId
การสนทนาในเครื่องและการสนทนาระยะไกล
ในสถานการณ์ที่มีหลายโหนด การสนทนาในรายการเซสชันจะแสดงไอคอนแหล่งที่มาที่แตกต่างกัน:
| ไอคอน | ความหมาย |
|---|---|
| การสนทนาที่เริ่มต้นหรือดำเนินการโดยโหนด APP ในเครื่อง | |
| การสนทนาที่ดำเนินการโดยโหนดระยะไกล | |
| การสนทนาจากช่องทาง IM (Telegram, WeChat ฯลฯ) |
สิ่งนี้ช่วยให้ผู้ใช้แยกแยะแหล่งที่มาของการดำเนินการสนทนาได้อย่างรวดเร็ว
ความสามารถของ Agent Loop ในงานที่ซับซ้อน
Agent Loop ช่วยให้ Work สามารถจัดการงานที่ซับซ้อนซึ่งต้องการการดำเนินการหลายขั้นตอน:
สถานการณ์ตัวอย่าง: ผู้ใช้ร้องขอ "ช่วยวิเคราะห์โครงสร้างไดเรกทอรีของโปรเจกต์และสร้างเอกสารสถาปัตยกรรม"
รอบที่ 1: Agent เรียกใช้ List Directory เพื่อเรียกดูโครงสร้างโปรเจกต์
รอบที่ 2: Agent เรียกใช้ Glob Files เพื่อค้นหาไฟล์กำหนดค่าสำคัญ
รอบที่ 3: Agent เรียกใช้ Read File เพื่ออ่านเนื้อหาไฟล์หลัก
รอบที่ 4: Agent เรียกใช้ Search Files เพื่อค้นหาความสัมพันธ์การพึ่งพาของโมดูล
รอบที่ 5: Agent วิเคราะห์แบบองค์รวมและสร้างเอกสารสถาปัตยกรรม Markdown
รอบที่ 6: Agent เรียกใช้ Write File เพื่อบันทึกเอกสารไปยังเส้นทางที่กำหนด
ตลอดกระบวนการ Agent ตัดสินใจด้วยตนเองว่าจะเรียกใช้เครื่องมือใดและดำเนินการตามลำดับใด โดยผู้ใช้ไม่จำเป็นต้องแนะนำทีละขั้นตอน ค่าเริ่มต้นสูงสุด 25 รอบวงจร กลไกเบรกเกอร์รับประกันการหยุดโดยอัตโนมัติเมื่อเกิดข้อผิดพลาด
สำหรับรายละเอียดทางเทคนิค โปรดดูที่ เครื่องยนต์วงจร Agent
เคล็ดลับ: วิธีสนทนากับ Agent อย่างมีประสิทธิภาพยิ่งขึ้น
| เคล็ดลับ | ตัวอย่าง | ผลลัพธ์ |
|---|---|---|
| ระบุเป้าหมายให้ชัดเจน | "ช่วยรีแฟกเตอร์ฟังก์ชัน formatDate ใน utils.ts ให้เปลี่ยนมาใช้ date-fns" | Agent ระบุตำแหน่งเป้าหมายและแนวทางได้อย่างแม่นยำ |
| ร้องขอเป็นขั้นตอน | "ก่อนอื่นแสดงรายการไฟล์ .tsx ทั้งหมด แล้วบอกฉันว่าไฟล์ใดใช้คอมโพเนนต์แบบ class" | Agent ดำเนินการทีละขั้นตอน ผลลัพธ์ควบคุมได้มากขึ้น |
| ระบุเครื่องมือ | "กรุณาใช้ Bash รัน npm test" |
Agent ใช้เครื่องมือที่ระบุโดยตรง |
| ขอการยืนยัน | "บอกแผนของคุณก่อน แล้วค่อยดำเนินการหลังจากยืนยัน" | ป้องกันไม่ให้ Agent แก้ไขไฟล์โดยตรง |
| ให้บริบท | "นี่คือโปรเจกต์ React + TypeScript ที่สร้างด้วย Vite" | Agent ให้คำแนะนำที่เหมาะสมยิ่งขึ้น |
วิธียกเลิกงานที่กำลังดำเนินการ
เมื่อ Agent กำลังดำเนินการที่คุณไม่ต้องการ:
- คลิกปุ่ม หยุด ที่ด้านล่างของการไหลข้อความ (หรือกด
Esc) - Agent จะหยุดหลังจากการดำเนินการเครื่องมือปัจจุบันเสร็จสมบูรณ์
- การดำเนินการที่ทำไปแล้ว (เช่น ไฟล์ที่สร้างขึ้นแล้ว) จะไม่ถูกยกเลิกโดยอัตโนมัติ
- คุณสามารถสนทนาต่อเพื่อสั่งให้ Agent ยกเลิกการดำเนินการก่อนหน้าได้
หมายเหตุ: คำสั่ง Bash ที่กำลังดำเนินการจะถูกยุติ (ส่ง SIGTERM) แต่ผลของคำสั่งที่ดำเนินการเสร็จสิ้นแล้วไม่สามารถยกเลิกได้โดยอัตโนมัติ
จะทำอย่างไรเมื่อการเรียกใช้เครื่องมือล้มเหลว
| สาเหตุของความล้มเหลว | วิธีแก้ไข |
|---|---|
| สิทธิ์ไม่เพียงพอ | Agent จะอธิบายว่าต้องการสิทธิ์ใด คุณสามารถอนุญาตในหน้าต่างป็อปอัป หรือปรับระดับความปลอดภัยของเครื่องมือได้ |
| ไม่มีไฟล์อยู่ | ตรวจสอบว่าเส้นทางถูกต้องหรือไม่ คุณสามารถให้ Agent ใช้ Glob/List Directory เพื่อยืนยันตำแหน่งไฟล์ก่อนได้ |
| การดำเนินการคำสั่งผิดพลาด | Agent มักจะวิเคราะห์ข้อผิดพลาดและลองใหม่โดยอัตโนมัติ หากล้มเหลวเป็นวงจร ให้ป้อนบริบทเพิ่มเติมด้วยตนเอง |
| หมดเวลาเครือข่าย | เครื่องมือเครือข่ายเช่น Web Fetch อาจล้มเหลวเนื่องจากปัญหาเครือข่าย ลองใหม่ในภายหลังได้ |
เอกสารที่เกี่ยวข้อง
- อินพุตและเอาต์พุตแบบมัลติโมดัล — ความสามารถในการป้อนและแสดงตัวอย่างไฟล์
- Subagent — การแยกย่อยและมอบหมายงาน
- เครื่องยนต์วงจร Agent — กลไกวงจรพื้นฐาน
- การบีบอัดบริบท 5 ชั้น — การจัดการบริบทของการสนทนาที่ยาว
