Harness Engineering: กลยุทธ์ประเมินและปรับปรุง AI Coding Agent ให้ทำงานแม่นยำและมั่นคง

9 ก.ย. 2026

เมื่อนักพัฒนาเริ่มสร้างระบบ AI Coding Agent ในช่วงแรก มักจะติดกับดักการรัน Benchmark แบบ End-to-End ทั่วไป เช่น Terminal-Bench หรือ DeepSWE แล้วเฝ้าดูคะแนนรวมที่ขยับขึ้นลงเพียงไม่กี่เปอร์เซ็นต์ โดยที่ไม่สามารถระบุสาเหตุที่แน่ชัดของการเปลี่ยนแปลงนั้นได้

แม้ว่า End-to-End Benchmark จะเป็นมาตรฐานหลักในการวัดประสิทธิภาพภาพรวมและชี้จุดที่ควรตรวจสอบเชิงลึก แต่ความท้าทายสำคัญคือการตรวจสอบเหล่านั้นมีต้นทุนที่สูงมากและใช้เวลานาน

การประเมินเชิงพฤติกรรม (Behavioral evaluations) จึงเป็นตัวชี้วัดความมั่นใจที่ดีกว่า เพื่อยืนยันว่าพฤติกรรมที่คุณคาดหวังเกิดขึ้นจริง และช่วยให้มั่นใจว่าการพัฒนาเดินไปถูกทิศทาง ไม่เกิดการถดถอย (Regressions) เมื่อมีการเปลี่ยนโมเดลใหม่ การประเมินเหล่านี้ทำหน้าที่เป็นคู่หูในการปรับปรุงงานและช่วยให้เข้าใจผลกระทบของการเปลี่ยนแปลงแต่ละส่วนได้ชัดเจน โดยทั่วไปทีมส่วนใหญ่มักประเมิน AI Agent เหมือนนักเรียนทำข้อสอบ ด้วยการส่ง Codebase ชุดใหญ่ให้แล้ววัดผลจากจำนวน Test Case ที่ผ่านหรือตก แต่เมื่อคะแนนลดลง Benchmark เหล่านี้มักตอบไม่ได้ว่าปัญหามีสาเหตุมาจากความมั่นใจเกินไปใน Prompt ที่กำกวม การลืมตรวจสอบงานก่อนส่ง หรือการหลอน (Hallucinate) เรื่องคำสั่ง CLI

การประเมินเชิงพฤติกรรม จึงเปรียบเสมือน Integration Test สำหรับ Agent Harness เมื่อคุณมีชุดการประเมินที่ครอบคลุม คุณจะมีฐานข้อมูลพฤติกรรมที่ต้องการและสามารถปรับปรุง Prompt ซ้ำๆ เพื่อให้บรรลุเป้าหมายนั้นได้

แทนที่จะวัดแค่ว่า Agent แก้ไขไฟล์จำนวนมากได้สำเร็จหรือไม่ การประเมินเชิงพฤติกรรมจะแยกวัดการกระทำที่สังเกตได้ เช่น:

  • เมื่อได้รับ Prompt ที่ไม่ชัดเจน Agent เลือกที่จะถามคำถามกลับแทนที่จะเดาเองหรือไม่
  • เมื่อแก้ไขไฟล์ Build เสร็จสิ้น Agent ได้รันตัวตรวจสอบในเครื่อง (Local Validator) ก่อนส่งงานหรือไม่
  • เมื่อสร้างเอกสาร โมเดลให้ลิงก์ Repository ที่ถูกต้องตามมาตรฐานหรือไม่

ในช่วงเริ่มสร้าง Agent จากศูนย์ คุณควรใช้สัญชาตญาณและการทดลองใช้เอง (Dogfooding) จนกว่า Agent จะสามารถจัดการงานพื้นฐาน เช่น เขียน Boilerplate หรือรันงานทั่วไปได้ การรันระบบประเมินผลในช่วงที่ระบบยังไม่เสถียรอาจยังไม่มีความหมายนัก

การประเมินจะเข้าสู่เฟสที่สองคือ การรับรองความก้าวหน้า และ การป้องกันการถดถอย (Regressions) วัตถุประสงค์หลักไม่ใช่เพียงเพื่อฉลองคะแนนที่เพิ่มขึ้น แต่เพื่อสร้างความมั่นใจว่าการปรับแต่ง Prompt, การเปลี่ยน Tool Schema หรือการอัปเกรดโมเดล จะไม่ทำให้พฤติกรรมหลักของ Agent แย่ลง

เฟรมเวิร์กการประเมินที่แข็งแกร่งจะแยกการตรวจสอบพฤติกรรมออกมาเป็น Unit-style ที่รวดเร็วและแม่นยำ (Deterministic) ซึ่งสามารถรันในเครื่องได้ทันที ช่วยให้คุณปรับปรุง System Prompt หรือเปลี่ยนโมเดลได้อย่างมั่นใจ เพราะจะทราบทันทีหากพฤติกรรมหลักเกิดความเสียหาย

การประเมินเชิงพฤติกรรมจะตรวจสอบขั้นตอนระหว่างทาง เช่น การเรียกใช้เครื่องมือเฉพาะอย่าง มากกว่าการดูแค่ข้อความสุดท้าย:

import pytest
from google.antigravity import Agent, LocalAgentConfig, types
@pytest.mark.asyncio
async def test_agent_uses_web_search_for_live_weather():
  """Assert that the agent consults ground truth rather than guessing."""
  config = LocalAgentConfig()
  async with Agent(config) as agent:
    response = await agent.chat("What's the weather like in Mountain View, California?")
    tools = [call.name async for call in response.tool_calls]
  # Assert behavior, not output prose
  assert types.BuiltinTools.SEARCH_WEB in tools, (
      "Agent answered from memory without consulting live search."
  )

นอกจากนี้ คุณยังสามารถทำ Prompt Engineering แบบอัตโนมัติได้ โดยตั้ง Loop ให้ LLM ปรับแต่ง System Prompt ของตัวเองจนกว่าจะผ่านการทดสอบที่เคยตก โดยมีชุดทดสอบที่เหลือทำหน้าที่เป็นราวกั้นในสไตล์ CI/CD เพื่อไม่ให้กระทบฟีเจอร์เดิม

สำหรับผู้ที่เริ่มต้น ผมแนะนำ Loop การทดสอบ 3 ขั้นตอน ดังนี้:

  1. เลือกรูปแบบความผิดพลาดมาหนึ่งอย่าง: เช่น การลืมรัน Unit Test ก่อนส่งงาน และตั้งเป็นเป้าหมายหลัก
  2. เขียนการตรวจสอบที่ยืดหยุ่น: สำหรับงานง่ายให้เช็คผลลัพธ์ที่ตายตัว แต่สำหรับงานซับซ้อนที่ Agent อาจเลือกเส้นทางที่คาดไม่ถึง ให้ใช้ LLM-as-a-judge เพื่อประเมินความสำเร็จและความปลอดภัยของผลลัพธ์แทนการบังคับลำดับเครื่องมือ
  3. สร้างการประเมินแบบ Batch อัตโนมัติ: แทนที่จะวัดผลจากการรันครั้งเดียวที่มีความไม่แน่นอน ให้รันเป็น Batch เพื่อดูอัตราการผ่านโดยรวม (Pass Rate) ซึ่งช่วยให้ติดตามทิศทางของการพัฒนาได้แม่นยำกว่า
# Run local behavioral suite in under 5 seconds
pytest evals/behavioral/ -v

สุดท้ายนี้ AI Agent ไม่ได้ต้องการแค่คะแนน Benchmark ที่สูงขึ้น แต่ต้องการระบบประเมินที่คอยกำกับให้ทำงานได้ถูกต้อง คุณต้องเลิกปฏิบัติกับโมเดลเหมือนกล่องดำ และเริ่มปฏิบัติกับระบบประเมินเหมือนซอฟต์แวร์มาตรฐานที่มีการทำ Unit Test และ Integration Test อย่างเป็นระบบ

แม้การประเมินเชิงพฤติกรรมจะเป็นเสาหลัก แต่ก็ไม่ได้มาแทนที่ End-to-End Benchmark ทั้งสองส่วนจะเสริมกันโดย Macro Benchmark จะตรวจสอบเป้าหมายสุดท้าย ส่วน Micro Behavioral Eval จะเป็นคู่หูที่ช่วยให้การพัฒนาฟีเจอร์ใหม่หรือการเปลี่ยนโมเดลเป็นไปได้อย่างรวดเร็วและปลอดภัย

Source: Google Developers Blog
ดูแลงานแปลและเรียบเรียงโดย TanasakP
Harness Engineering: กลยุทธ์ประเมินและปรับปรุง AI Coding Agent ให้ทำงานแม่นยำและมั่นคง

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร