# Kimi Code Never Ask: โหมดและคำสั่งอันตราย

> ในโหมด Never Ask Kimi Code จะเรียกใช้ rm -rf และ shutdown โดยไม่ถาม โหมดทั้ง 3 แตกต่างกันอย่างไร และจะห้ามคำสั่งอันตรายใน config.toml ได้อย่างไร

Source: https://ailoot.ai/blog/th/kimi-code-never-ask-mode/
Canonical: https://ailoot.ai/blog/th/kimi-code-never-ask-mode/
Language: th
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-162
Revision: sha256-94ad9968495aac60a17bcca05af827e5716475fa1dd6a995622965b39bb84f48


ใน Kimi Code โหมด Never Ask (`/auto`) อนุมัติทุกอย่างโดยอัตโนมัติ: ระบบจะเรียกใช้ `rm -rf`, `shutdown` และ `reboot` โดยไม่ถามแม้แต่คำถามเดียว เอเจนต์จะถามก่อนเรียกใช้คำสั่งเหล่านี้เฉพาะในอีก 2 โหมด ได้แก่ Always Ask และ Ask When Needed

ฉันทำงานกับ Claude Code โดยเปิดใช้ “อนุญาตทุกอย่าง” ด้วยตัวเอง ไม่อย่างนั้นเราคงต้องนั่งคลิกใช่ ใช่ ใช่ แต่ทุกครั้งที่สิบ เอเจนต์ก็ทำอะไรตามวิธีของตัวเอง

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

มาดูกันว่า Kimi Code แต่ละโหมดทำอะไร การป้องกันทำงานตรงไหน และจะตั้งข้อห้ามได้อย่างไร มาเริ่มกันเลย

ดูข้อมูลเกี่ยวกับการใช้บริการได้ที่ [เอกสารของ Ailoot](https://ailoot.ai/docs/)



<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaway for this section">

ประเด็นสำคัญ

Kimi Code มี 3 โหมด โดย Always Ask เป็นค่าเริ่มต้น: ระบบอ่านไฟล์โดยอัตโนมัติ ส่วนการกระทำอื่น ๆ ต้องยืนยันทีละรายการ โหมด Ask When Needed (`/yolo`) อนุมัติการแก้ไขทั่วไปเอง แต่จะถามก่อนเข้าถึงไฟล์ที่มีคีย์ ก่อนเรียกใช้คำสั่งอันตราย หรือก่อนออกจากโหมดวางแผน ส่วน Never Ask (`/auto`) จะไม่ถามอะไรเลย และการป้องกันคำสั่งอันตรายจะไม่ทำงานในโหมดนี้ ตั้งข้อห้ามถาวรด้วยกฎ `deny` ใน `~/.kimi-code/config.toml` และควรหลีกเลี่ยงการเปิด Never Ask เมื่อเชื่อมต่อกับฐานข้อมูลที่ใช้งานจริง

</div>

## Kimi Code ทั้ง 3 โหมดแตกต่างกันอย่างไร

ถ้าคุณ [ติดตั้ง Kimi Code](https://ailoot.ai/blog/th/kimi-code-install/) แล้ว คุณคงเคยเห็นแผงขออนุมัติ: เอเจนต์ต้องการแก้ไขไฟล์หรือเรียกใช้คำสั่ง แล้วรอให้คุณตอบ “ใช่” โหมดเหล่านี้เคยใช้ชื่อ Manual, YOLO และ Auto จึงยังคงใช้คำสั่งเดิมคือ `/yolo` และ `/auto`

**Always Ask.** ค่าเริ่มต้น เอเจนต์อ่านไฟล์โดยไม่ถาม แต่คุณต้องยืนยันการแก้ไขและคำสั่งแต่ละรายการแยกกัน โหมดนี้ช้าที่สุด

**Ask When Needed.** เปิดใช้ด้วย `/yolo` ระบบอนุมัติการแก้ไขและคำสั่งทั่วไปเอง แต่จะถามก่อนเข้าถึง `.env` (ไฟล์ที่มีรหัสผ่านและคีย์ของโปรเจกต์) และคีย์ SSH ของเซิร์ฟเวอร์ ก่อนเรียกใช้คำสั่งอันตราย เช่น `shutdown` (ปิดเครื่อง) และ `rm -rf` (ลบทั้งโฟลเดอร์โดยไม่ผ่านถังขยะ) รวมถึงก่อนออกจากโหมดวางแผน เอเจนต์ยังสามารถถามคำถามคุณเองได้ด้วย

**Never Ask.** เปิดใช้ด้วย `/auto` การอนุมัติทั้งหมดเกิดขึ้นโดยอัตโนมัติ รวมถึงการเข้าถึงไฟล์สำคัญและการออกจากโหมดวางแผน เอเจนต์จะไม่ถามคำถามคุณและตัดสินใจทุกอย่างเอง

<figure>
ตารางโหมดสิทธิ์อนุญาตทั้งสามโหมดของ Kimi Code: Always Ask, Ask When Needed, Never Ask
<figcaption>โหมดสิทธิ์อนุญาต 3 โหมดใน Kimi Code CLI</figcaption>
</figure>

โหมดวางแผนเปิดใช้แยกต่างหากด้วย `Shift-Tab` หรือ `/plan`: เอเจนต์จะเขียนแผนก่อนและรอให้คุณอนุมัติ จากนั้นจึงแตะต้องไฟล์

## เมื่อฉันทำงานโดยไม่ต้องยืนยัน

ใน Claude Code ฉันตั้ง “อนุญาตทุกอย่าง” เป็นค่าเริ่มต้น โดยเปิดใช้ในแชตใหม่ทุกครั้ง หากไม่มีตัวเลือกนี้ การเขียนโค้ดตามอารมณ์จะช้าเกินไป คนที่เขียนโค้ดตามอารมณ์ก็เข้าใจอะไรได้น้อยอยู่แล้ว แล้วยังต้องกดปุ่มซ้ำ ๆ: ใช่ ใช่ ใช่ ไม่ ไม่ ไม่

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

กฎของฉันมีดังนี้ โปรเจกต์ส่วนตัว การทดลอง และต้นแบบจะใช้โหมดไม่ยืนยันได้เฉพาะในสำเนาหรือคอนเทนเนอร์แยกที่ไม่มีไฟล์สำคัญหรือ credentials ระบบจริง จำกัดสิทธิ์และมีสำรอง การไม่มีลูกค้าไม่ป้องกันไฟล์หรือคีย์ส่วนตัว และยังต้องตรวจการแยก แต่ถ้าเปิดโหมดนี้ในโปรเจกต์เดียวกับที่เข้าถึงเซิร์ฟเวอร์ production ได้ เพียง 1 prompt ก็อาจทำให้เอเจนต์ลบฐานข้อมูลที่นั่นตอนกลางคืนและนำการเปลี่ยนแปลงขึ้นเว็บไซต์จริงได้





## เหตุใดการห้ามด้วยคำพูดจึงช่วยคุณไม่ได้

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

ฉันยังใช้ Kimi ทำงานอยู่ Kimi K3 ใส่ใจรายละเอียดมาก ฉันใช้มันตรวจหา คีย์ที่รั่วไหลในโปรเจกต์และรวบรวมข้อมูล ครั้งหนึ่งฉันใช้โควต้าจนหมดภายในสองสามวัน Kimi ไม่ทำตัวมีปัญหาและทำทุกอย่างที่คุณขอ นั่นจึงเป็นเหตุผลที่ต้องแยกสภาพแวดล้อมเมื่อทำงานกับมัน ฉันอธิบาย [ที่นี่](https://ailoot.ai/blog/th/kimi-k3-hands-on-review/) ว่าทดสอบมันกับงานของตัวเองอย่างไร



คุณต้องแยกการทำงาน 2 รูปแบบ:

1. **รายการบล็อกคำสั่งในการตั้งค่า** บล็อกคำขอเครื่องมือที่ตรง pattern แต่รูปสะกดคำสั่งหนึ่งไม่ใช่ขอบเขตสมบูรณ์ต่อเครื่องมืออื่นหรือการกระทำเทียบเท่า ใช้ร่วมกับสิทธิ์ OS คอนเทนเนอร์ และฐานข้อมูล
2. **สิทธิ์เข้าถึงฐานข้อมูลแบบอ่านอย่างเดียว** ในฐานข้อมูลจริง เอเจนต์จะมีผู้ใช้แยกต่างหากที่มีสิทธิ์อ่านอย่างเดียว แบบนี้แม้จะอยู่ในโหมด Never Ask เอเจนต์ก็ล้างฐานข้อมูลไม่ได้

## การป้องกันคำสั่งอันตรายทำงานตรงไหน

การป้องกันคำสั่งอันตรายในตัวของ Kimi Code เปิดใช้เป็นค่าเริ่มต้น โดยจะขอให้ยืนยันก่อนเรียกใช้ `shutdown`, `reboot` (รีสตาร์ต) หรือ `rm -rf` ในโหมด Always Ask และ Ask When Needed แต่ในโหมด Never Ask คำสั่งเหล่านี้จะทำงานโดยไม่หยุดถาม

มีข้อยกเว้น 2 ข้อ:

- `rm -rf` ทำงานโดยไม่ถาม หากลบเฉพาะเนื้อหาในโฟลเดอร์ชั่วคราว `/tmp` หรือ `/temp` (ตั้งแต่เวอร์ชัน 0.43.0)
- ในโหมด Ask When Needed, Kimi Code จะไม่ถามเกี่ยวกับคำสั่งเทอร์มินัลที่ไม่สามารถแยกวิเคราะห์ล่วงหน้าได้ (ตั้งแต่เวอร์ชัน 2.0.1)

ในเวอร์ชัน 0.40.0 โหมด Auto บล็อกคำสั่งอันตราย แต่ยกเลิกการบล็อกนี้ในเวอร์ชัน 0.41.0

<figure>
ก่อน/ตอนนี้: โหมดอัตโนมัติของ Kimi Code เคยบล็อกคำสั่งอันตราย แต่ตอนนี้ไม่บล็อกแล้ว
<figcaption>0.40.0: Auto บล็อกคำสั่งอันตราย 0.41.0: ยกเลิกการบล็อก</figcaption>
</figure>

คุณปิดการป้องกันได้โดยตั้ง `dangerous_command_guard = false` ในส่วน `[permission]` ของไฟล์การตั้งค่า `~/.kimi-code/config.toml` หรือใช้ตัวแปร `KIMI_CODE_DANGEROUS_COMMAND_GUARD=false` ผู้พัฒนาแนะนำให้ทำเช่นนี้เฉพาะในกรณีที่มีระบบภายนอกดักจับคำสั่งอันตรายอยู่แล้ว

## วิธีตั้งข้อห้ามถาวรใน Kimi Code

เมื่อเอเจนต์ต้องการเปลี่ยนแปลงบางอย่าง Kimi Code จะแสดงแผงขออนุมัติ:

- **อนุมัติ**: ใช้ปุ่มลูกศรและ `Enter` หรือกด `1`, `2` หรือ `3` โดยตรง
- **ปฏิเสธ**: `Esc`, `Ctrl-C` หรือ `Ctrl-D`
- **อนุมัติสำหรับเซสชันนี้**: อนุมัติการเรียกใช้ประเภทเดียวกันไปจนจบเซสชัน
- **กฎถาวร**: กฎอนุญาตหรือปฏิเสธถาวรในไฟล์การตั้งค่า

เขียนกฎถาวรไว้ในไฟล์การตั้งค่า `~/.kimi-code/config.toml` ภายในบล็อก `[[permission.rules]]` Kimi Code ตรวจสอบกฎตามลำดับ และใช้กฎแรกที่ตรงกัน ดังนั้นให้วางข้อห้ามไว้ก่อนการอนุญาต แต่ละกฎมี `decision`: `allow` (อนุญาตทันที), `deny` (ปฏิเสธทันที) หรือ `ask` (ถามทุกครั้ง)

ข้อห้ามสำหรับ `rm -rf` และให้ถามก่อนเรียกใช้คำสั่งเทอร์มินัลอื่นทั้งหมด:

```toml
[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"

[[permission.rules]]
decision = "ask"
pattern = "Bash"
```

สำหรับคำสั่งเทอร์มินัล ให้ใส่รูปแบบในวงเล็บ: `Bash(command-pattern)`; สำหรับการอ่านไฟล์ ใช้ `Read(path-pattern)` คุณห้ามเครื่องมือ MCP, `AgentSwarm` และเครื่องมือของคุณเองได้ด้วยชื่อเต็มเท่านั้น

หากคุณไม่เชี่ยวชาญด้านเทคนิคและไม่อยากเปิดไฟล์การตั้งค่า ก็วาง prompt ด้านล่างให้เอเจนต์ได้เลย: มันจะค้นหาสิ่งที่ต้องจำกัดให้เอง แต่ให้มันบอกคุณก่อนว่าการทำเช่นนี้จะทำให้การทำงานช้าลงแค่ไหน หากคุณเคยทำงานโดยไม่ต้องยืนยัน บางอย่างจะหยุดทำงานหลังจากเพิ่มข้อห้าม ต่อไปนี้คือ prompt ของฉัน:

```
วิเคราะห์โปรเจกต์ของฉันและบอกว่าคุณเข้าถึงเซิร์ฟเวอร์ production, ฐานข้อมูล staging และคีย์ production ได้หรือไม่ หากเข้าถึงได้ ให้ตั้งค่าการป้องกันคำสั่งอันตราย: ห้ามลบโฟลเดอร์ทั้งโฟลเดอร์ ห้ามใช้คำสั่งที่เขียนประวัติการเปลี่ยนแปลงใหม่อย่างย้อนกลับไม่ได้ และห้ามใช้คำสั่งโดยตรงกับฐานข้อมูล production แสดงแผนในรูปแบบ “ก่อน - หลัง” ก่อน แล้วบอกตามตรงว่าสิ่งนี้จะทำให้ฉันทำงานช้าลงแค่ไหน
```

ฉันอธิบายวิธีตั้งค่าแบบเดียวกันใน Claude Code ไว้ใน[บทความแยกต่างหาก](https://ailoot.ai/blog/th/claude-code-safe-overnight-setup/) และลองอ่าน[บทความเกี่ยวกับวิธีที่โหมด Auto ใน Claude Code ตรวจสอบการกระทำของเอเจนต์](https://ailoot.ai/blog/th/claude-code-auto-mode-classifier/) ด้วย

## ควรเลือกโหมดไหน

- **คุณอยากเห็นทุกขั้นตอนที่เอเจนต์ทำ:** Always Ask ซึ่งเป็นค่าเริ่มต้น คุณยืนยันทุกอย่างยกเว้นการอ่าน
- **โปรเจกต์ส่วนตัวหรือต้นแบบไม่มีลูกค้าจริง:** เริ่ม Always Ask หรือ Ask When Needed พิจารณา Never Ask เฉพาะสำเนาแยกที่ทิ้งได้ จำกัดสิทธิ์ และไม่มีข้อมูลสำคัญหรือคีย์ การไม่มีลูกค้าไม่ได้เพิ่มความปลอดภัยให้โหมดนี้
- **โปรเจกต์ที่มีลูกค้าจริงและเข้าถึงเซิร์ฟเวอร์ได้:** อย่าเปิด Never Ask ตั้งข้อห้าม `deny` ใน `config.toml` และให้เอเจนต์มีสิทธิ์เข้าถึงฐานข้อมูลแบบอ่านอย่างเดียว

และสำรองข้อมูลฐานข้อมูลไว้ในเครื่องที่แยกจากโปรเจกต์ กฎความปลอดภัยข้ออื่น ๆ รวบรวมไว้ใน[บทความแยกต่างหาก](https://ailoot.ai/blog/th/vibe-coding-security/)

เลือกโหมดการยืนยันให้เหมาะกับสิทธิ์เข้าถึงของโปรเจกต์ และตรวจสอบว่าต้องตั้งข้อห้ามตรงไหนบ้าง

<div class="section" role="doc-bibliography" aria-label="Sources">

### แหล่งที่มา

- [Kimi Code: การโต้ตอบและการป้อนข้อมูล](https://moonshotai.github.io/kimi-code/en/g%75ides/interaction.md) — โหมดสิทธิ์อนุญาตทั้ง 3 โหมด, `/yolo`, `/auto`, การป้องกันคำสั่งอันตรายในแต่ละโหมด, แผงขออนุมัติ และโหมด Plan
- [Kimi Code: ไฟล์การกำหนดค่า](https://moonshotai.github.io/kimi-code/en/configuration/config-files.md) — `[[permission.rules]]`, ลำดับการตรวจสอบกฎ, `dangerous_command_guard`, `KIMI_CODE_DANGEROUS_COMMAND_GUARD` และพาธของ `config.toml`
- [Kimi Code: บันทึกการเปลี่ยนแปลง](https://moonshotai.github.io/kimi-code/en/release-notes/changelog.md) — เวอร์ชัน 0.40.0, 0.41.0, 0.43.0 และ 2.0.1: การป้องกันคำสั่งอันตรายและการเปลี่ยนชื่อโหมด

</div>





ทำความรู้จักกับ [Ailoot](https://ailoot.ai/)

## คำถามที่พบบ่อย

### Never Ask ปลอดภัยเพียงเพราะโปรเจกต์ไม่มีลูกค้าหรือไม่?

ไม่ใช่ เอเจนต์ยังทำลายไฟล์ส่วนตัวหรือเผยคีย์ได้ ต้องจำกัดสิทธิ์ ใช้สำเนาที่ทิ้งได้หรือคอนเทนเนอร์แยก และมีสำรองก่อนพิจารณาโหมดไม่ยืนยัน

### กฎ deny สำหรับ rm -rf แทนการแยกได้หรือไม่?

ไม่ได้ บล็อกคำขอเครื่องมือที่ตรง ไม่ใช่ทุกวิธีเทียบเท่าในการเปลี่ยนไฟล์ เก็บข้อมูลสำคัญกับ credentials ระบบจริงนอกสิทธิ์เอเจนต์ และใช้ตัวตนฐานข้อมูลแยกที่มีเฉพาะสิทธิ์งานต้องใช้


## Ailoot · บริษัทและพอร์ตโฟลิโอโครงการของบริษัท

Ailoot อาศัยประสบการณ์การดำเนินงานที่สั่งสม ฐานลูกค้าขนาดใหญ่ บริการที่เสถียร และการติดตาม KPI อย่างต่อเนื่อง

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.

Ailoot นำประสบการณ์การดำเนินงานนี้มาใช้เพื่อให้เข้าถึงฟังก์ชัน AI ผ่าน API ในผลิตภัณฑ์ของลูกค้า เอเจนต์ แอปพลิเคชัน และระบบอัตโนมัติ
