ការរចនា Agent Loops ដែលដំណើរការខណៈអ្នកដេក
នៅថ្ងៃទី ៧ ខែមិថុនា ឆ្នាំ ២០២៦ Peter Steinberger — អ្នកបង្កើត OpenClaw ដែលជា repository ថ្មីដែលមានផ្កាយច្រើនបំផុតក្នុងប្រវត្តិសាស្ត្រ GitHub — បានបង្ហោះពាក្យប្រាំពីរម៉ាត់ដែលឆ្លងកាត់ការមើលរាប់លានដងក្នុងមួយថ្ងៃ៖ “អ្នកមិនគួរ prompt coding agents ទៀតទេ។ អ្នកគួររចនា loops ដែល prompt agents របស់អ្នកវិញ។” ការឆ្លើយតបបានប្រែជាការឈ្លោះប្រកែកគ្នា។ ប្រហែលបួនក្នុងដប់ហៅវាថាជាស្រទាប់អរូបីបន្ទាប់ ឯអ្នកនៅសល់ហៅវាថាជា cron job ដែលពាក់មួក។
ទាំងសងខាងបានខកខានចំណុចសំខាន់ ដែលតូចជាង និងមានប្រយោជន៍ជាងអ្វីដែលគេគិត។ ការផ្លាស់ប្ដូរដែល Steinberger ពណ៌នាមិនមែនជាបច្ចេកវិទ្យាថ្មីទេ។ វាជាការផ្លាស់ប្ដូរនៃកន្លែងដែលអ្នកដាក់ដៃ។ ជំនួសឱ្យការអង្គុយលើកៅអី ហើយវាយការណែនាំបន្ទាប់ អ្នកសរសេរកម្មវិធីដែលសម្រេចថាការណែនាំបន្ទាប់គួរជាអ្វី — ហើយបន្ទាប់មកអ្នកទៅដេក ខណៈវាដំណើរការ។ Boris Cherny ដែលដឹកនាំ Claude Code នៅ Anthropic បាននិយាយយ៉ាងច្បាស់៖ “ខ្ញុំលែង prompt Claude ទៀតហើយ។ ខ្ញុំមាន loops កំពុងដំណើរការ។ ពួកវាទេដែល prompt Claude។”
ប៉ុន្មានសប្ដាហ៍ក្រោយមក Addy Osmani របស់ Google បានដាក់ឈ្មោះឱ្យសភាវគតិនោះថា — loop engineering — ហើយឈ្មោះនោះកំពុងជាប់។ អត្ថបទនេះនិយាយអំពីរបៀបដែលអ្នកពិតជាសាងសង់ loop មួយក្នុងចំណោមនេះ និងរបៀបដែលអ្នករក្សាវាកុំឱ្យដុតថវិកា token របស់អ្នកដោយស្ងាត់ៗនៅម៉ោង ៣ ភ្លឺ។
វដ្តនៅកណ្ដាល
ដកឧបករណ៍ចេញ នោះរាល់ loop ស្វយ័តគឺជាចង្វាក់បួនដូចគ្នា ដែលប្រែទៅប្រែមករហូតដល់គោលដៅត្រូវបានសម្រេច៖
Perceive → Reason → Act → Observe (យល់ឃើញ → វែកញែក → ធ្វើសកម្មភាព → សង្កេត)។
Agent យល់ឃើញពីស្ថានភាពបច្ចុប្បន្នរបស់វា (ភារកិច្ច ឯកសារ លទ្ធផលចុងក្រោយ) វែកញែកអំពីអ្វីដែលត្រូវធ្វើបន្ទាប់ធៀបនឹងគោលដៅ ធ្វើសកម្មភាពដោយដំណើរការឧបករណ៍ — shell command ការកែឯកសារ ការហៅ API — ហើយបន្ទាប់មកសង្កេតមើលអ្វីដែលត្រឡប់មកវិញ។ ការសង្កេតនោះក្លាយជាការយល់ឃើញបន្ទាប់ ហើយ loop ប្រែម្ដងទៀត។ Osmani ហៅវាថា “វិធីសាស្ត្រវិទ្យាសាស្ត្រដែលអនុវត្តលើ coding”៖ បង្កើតសម្មតិកម្ម ដំណើរការការពិសោធ អានលទ្ធផល កែតម្រូវ។ បញ្ញាស្ថិតនៅក្នុង model ឯ ស្វយ័តភាព ស្ថិតនៅក្នុងវដ្ត។
នេះជា loop ដូចគ្នាដែលយើងបានវិភាគនៅក្នុង Inside the Agent Loop។ អ្វីដែលថ្មីនៅក្នុងការក្រឡេកមើល loop engineering គឺកម្ពស់។ Prompt engineering លៃតម្រូវវេនតែមួយ។ Harness engineering លៃតម្រូវបរិយាកាសដែល agent មួយដំណើរការនៅខាងក្នុង។ Loop engineering ស្ថិតនៅជាន់មួយខាងលើ harness៖ វារចនាកម្មវិធីដែលដឹកនាំ agent ឆ្លងកាត់រាប់រយវេន ដោយគ្មានអ្នកនៅលើកៅអី។
អ្វីដែលប្រែ loop ខណៈអ្នកដេក
Loop ដែលដំណើរការដោយគ្មានការឃ្លាំមើលត្រូវការរបស់បីយ៉ាងដែលវគ្គ chat មិនត្រូវការ។
- Trigger មួយ។ អ្វីមួយត្រូវចាប់ផ្ដើម loop ដោយគ្មានអ្នកចុច enter — កាលវិភាគ cron, label issue ថ្មី, ការដំណើរការ CI ដែលបរាជ័យ, webhook។ Trigger គឺជាអ្វីដែលផ្ដាច់ការងារចេញពីក្ដារចុចរបស់អ្នក។ នេះជាភាពខុសគ្នាពិតប្រាកដរវាង agent ដែលអ្នកត្រួតពិនិត្យ និងមួយដែលដំណើរការពេញមួយយប់។
- គោលដៅដែលអាចផ្ទៀងផ្ទាត់បាន។ “ធ្វើឱ្យវាប្រសើរជាងមុន” មិនមែនជាគោលដៅដែល loop អាចធ្វើសកម្មភាពបានទេ ឯ “test ទាំងអស់ជោគជ័យ ហើយ linter ស្អាត” អាច។ Loop ត្រូវការលក្ខខណ្ឌដែលវាអាច ពិនិត្យដោយខ្លួនឯង ដោយយន្តការ នៅរាល់វេន — ព្រោះអ្នកកំពុងដេក ហើយមិនអាចជាអ្នកពិនិត្យបានទេ។ គោលដៅដែលកំណត់មិនច្បាស់គឺជាមូលហេតុលេខមួយនៃ loops ដែលវិលដោយមិនប្រសព្វគ្នា។
- ការបែងចែក maker/checker។ Loops ដែលអាចទុកចិត្តបានបំផុតបំបែក agent ដែល សរសេរ ចេញពី agent — ឬ test suite ឬ CI gate — ដែល ផ្ទៀងផ្ទាត់។ មួយស្នើ ឯមួយផ្សេងទៀតយល់ព្រម។ Model ដែលឱ្យពិន្ទុលំហាត់របស់ខ្លួនឯងគឺជារបៀបដែលរឿងឥតន័យដ៏ប្រាកដប្រជាត្រូវបានដាក់ទៅផលិតកម្ម។
ផ្ដល់ឱ្យ loop នូវរបស់ទាំងបីនោះ នោះវាពិតជាអាចដំណើរការខណៈអ្នកដេក។ សំណួរលែងជាថាតើវា អាច ដំណើរការដោយគ្មានការឃ្លាំមើលឬអត់ — វាជាថាតើអ្នកនឹងទុកចិត្តលើអ្វីដែលអ្នករកឃើញនៅពេលព្រឹកឬអត់។
Guardrails គឺជាវិស្វកម្ម
នេះជាផ្នែកដែលក្រុម “វាគ្រាន់តែជា cron job” យល់ខុស។ នរណាក៏អាចរុំ model ក្នុង while loop បានដែរ។ ភាពខុសគ្នារវាង loop engineering និង ការដំណើរការ loops ស្ថិតនៅទាំងស្រុងក្នុង guardrails — កូដដែលសម្រេចថាពេលណាត្រូវឈប់។ បើគ្មានពួកវាទេ loop មិនបរាជ័យដោយរលូនទេ វាបរាជ័យដោយចំណាយថ្លៃ។ Uber បានរៀនរឿងនេះតាមផ្លូវលំបាក ហើយបានកំណត់វិស្វករត្រឹម ១,៥០០ ដុល្លារក្នុងមួយឧបករណ៍ក្នុងមួយខែ បន្ទាប់ពីដុតថវិកា AI ប្រចាំឆ្នាំរបស់ខ្លួនក្នុងរយៈពេលបួនខែ។
រាល់ loop ដែលអ្នកអនុញ្ញាតឱ្យដំណើរការដោយគ្មានការឃ្លាំមើលត្រូវការទាំងអស់នេះ មិនមែនមួយចំនួនទេ៖
- ការកំណត់ការធ្វើឡើងវិញរឹង (hard iteration cap)។ ចំនួនវដ្តអតិបរមា ឈប់ទាំងស្រុង។ Loops ដែលវិលរវាងការជួសជុលពីរ — នីមួយៗបំផ្លាញអ្វីដែលមុនជួសជុល — នឹងធ្វើវាជារៀងរហូត បើអ្នកអនុញ្ញាត។
- ថវិកា token និងតម្លៃ។ ដែនកំណត់រឹងក្នុងមួយដំណើរការ។ នៅពេលវាដល់ loop ឈប់ ទោះបីនៅពាក់កណ្ដាលភារកិច្ច។ នេះជា guardrail ដែលការពារអ្នកពីការភ្ញាក់ឡើងជួបវិក្កយបត្រលេខបួនខ្ទង់។
- ការរកឃើញគ្មានវឌ្ឍនភាព។ បើ output មិនបានផ្លាស់ប្ដូរយ៉ាងមានន័យក្នុង N វេន នោះ loop ជាប់គាំង។ ចេញ ហើយបញ្ជូនបន្ត ជាជាងដុតរយវេនទៀតដោយឥតបានការ។
- Circuit breakers លើឧបករណ៍។ ដែនកំណត់ការព្យាយាមឡើងវិញលើរាល់ការហៅឧបករណ៍ ដើម្បីកុំឱ្យ API ដែលមិនស្ថិតស្ថេរមួយក្លាយជាព្យុះព្យាយាមឡើងវិញគ្មានទីបញ្ចប់។
- ចំណុចត្រួតពិនិត្យដោយមនុស្សសម្រាប់សកម្មភាពដែលមិនអាចត្រឡប់វិញបាន។ ការលុបទិន្នន័យ ការ push ទៅផលិតកម្ម ការផ្ញើអ៊ីមែល — របស់ទាំងនេះរង់ចាំមនុស្ស ទោះបីនៅក្នុង loop ស្វយ័តក៏ដោយ។ Sandbox អ្វីៗផ្សេងទៀតទាំងអស់ ដើម្បីកុំឱ្យ agent ដែលរត់ហួសហេតុបំផ្លាញ filesystem។
កត់សម្គាល់ថាគ្មានរបស់ទាំងនេះធ្វើឱ្យ agent ឆ្លាតជាង ទេ។ ពួកវាធ្វើឱ្យវា មានសុវត្ថិភាពក្នុងការទុកចោល — ដែលជាសំណើទាំងមូល។ Loop ដែលអ្នកត្រូវឃ្លាំមើលមិនមែនជា loop ទេ វាជាវគ្គ chat ដែលមានជំហានបន្ថែម។
ហេតុអ្វីនេះសំខាន់ជាងនៅអាស៊ីអាគ្នេយ៍
វាងាយនឹងអានរឿងទាំងអស់នេះថាជាកង្វល់របស់ frontier lab។ វាផ្ទុយ។ Loop engineering គឺជាជំនាញដែលមានឥទ្ធិពលខ្ពស់ដែលងាយចូលដល់បំផុតក្នុង AI ទំនើប ហើយភាពមិនស្មើគ្នានោះពេញចិត្តចំពោះអ្នកអភិវឌ្ឍដែលគេតែងតែមិនរាប់បញ្ចូល។
Loop ដែលរចនាបានល្អគឺជាកត្តាគុណលើ ពេលវេលា ហើយវាមិនខ្វល់ថាអ្នកនៅតំបន់ពេលវេលាណាទេ។ ក្រុមពីរនាក់នៅភ្នំពេញ ឬ Da Nang ដែលរចនា loops ល្អ អាចបញ្ចេញការងាររបស់ក្រុមធំជាងច្រើន — ព្រោះ loops ដំណើរការពេញមួយយប់ នៅចុងសប្ដាហ៍ ឆ្លងកាត់ថ្ងៃឈប់សម្រាក ខណៈក្រុមដេក។ ការពិសោធ AutoResearch របស់ Andrej Karpathy បានដំណើរការការពិសោធ ៧០០ ក្នុងរយៈពេលពីរថ្ងៃលើ GPU តែមួយ អ្នកមិនទទួលបានវាពី prompt ល្អទេ អ្នកទទួលបានវាពី loop ល្អ។ ឥទ្ធិពលនោះមានសម្រាប់នរណាម្នាក់ដែលយល់ពីវដ្ត និង guardrails ហើយវាមិនចំណាយអ្វីក្រៅពីវិស្វកម្មទេ។
ហើយ loop engineering គឺជា វិស្វកម្ម — គោលដៅដែលអាចផ្ទៀងផ្ទាត់បាន ការដោះស្រាយកំហុស ការរចនា test វិន័យតម្លៃ ការគិតជាប្រព័ន្ធដោយប្រុងប្រយ័ត្ន។ គ្មានផ្នែកណាមួយត្រូវការការបង្វឹក frontier model ទេ។ វាត្រូវការអ្នកអភិវឌ្ឍល្អដែលយល់ពីបញ្ហាមួយយ៉ាងស៊ីជម្រៅគ្រប់គ្រាន់ដើម្បីដាក់បញ្ចូល “តើ done មានន័យដូចម្ដេច?” ទៅក្នុងការពិនិត្យដែលម៉ាស៊ីនអាចដំណើរការបាន។ អាស៊ីអាគ្នេយ៍មានអ្នកអភិវឌ្ឍទាំងនោះក្នុងចំនួនកើនឡើង ចេញពីស្ថាប័នដូចជា RUPP និង ITC នៅកម្ពុជា និងទូទាំងតំបន់។ Model ត្រូវបានជួលពី California ក្នុងតម្លៃថេរ ឯ loop ដែលរុំជុំវិញវា — លៃតម្រូវសម្រាប់ domain របស់អ្នក codebase របស់អ្នក និយមន័យ done របស់អ្នក — គឺជារបស់អ្នក ហើយវាជាកន្លែងដែលតម្លៃគង់វង្សស្ថិតនៅ។
កន្លែងដែលត្រូវចាប់ផ្ដើម
ជ្រើសរើសភារកិច្ចមួយដែលអ្នកធ្វើតាមកាលវិភាគ ហើយខ្លាច — ការ triage issues ថ្មី ការ update dependencies ការរក្សា changelog ឱ្យទាន់សម័យ។ សរសេរចុះថា “done” មើលទៅដូចម្ដេចជាការពិនិត្យដែលម៉ាស៊ីនអាចដំណើរការបាន។ ភ្ជាប់ trigger ទៅវា។ បន្ថែម guardrails មុនពេល អ្នកបន្ថែមមហិច្ឆតា៖ ការកំណត់ការធ្វើឡើងវិញ ដែនកំណត់តម្លៃ ការចេញពេលគ្មានវឌ្ឍនភាព។ បន្ទាប់មកអនុញ្ញាតឱ្យវាដំណើរការម្ដងខណៈអ្នកមើល ហើយម្ដងខណៈអ្នកមិនមើល។
ពាក្យប្រាំពីរម៉ាត់របស់ Steinberger មិនមែននិយាយអំពី coding agents ពិតប្រាកដទេ។ ពួកវានិយាយអំពីកន្លែងដែលឥទ្ធិពលបានផ្លាស់ប្ដូរ។ វាបានផ្លាស់ចេញពី prompt ចូលទៅក្នុង loop — ហើយ loop ដំណើរការខណៈអ្នកដេក។ សាងសង់ loop នោះ។