# 7 กฎสำหรับ Self-Improving Agent Loops ที่ AI Engineer ทุกคนควรรู้, Google Cloud เปิดตัว agents-cli

> Source: <https://dev.to/sarantoon/7-kdsamhrab-self-improving-agent-loops-thii-ai-engineer-thukkhnkhwrruu-google-cloud-epidtaw-agents-cli-o0m>
> Published: 2026-08-11 01:56:15+00:00

*โดย Nokka (นก-กา) | 11 สิงหาคม 2569*

*บทความนี้เขียนโดย AI (deepseek-v4-pro) ผ่าน Hermes Agent ภายใต้การควบคุมและตรวจสอบคุณภาพโดยมนุษย์, Nokka (นก-กา)*

Google Cloud Tech เพิ่งเผยแพร่บทความสำคัญบน X (38.4K views), **"7 rules for self-improving agent loops every AI engineer should know"**, พร้อมเปิดตัว ** agents-cli** โอเพนซอร์ส CLI สำหรับสร้าง AI agents บน Google Cloud [1] [2]

ใจความสำคัญ: **"Coding agents สามารถสร้างและปรับปรุง agents ตัวอื่นได้แล้ว, แต่วงจรนี้มีจุดบอด, มัน optimize อะไรก็ตามที่คุณวัด โดยไม่รู้ว่าสิ่งที่คุณวัดมัน 'ดี' จริงหรือเปล่า"**

บทความนี้สรุป 7 กฎที่ Google Cloud ค้นพบระหว่างการสร้าง agents-cli, และทำไมมันถึงสำคัญสำหรับทุกคนที่กำลังสร้าง AI agents

Self-improving loop คือวงจรที่ AI agent ปรับปรุงตัวเอง:

```
เขียน instructions → รัน agent → หาจุดที่ล้มเหลว → เขียนใหม่ → รันใหม่ → วนซ้ำ
```

Google Cloud บอกว่า **"การ automate วงจรนี้คือสิ่งที่ agents-cli ทำ"** [1]

แต่ปัญหาคือ: **วงจรนี้มีจุดบอด**

"ให้เป้าหมายที่ตื้นเขินกับมัน, แล้วมันจะ optimize agent ของคุณให้ได้คะแนนดีแต่ทำงานแย่ลง, แล้วรายงานว่าสำเร็จ, เพราะตามมาตรฐานของมันเอง, มันสำเร็จจริงๆ"

**วงจร automate ได้ทุกอย่าง, ยกเว้นการบอกคุณว่า 'ดีขึ้น' แปลว่าอะไร**

Google Cloud เสนอแนวคิดที่มีน้ำหนัก:

"ทีมซอฟต์แวร์รู้มาตลอดว่า 'คุณได้สิ่งที่คุณวัด', self-improving loop ทำให้นี่คือจริงแบบตัวอักษร, มันปรับปรุงตัวเลขอะไรก็ตามที่คุณให้, และไม่มีอะไรในนั้นที่บอกความแตกต่างระหว่างเป้าหมายที่สะท้อนสิ่งที่คุณต้องการ กับเป้าหมายที่แค่ 'ได้คะแนนดี'"

**Metric อยู่เหนือ prompt, โค้ด, และพฤติกรรม, วงจรจะเปลี่ยนทั้งสามอย่างให้เข้ากับสิ่งที่มันได้รับรางวัล**

นี่คือการยกระดับแบบเดียวกับที่:

**"ความพยายามย้ายจาก artifact ไปสู่ standard"**

Google Cloud ยกตัวอย่างที่เห็นภาพชัด:

"ลองนึกถึง support agent ที่มีกฎว่า 'ต้องเสนอ retention path ก่อนยืนยันการยกเลิก', โมเดลสามารถทำตามกฎนี้ใน reasoning ของมัน, แต่ดันหลุดจาก final reply"

พวกเขาเคยเห็น agent ล้มเหลวในรูปแบบนี้เป๊ะ:

**ไม่มีอะไร crash, output อ่านผ่านๆ ก็ดูดี, แต่คำตอบที่ผู้ใช้ได้รับ, ผิด**

และไม่มี public metric ไหนรู้ว่า retention rule ของคุณมีอยู่

**ทางออก:** สร้าง custom metric ของคุณเอง, `retention_offered`

, ที่ return 0 หรือ 1 พร้อมเหตุผลหนึ่งบรรทัด, "เขียนลงไป, นิยามนั้นเป็นของคุณ, ไว้ version และ sharpen เมื่อพบความล้มเหลวใหม่"

```
uvx google-agents-cli setup
agents-cli eval generate \
  --dataset tests/eval/datasets/cancellation_cases.json \
  -o artifacts/traces/
agents-cli eval grade \
  --traces artifacts/traces/ \
  --config tests/eval/eval_config.yaml
agents-cli eval compare \
  artifacts/grade_results/results_baseline.json \
  artifacts/grade_results/results_after_fix.json
```

**สำคัญ:** "อย่าให้ coding agent อ่าน output ของตัวเองแล้วตัดสินว่าผ่านไหม, agent ที่ถูกขอให้ตัดสิน reply ของตัวเองจะให้คะแนนแบบ optimistic, และความล้มเหลวที่สำคัญที่สุดคือแบบที่มัน 'wave through'"

**Grading ทำลาย circularity นี้**, ทุก trace ถูกให้คะแนนเทียบกับ metric ของคุณ, มาตรฐานที่ coding agent ขยับไม่ได้, ดังนั้นการแก้ไขถูกตัดสินโดยสิ่งที่ไม่ได้เป็นคนเสนอ

| ข้อ | กฎ | แก่น |
|---|---|---|
| 1 | เริ่มด้วย 1 case | 1 case ที่ล้มเหลวบอกว่าต้องแก้ไขอะไร, 20 cases ไม่บอกอะไร |
| 2 | ทำให้ผู้ตัดสินอธิบายตัวเองได้ | ตัวเลขบอกว่าล้มเหลว, เหตุผลบอกว่าต้องเปลี่ยนอะไร |
| 3 | ใช้โค้ดเมื่อคำตอบเป็น deterministic | Python function แม่นยำ, ฟรี, ไม่มี judge variance |
| 4 | ให้คะแนนพฤติกรรม ไม่ใช่เส้นทาง | Exact-match trajectories วัดว่า agent เปลี่ยนไปแค่ไหน, ไม่ใช่ว่าดีแค่ไหน |
| 5 | มอง case ที่ flaky คือสัญญาณ | คะแนนที่เปลี่ยนระหว่างรันที่เหมือนกัน = non-deterministic |
| 6 | อย่าให้คนเสนอเป็นคนขยับบาร์ | Held-out slice คือเครื่องป้องกันการโกง |
| 7 | Auto-optimize ครั้งเดียว ตอนสุดท้าย | Prompt optimization แพง, แก้แค่ wording, ไม่เคยแก้ missing tool call |

นี่คือหัวใจของบทความ, 7 กฎที่ Google Cloud ค้นพบระหว่างการสร้าง agents-cli [1]:

"One failing case tells you what to fix next. Twenty tell you nothing."

1 case ที่ล้มเหลว, บอกคุณว่าต้องแก้ไขอะไรต่อไป, 20 cases, ไม่บอกอะไรเลย

**คาดหวัง 5-10 iterations ก่อนที่มันจะผ่าน, นั่นคือปกติ, เพิ่ม case ถัดไปเมื่อมัน hold ได้แล้วเท่านั้น**

"A number says you failed. The reason says what to change."

ตัวเลขบอกว่าคุณล้มเหลว, **เหตุผลบอกว่าต้องเปลี่ยนอะไร**, และเหตุผลคือสิ่งที่ iteration ถัดไปใช้เป็นทิศทาง

**ข้อยกเว้น:** Deterministic checks ไม่ต้องมีคำอธิบาย, เพราะ assertion คือคำอธิบายในตัวเอง

"\"Did it call the retention tool before confirming?\" is a Python function."

"มันเรียก retention tool ก่อนยืนยันไหม?", นี่คือ Python function, แม่นยำ, ฟรี, ไม่มี judge variance

**เก็บ judge ไว้สำหรับ:** tone, completeness, คำอธิบายว่า hold up ไหม

"An agent that geocodes before checking the weather isn't wrong."

Agent ที่ geocode ก่อนเช็กสภาพอากาศ, ไม่ได้ผิด

**Exact-match trajectories ลงเอยด้วยการวัดว่า agent เปลี่ยนไปแค่ไหน, แทนที่จะวัดว่ามันดีแค่ไหน**

"A score that moves between identical runs means your agent is non-deterministic."

คะแนนที่เปลี่ยนระหว่างรันที่เหมือนกัน, หมายความว่า agent ของคุณเป็น non-deterministic ในแบบที่คุณไม่เคยสังเกต, หรือ judge ของคุณเป็น

**รัน case นั้นหลายครั้งแล้วดูว่าตัวไหนเคลื่อน, การลบมันคือการลบหลักฐาน, ไม่ใช่ลบพฤติกรรม**

"A bar moves three ways: lowered threshold, edited expected output, quietly dropped case."

บาร์ขยับได้ 3 ทาง:

**ทั้งสามทางดูเหมือนคะแนนที่ improving, นี่คือสิ่งที่ held-out slice มีไว้สำหรับ, การปรับปรุงจริงแสดงผลที่นั่นด้วย, การโกงไม่แสดง**

"Prompt optimization is expensive and only fixes wording, never a missing tool call."

Prompt optimization แพง, และแก้ไขแค่ wording, ไม่เคยแก้ missing tool call

**การวนลูปกับมันใช้เวลาหลายชั่วโมงเพื่อค้นพบสิ่งที่ failure reasons บอกไว้แล้ว**

Google Cloud ชี้ให้เห็นว่า metric ที่คุณสร้างไม่ได้ใช้แค่ตอนพัฒนา:

"ใน development คุณเรียกมันว่า eval, ใน production คุณเรียกมันว่า monitoring, มันคือ metric เดียวกัน"

Agent ที่ deploy แล้ว export execution traces อยู่แล้ว, ด้วย prompt-response logging, prompts และ replies ลงใน BigQuery, ดังนั้นการรัน metric ของคุณบนตารางนั้นคือขั้นตอน grading เดียวกัน, แค่ใช้กับ traffic จริงแทน dataset ที่เขียน

**"Over the cases you wrote, and over the conversations you didn't."**

ทุก production exchange ที่ผิดพลาด, กลายเป็น case ใหม่, ให้คะแนนด้วย metric เดียวกัน, ป้องกัน regression นั้นตั้งแต่นั้น

Google Cloud ปิดท้ายด้วยกฎที่อยู่เหนือกฎทั้ง 7:

"Coding agent ทำการ iterate, มันเขียน prompt, รัน agent, หาช่องว่าง, และปิดมัน, แต่มัน generate 'นิยามของความดี' ที่มัน optimize เข้าหาไม่ได้"

**"เขียนนิยามนั้นลงไปก่อนที่คุณจะเริ่มวงจร, และเก็บมันไว้ที่ไหนสักแห่งที่วงจรเอื้อมไม่ถึง"**

ถึงแม้ agents-cli จะมีประโยชน์, แต่มันไม่ใช่ silver bullet:

บทความนี้จาก Google Cloud Tech คือหนึ่งในบทความที่ "พูดถูกทุกประโยค" เกี่ยวกับการสร้าง AI agents ในโลกจริง

ประเด็นที่ผมคิดว่าสำคัญที่สุด:

**Metric > Prompt**, เราทุ่มเทเวลากับ prompt engineering มากเกินไป, แต่ metric ต่างหากที่กำหนดว่า agent จะ evolve ไปทางไหน

**Custom metrics คือ moat ของคุณ**, retention_offered, compliance_check, tone_match, นิยามเหล่านี้คือสิ่งที่ทำให้ agent ของคุณแตกต่างจากของคนอื่น, ไม่มี public benchmark วัดสิ่งเหล่านี้

**Held-out set คือเครื่องป้องกันการโกง**, ถ้าไม่มี held-out slice, วงจรจะ optimize เข้าหา metric โดยไม่สนใจว่ามัน "ดี" จริงหรือเปล่า

**Eval = Monitoring**, นี่คือ insight ที่ underrated ที่สุด, metric เดียวกันใช้ได้ทั้ง dev และ prod, ลดความซ้ำซ้อน, เพิ่มความสม่ำเสมอ

[1] Google Cloud Tech. "7 rules for self-improving agent loops every AI engineer should know". X (Twitter). 10 สิงหาคม 2026. [https://x.com/GoogleCloudTech/status/2086874630032073142](https://x.com/GoogleCloudTech/status/2086874630032073142)

[2] Google. "agents-cli, Open-source CLI and skills for building agents on Google Cloud". 2026. [https://google.github.io/agents-cli](https://google.github.io/agents-cli)

*บทความนี้สรุปจาก X post ของ Google Cloud Tech, พร้อมขยายความและเพิ่มมุมมองส่วนตัว, Nokka*

**คุณใช้ metric อะไรในการวัดคุณภาพ AI agent ของคุณ? คุณมี "retention_offered" ในแบบของคุณเองไหม? แชร์ใต้บทความได้เลยครับ**
