1 VPS 7 Agents

TheLaPyaeTheLaPyae
1 VPS 7 Agents

VPS သေးသေးတစ်လုံး (Virtual Private Server) — 1 CPU, 2GB RAM, 50GB storage လောက်ပဲရှိတဲ့ server တစ်လုံးထဲမှာ agents 7 ခု (AI agents) ကို run (run) လုပ်လို့ရမလား။ ရလည်းရပါတယ်။ ဒါပေမယ့် “အကုန်ကို တစ်ပြိုင်နက် အလုပ်ခိုင်း” မယ်ဆိုရင် မကြာခင်ကတည်းက နှေးမယ်၊ ကပ်မယ်၊ တစ်ခုကျသွားရင် အကုန်ပါထိမယ်။

ဒီ post မှာတော့ နည်းပညာစကားကြီးတွေမပြောဘဲ “ဘာကြောင့် ဖြစ်တာလဲ” နဲ့ “ဘယ်လိုထိန်းရလဲ” ကို ရိုးရိုးရှင်းရှင်း နားလည်အောင် ရေးထားပါတယ်။ အဓိက idea က တစ်ခုတည်းပါ။ အလုပ်ကို ခွဲ (split)၊ အချိန်ကို ခွဲ (schedule)၊ အလှည့်ကျ run (run) လုပ် ပေးလိုက်ရင် VPS သေးသေးလေးပေါ်မှာတောင် အလုပ်ဖြစ်လာနိုင်တယ်။


အရင်ဆုံး ဥပမာတစ်ခုနဲ့ပဲ နားလည်စေချင်တယ်

VPS (server) ကို “မီးဖိုခန်းလေး (kitchen)” လိုစဉ်းစားပါ။

  • CPU (processor) က “ချက်စားတဲ့သူ ၁ ယောက် (one cook)” လိုပဲ။ တစ်ချိန်တည်း အလုပ်နှစ်ခုကို မနေနိုင်ဘူး။ မီးဖို ၂ လုံးတင်ထားလည်း ချက်စားတဲ့လူက ၁ ယောက်ပဲဆိုရင် အလုပ်က အလှည့်ကျပဲ ထွက်မယ်။

  • RAM (memory) က “စားပွဲပေါ်နေရာ (table space)” လိုပဲ။ ပစ္စည်းတွေ အကုန်ထုတ်ချထားရင် လုပ်စရာအတွက်နေရာ မကျန်တော့ဘူး။

  • storage (disk storage) က “သိုလှောင်ခန်း (storage room)” လိုပဲ။ အမှိုက်မရှင်းရင် မကြာခင်ပြည့်သွားမယ်။

  • agents (agents) က “အကူလက် ၇ ယောက် (seven helpers)” လိုပဲ။ ဒါပေမယ့် ၇ ယောက်လုံး တစ်ပြိုင်နက် မီးဖိုခန်းထဲဝင်လာရင် တကယ်ဖြစ်သွားတာက အလုပ်မြန်မလာဘူး။ ပိုရှုပ်လာတယ်။ ပိုနှေးလာတယ်။ အဲ့ဒါကြောင့် အဓိကစကားတစ်ခုပဲပါ:

  • agents များတယ်ဆိုတာ = တစ်ချိန်တည်း အကုန် run လုပ်ရမယ်လို့ မဆိုလိုဘူး


“Agents 7 ခု” ကို ကျွန်တော် ဘယ်လိုမြင်လဲ

ကျွန်တော်က agents တွေကို အလုပ်အလေးအနက်အလိုက် ၃ မျိုးခွဲပြီး စဉ်းစားတတ်လာတယ်။

  • ညွှန်ကြားရေးအကူ (router/coordinator)
    • message (message) တစ်ခုလာရင် “ဒီဟာကို ဘယ်သူလုပ်မလဲ” လို့ ခွဲပေးတဲ့သူ
    • ခေါင်းဆောင်အနေနဲ့လုပ်တယ် ၊ အမြဲအဆင်သင့်ရှိနေတယ်
  • အလုပ်လုပ်တဲ့အကူတွေ (workers)
    • စာတည်းဖြတ်တာ၊ စုစည်းတာ၊ တိုတိုချုပ်တာ၊ အမျိုးအစားခွဲတာမျိုး
    • အလယ်အလတ်ပဲ၊ အများကြီးတစ်ပြိုင်နက်မလုပ်စေချင်ဘူး
  • အလုပ်ကြီးအကူ (heavy worker)
    • browser automation (browser automation) လို CPU/RAM ကောင်းကောင်းစားတဲ့အလုပ်
    • ဒီကောင်ကတော့ “တစ်ခါတည်း ၁ ခုချင်း” ပဲ လုပ်ခိုင်းတာအကောင်းဆုံး ဒီလိုခွဲပြီး စည်းကမ်းထည့်လိုက်တာနဲ့ VPS သေးသေးပေါ်မှာတောင် စနစ်က တော်တော် တည်ငြိမ် (stable) လာတယ်။

1 CPU ပေါ်မှာ အသက်ရှင်ဖို့ trick တစ်ခုတည်းရှိတယ်

အဲ့တာက အလှည့်ကျလုပ်ခိုင်းတာ ပါ။

1 CPU (one processor) ဆိုတာ “လုပ်သား ၁ ယောက် (one worker)” လိုပဲ။ 7 ယောက်အလုပ်ရှိတယ်ဆိုပြီး 7 ယောက်လုံးကို တစ်ပြိုင်နက် အော်ခိုင်းလိုက်ရင် ဘာဖြစ်မလဲ။ မလုပ်နိုင်ဘူး။ ရှုပ်မယ်။ အလုပ်ထွက်တာလည်း မမှန်တော့ဘူး။

အဲ့ဒါကြောင့် ကျွန်တော်က ဒီလို rule (rule) တစ်ခုထားတယ်:

  • အလုပ်ကြီး (heavy work) က queue (queue) ထဲထားပြီး one at a time ပဲ run
  • အလုပ်သေး (light work) တွေကလည်း မလိုအပ်ရင်မrun၊ လိုမှ run
  • router (router) ကတော့ လမ်းညွှန်ပေးဖို့ always-on ဒီ rule တစ်ခုကပဲ “agent များလို့ VPS ပျက်သွားမှာပဲ” ဆိုတဲ့အကြောက်ကို တော်တော် လျော့ပေးတယ်။

RAM (memory) 2GB ဆိုတာ “အကုန်မထုတ်ချထားနဲ့” လို့ပြောနေတာ

RAM (memory) က စားပွဲပေါ်နေရာ (table space) လိုပဲဆိုတော့ trick ကလည်း ရိုးရိုးပါပဲ:

  • agent ကို context (context) အကုန်မပေးပါနဲ့

  • လိုတာပဲပေးပါ ကျွန်တော်လုပ်တတ်တာက ဒီလို:

  • အရှည်ကြီးစာတွေကို အရင် summary (summary) လုပ်ပြီးမှ agent ကိုပေး

  • လိုလာမှပဲ original ကို ပြန်ခေါ်

  • “memory” ကို RAM ထဲမထားဘဲ files (files) ထဲသိမ်းပြီး လိုတဲ့အခါမှ ထုတ်


storage (disk) 50GB ကို မပြည့်အောင်ထိန်းတာက တော်တော် အရေးကြီးတယ်

ဒီဟာက မလှသလိုမြင်ရပေမယ့် အတွေ့အကြုံအရ အရေးကြီးဆုံးတွေထဲက တစ်ခုပါ။ Disk (disk) ပြည့်သွားရင် server က “ဟုတ်တယ် ဟုတ်တယ်” ဆိုပြီး အလုပ်လုပ်နေသလိုနဲ့ တိတ်တိတ်လေး ပျက်သွားတတ်တယ်။

ဒါကြောင့်:

  • logs (logs) ကို အဟောင်းတွေ အချိန်မှန်ဖျက် (log rotation)
  • မလိုအပ်တဲ့ cache/artifacts တွေကို cleanup (cleanup) ဒီနှစ်ခုက လုပ်ရင် မျက်စိထဲမမြင်ပေမယ့် တကယ် stability ကိုကယ်တာပါ။

ဒီအပတ်ပဲ စမ်းကြည့်လို့ရတဲ့ mini playbook

  • Step 1: agent တစ်ခုကို တာဝန်တစ်မျိုးတည်းပေး (single responsibility)
  • Step 2: browser automation (browser automation) လို heavy work ကို one at a time
  • Step 3: logs (logs) ထားပြီး အဟောင်းတွေကို log rotation လုပ်
  • Step 4: context ကို summary-first လုပ်ပြီး RAM ကိုမထိခိုက်အောင်ထား

“VPS သေးတာက မကြောက်စရာမဟုတ်ဘူး။ စည်းကမ်းမရှိတာကပဲ ကြောက်စရာပါ။”

ကျွန်တော်ကတော့ VPS သေးသေးပေါ်မှာ ဒီလိုစည်းကမ်းတွေ ထည့်ပြီး run လိုက်တာနဲ့ “server ကြီးရမှ stable ဖြစ်မယ်” ဆိုတဲ့အတွေးကို တဖြည်းဖြည်း လွှတ်ချနိုင်လာတယ်။ သင်လည်း အစမှာ သေးသေးလေးနဲ့စမ်းကြည့်ပါ။ အကုန်ကို တစ်ပြိုင်နက် run မလုပ်ဘဲ queue (queue) နဲ့ အလှည့်ကျသွားလိုက်ရင် အလုပ်ထွက်တာက ပိုမှန်လာလိမ့်မယ်။