0Pricing
AI Agents · บทเรียน

การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก

อย่าเรียกใช้โค้ดที่โมเดลสร้างขึ้นบนเครื่องโฮสต์ของคุณโดยเด็ดขาด ให้ใช้แซนด์บ็อกซ์ gVisor, Firecracker หรือ E2B

การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

เหตุใดจึงต้องใช้ Sandbox

เอเจนต์โค้ด (Devin, Claude Code, OpenDevin) เรียกใช้โค้ดที่โมเดลสร้างขึ้น หากคุณเรียกใช้โค้ดนั้นบนโฮสต์ของคุณ โมเดลอาจ:

  • อ่านข้อมูลลับหรือคีย์ API ของคุณ
  • ลบไฟล์
  • เรียกเครือข่ายภายนอก
  • ขุดคริปโต

Sandbox คือสภาพแวดล้อมที่แยกออกมาและจำกัดความเสียหาย

ระดับการแยกออกจากกัน

ระดับเครื่องมือการใช้งาน
กระบวนการsubprocess + chrootความปลอดภัยต่ำ ใช้เฉพาะในงานพัฒนา
คอนเทนเนอร์Dockerค่าเริ่มต้นที่เหมาะสม
VM / microVMFirecracker, gVisorการแยกที่รัดกุม
Sandbox ที่ให้บริการโฮสต์E2B, Daytonaใช้งานจริงได้ง่ายที่สุด

Docker Sandbox Basics

docker run \
  --rm \
  --network=none \
  --memory=512m \
  --cpus=0.5 \
  --read-only \
  --user=nobody \
  -v /tmp/work:/work:rw \
  python:3.11-slim \
  python /work/script.py

การแยกเครือข่าย

--network=none จะปิดการรับส่งข้อมูลขาออก สำหรับงานบางอย่างที่จำเป็นต้องใช้อินเทอร์เน็ตแบบจำกัด ให้ใช้พร็อกซีขาออกที่อนุญาตเฉพาะโฮสต์ที่กำหนด

ขีดจำกัดทรัพยากร

ขีดจำกัดช่วยป้องกันการใช้ CPU หรือหน่วยความจำเกินควบคุม:

  • --memory — ขีดจำกัด RAM
  • --cpus — สัดส่วน CPU
  • --pids-limit — จำนวนกระบวนการ
  • --ulimit — ตัวอธิบายไฟล์

Firecracker / gVisor

สำหรับการแยกที่รัดกุมกว่า Docker:

  • Firecracker — microVM โดย AWS ซึ่งใช้ใน Lambda
  • gVisor — เคอร์เนลในพื้นที่ผู้ใช้โดย Google ใช้แทน Docker ได้โดยตรง
  • Kata Containers — ประสบการณ์ใช้งานแบบ Docker พร้อมการแยกด้วย VM

Sandbox ที่โฮสต์โดย E2B

E2B (e2b.dev) มอบ Sandbox ระยะไกลผ่าน API:

# pip install e2b
import e2b
sandbox = e2b.Sandbox(template='python', api_key='...')

result = sandbox.run_code('print(2 + 2)')
print(result.stdout)   # '4'

sandbox.close()

Daytona

Daytona นำเสนอความสามารถของ Sandbox ที่โฮสต์ในลักษณะเดียวกัน โดยมุ่งเน้นพื้นที่ทำงานสำหรับการพัฒนา

Sandbox ของระบบไฟล์

เมานต์เฉพาะสิ่งที่เอเจนต์จำเป็นต้องอ่านและเขียน ส่วนอื่นทั้งหมดให้เป็นแบบอ่านอย่างเดียวหรือซ่อนไว้:

docker run -v ${PWD}/workdir:/workdir:rw \
           -v ${PWD}/readonly:/readonly:ro ...

ขีดจำกัดเวลา

กำหนดขอบเขตเวลาการทำงานจริงเพื่อป้องกันลูปที่ทำงานไม่สิ้นสุด:

docker run --rm --stop-timeout 30 ... \
  python -c 'import resource; resource.setrlimit(resource.RLIMIT_CPU, (30, 30)); exec(open("/work/script.py").read())'

การบันทึกข้อมูล

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

Sandbox แบบหลายลูกค้า

Sandbox แยกต่อผู้ใช้ช่วยป้องกันไม่ให้ผู้ใช้ทำลายสถานะของกันและกัน โปรดสร้าง Sandbox ใหม่สำหรับแต่ละเซสชัน แล้วลบทิ้งเมื่อเสร็จสิ้น

ค่าใช้จ่ายเทียบกับความปลอดภัย

การแยกที่รัดกุมขึ้นย่อมมีค่าใช้จ่ายสูงขึ้น (ค่าใช้จ่ายส่วนเกินต่อ VM) โปรดเลือกระดับให้เหมาะกับความเสี่ยง:

  • บทเรียนหรือฟีเจอร์ Sandbox สำหรับผู้ใช้: Docker ก็เพียงพอ
  • โค้ดใช้งานจริงที่เข้าถึงข้อมูลลับ: Firecracker / E2B

การปิดกั้นเครือข่าย

คุณจะป้องกันไม่ให้เอเจนต์โค้ดส่งคำขอออกไปยังเครือข่ายได้อย่างไร

สรุปทบทวน

ห้ามเรียกใช้โค้ดที่โมเดลสร้างบนเครื่องโฮสต์ของคุณ เลือกระดับการแยกตามความเสี่ยง: ใช้ Docker สำหรับการพัฒนา และใช้ gVisor / Firecracker / E2B สำหรับการใช้งานจริง จำกัด CPU หน่วยความจำ เวลา และเครือข่าย

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

บทเรียน “การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก”

อย่าเรียกใช้โค้ดที่โมเดลสร้างขึ้นบนเครื่องโฮสต์ของคุณโดยเด็ดขาด ให้ใช้แซนด์บ็อกซ์ gVisor, Firecracker หรือ E2B คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม

ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การป้องกันการแทรกคำสั่ง
  2. การกรองผลลัพธ์ (Llama Guard, NeMo)
  3. การเรียกใช้โค้ดของเอเจนต์ในสภาพแวดล้อมแยก
  4. การควบคุมการเข้าถึงเครื่องมือ
← กลับไปที่ AI Agents