ไม่มี Pull Request สำหรับ Autonomous Agent

การตรวจสอบความปลอดภัยแบบดั้งเดิมนั้นอาศัยการดู diff มีคนเปิด pull request มีคนอ่านมัน และโค้ดที่อยู่ใน production ก็ตรงกับโค้ดที่คุณได้ตรวจสอบไปแล้ว

Autonomous agent ทำให้โมเดลนี้ใช้ไม่ได้อีกต่อไป

Agent จะวางแผนและเรียกใช้เครื่องมือ (tools) ในขณะที่กำลังทำงาน (runtime) มันไม่ได้ส่งการกระทำ (actions) ผ่าน commit แต่มันตัดสินใจเลือกการกระทำในขณะที่กำลังรันอยู่ หากคุณตรวจสอบเพียงแค่โค้ดของแอปพลิเคชัน คุณจะพลาดความเสี่ยงที่แท้จริงไป

Agent ไม่ใช่แค่โค้ด แต่มันคือ runtime configuration ซึ่งการกำหนดค่านี้ประกอบด้วย:

• System prompt • Harness หรือ loop • Tool surface • Memory และ identity • Network egress policies • Container images

Agent สองตัวที่ใช้โมเดลเดียวกันอาจแสดงพฤติกรรมที่แตกต่างกันได้ขึ้นอยู่กับการตั้งค่าเหล่านี้ แม้ว่าโมเดลจะคงเดิม แต่การกำหนดค่าสามารถเปลี่ยนทุกอย่างได้

หลายทีมปฏิบัติกับ system prompt เหมือนเป็นแค่การตั้งค่าในกล่องข้อความธรรมดา พวกเขาแก้ไขมันผ่าน dashboard ซึ่งนี่คือความผิดพลาด การเปลี่ยนแปลงเพียงบรรทัดเดียวอาจทำให้ guardrail หายไปได้ และ prompt ที่แก้ไขได้ก็เปรียบเสมือนเส้นทางการทำงานของโค้ด (code path) ที่ไม่ผ่านการตรวจสอบ

เหตุการณ์ที่เกิดขึ้นจริงพิสูจน์เรื่องนี้ได้:

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

สิ่งเหล่านี้ไม่ใช่ความล้มเหลวของโมเดล แต่เป็นการเปลี่ยนแปลงการกำหนดค่าที่ไม่มีใครตรวจสอบ

คุณต้องปฏิบัติกับการกำหนดค่า (configuration) ให้เหมือนกับโค้ด

นำ system prompts และ harness configs ของคุณไปไว้ใน version control และเปลี่ยนแปลงพวกมันผ่าน pull request เท่านั้น ใช้ diff เพื่อดูว่ามีอะไรเปลี่ยนแปลงไปบ้าง

ใช้ content hash สำหรับการกำหนดค่าที่ถูก deploy ไปแล้ว โดย hash นี้ควรประกอบด้วย prompt version, model ID และ container digest หากคุณเปลี่ยน prompt ตัวตน (identity) ของ agent ก็จะเปลี่ยนไปด้วย คุณไม่สามารถสลับ prompt ได้อย่างเงียบๆ

ใช้การตรวจจับการเปลี่ยนแปลง (drift detection) กับ agent surface อย่าตรวจสอบแค่ host แต่ให้ตรวจสอบรายการ MCP server และ egress policies เฉพาะสำหรับ agent นั้นๆ ด้วย

เมื่อทำการบันทึก log ให้ติดตามสองสิ่งนี้:

• Decision-time context size: โมเดลมีข้อมูลมากน้อยเพียงใดในขณะที่ตัดสินใจกระทำ? • The parent prompt: ในระบบ multi-agent ตัว agent ที่เรียกใช้งานได้ส่งอะไรไปบ้าง?

คุณไม่จำเป็นต้องใช้เครื่องมือใหม่ เพียงแค่ใช้ version control และ structured logging ที่มีอยู่แล้ว แต่ต้องชี้เป้าหมายไปให้ถูกจุด

คุณมีการทำ versioning และตรวจสอบ system prompts ของคุณหรือไม่? หรือว่าใครก็ตามที่มีสิทธิ์เข้าถึง console สามารถเปลี่ยนแปลงมันได้โดยไม่ทิ้งร่องรอย?

Source: https://dev.to/brennhill/theres-no-pull-request-to-review-for-an-autonomous-agent-so-what-do-you-review-355m

Optional learning community: https://t.me/GyaanSetuAi