−25%

በWindows ዓመታዊ ክፍያ ላይ፣ እስከ ኦክቶበር 31። ዕቅዶችን ይመልከቱ

EQVPS
ጀምር

ለኮድ ግምገማና ለPR ፍተሻ የሚሆን sandbox፦ ከማጽደቅዎ በፊት patch እንደሚሰራ ያረጋግጡ

diffን ማንበብ patch ምን እንደሚል ይነግርዎታል። ማሄዱ ደግሞ እውነት መሆኑን ይነግርዎታል። pull requestን በአንድ ጊዜ microVM ውስጥ ያምጡ፣ ከለውጡ በፊትና በኋላ ስህተቱን እንደገና ያስነሱ፣ ሙከራዎችን ያሂዱ፣ በማስረጃ ይገምግሙ — በአንድ ዙር ወደ ግማሽ ሳንቲም ገደማ።

diff patch ምን እንደሚያደርግ የሚለውን ያሳያል። ስህተቱ በእርግጥ መጥፋቱን፣ አዲሱ የif ቅርንጫፍ ጨርሶ መሄዱን፣ ወይም የጥገኛ ስሪት ማሻሻያ በንጹህ ጭነት ላይ importን መስበሩን አያሳይም። ገምጋሚዎች ይህን ያውቃሉ፣ ለዚህም ነው ብዙ ግምገማዎች "LGTM፣ ሙከራዎቹ ካለፉ" በሚል የሚያልቁት።

በAI በተጻፉ patches ይህ ክፍተት ይሰፋል። ሞዴል ተአማኒ የሚመስል ኮድ በፍጥነት ያመርታል፣ ተአማኒ የሚመስለው ደግሞ በትክክል የደከመውን ገምጋሚ የሚያመልጠው ነው። ርካሹ መፍትሄ ማንም ከማጽደቁ በፊት ለውጡን ማሄድ ነው — ምንም ሊጎዳ በማይችልበት ቦታ።

ፍተሻው፦ base፣ head፣ ሙከራዎች

አንድ patch ሊያቀርብ የሚችለው በጣም አሳማኝ ማስረጃ በአሮጌው ኮድ የሚወድቅና በአዲሱ የሚያልፍ ማስነሻ ነው። sandbox ይህን የ20 መስመር script ያደርገዋል። በአንድ ሰከንድ ገደማ የሚነሳ፣ Python 3.12፣ Node.js 22፣ git እና curl ያለው Firecracker microVM ነው፦

import os
from eqvps import Sandbox

REPO, BASE, HEAD = os.environ["REPO_URL"], os.environ["BASE_SHA"], os.environ["HEAD_SHA"]

def repro(sb, ref):
    sb.exec(f"cd /root/app && git checkout -q {ref}", timeout=55)
    return sb.exec("cd /root/app && python3 /root/repro.py", timeout=55).exit_code

with Sandbox.create(tariff="standard", ttl=1800) as sb:
    sb.exec(f"git clone -q {REPO} /root/app", timeout=55)
    sb.exec("cd /root/app && pip install -q -r requirements.txt", timeout=55)
    sb.upload("/root/repro.py", open("repro.py").read())
    before, after = repro(sb, BASE), repro(sb, HEAD)
    tests = sb.exec("cd /root/app && python3 -m pytest -q", background=True).wait()
    print(f"repro on base: {before}, on head: {after}; tests: {tests.state}, exit {tests.exit_code}")

repro.py ከስህተት ሪፖርቱ የተወሰደው ቁራጭ ኮድ ነው። በbase ላይ ዜሮ ባልሆነ ኮድ፣ በhead ላይ በዜሮ ካለቀ፣ patch የሚለውን ያስተካክላል ማለት ነው። ያንን መስመር ከሙከራዎቹ ማጠቃለያ ጋር በpull request ላይ እንደ አስተያየት ይለጥፉ፣ ገምጋሚውም ከእውነታዎች ይጀምራል።

የሙከራ ስብስቡ እንደ የጀርባ ስራ ይሄዳል፣ ምክንያቱም አንድ synchronous ትዕዛዝ በ55 ሰከንድ ይቆማል። የ30 ደቂቃው TTL የተቆለፈ ሩጫ ምን ያህል ጊዜ ሊያስከፍል እንደሚችል ይገድባል።

ኮድ የሚያሄዱ የግምገማ ኤጀንቶች

ይኸው ሀሳብ ለAI ገምጋሚም ይሰራል። በMCP ሰርቨር የተገናኘ ኤጀንት የsandbox መሳሪያዎች አሉት፦ sandbox መፍጠር፣ ትዕዛዝ ማሄድ፣ ፋይሎችን መስቀልና ማውረድ። "ይህ ከPython 3.8 ጋር ያለውን ተኳኋኝነት ሊሰብር ይችላል" ብሎ ከመጻፍ ይልቅ branchን ያመጣል፣ ኮዱን ያሄዳል፣ tracebackን ይጠቅሳል — ወይም ሁሉም ደህና መሆኑን ይናገራል።

ለእንደዚህ ያለ ኤጀንት የወጪ ጣሪያ እና ለንባብ ብቻ የሆነ token ይስጡ፣ ሳይጠይቅ የትኞቹን መሳሪያዎች መጥራት እንደሚችል ይወስኑ። የMCP ጥበቃዎች እያንዳንዱን መሳሪያ በአደጋ ደረጃ ይዘረዝራሉ።

የትኛው ታሪፍ

Repositoryታሪፍየተለመደ ዙርግምታዊ ወጪ
ትንሽ library፣ ንጹህ Python ወይም JSsmall (0.5 vCPU, 1 GB)2 ደቂቃ$0.0011
የሙከራ ስብስብ ያለው የድር መተግበሪያstandard (1 vCPU, 2 GB)5 ደቂቃ$0.0055
Native extensions፣ compile የሚደረጉ ጥገኞችplus (2 vCPU, 4 GB)15 ደቂቃ$0.033

ጊዜያዊ sandboxes በሰከንድ ይከፈላሉ፣ ቢያንስ 60 ሰከንድ። ገምጋሚው ለጥቂት ቀናት ወደ ተመሳሳይ አካባቢ መመለስ ከፈለገ፣ እንደ persistent ይፍጠሩት፦ ዲስኩን እስከ 30 ቀን ያቆያል፣ ለእያንዳንዱ የተጀመረ ሰዓትም ይከፈላል፣ ስለዚህ ለሁለት ቀን ግምገማ የተቀመጠ standard sandbox ወደ $3.17 ገደማ ያስከፍላል። pull request ሲዋሃድ ይሰርዙት።

ሊያውቋቸው የሚገቡ ገደቦች

  • በአንድ መለያ በአንድ ጊዜ ሁለት ትዕዛዞች። አንዱ ከሌላው በኋላ ለሚደረጉ ግምገማዎች በቂ ነው። በደርዘን የሚቆጠሩ pull requests በአንድ ጊዜ ከፈተሹ ወረፋ ይይዛሉ።
  • ወደ ውስጥ የሚገቡ ports የሉም። መተግበሪያውን በbrowser መክፈት አይችሉም። ውስጥ ያስነሱትና ከሁለተኛ ትዕዛዝ በcurl localhost ይሞክሩት።
  • ውስጥ Docker የለም። containers የሚያስነሱ ሙከራዎች ቦታቸው በVPS ላይ ያለ runner ነው።
  • ወደ ውጭ የሚወጣ ኢንተርኔት ክፍት ነው። pip install እንዲሰራ የሚያደርገው ይኸው ነው። ለpatch ጸሐፊው የማይሰጡትን ማንኛውንም ነገር በsandbox ውስጥ አያስቀምጡ።

መጀመር

አዲስ መለያዎች የ$1 የsandbox ጊዜ ያገኛሉ፣ ይህም በstandard ታሪፍ ከመቶ በላይ የግምገማ ዙሮችን ይሸፍናል። የsandbox ገጹ ታሪፎቹን፣ SDK ማጣቀሻው ከላይ የተጠቀምንባቸውን ዘዴዎች ሁሉ፣ Python SDK በ5 ደቂቃ ደግሞ አዘገጃጀቱን ይዟል።

ተዛማጅ፦ ለሙሉ pipeline የተገለሉ የCI ሙከራዎች፣ ኮዱን ከመጀመሪያው ለሚጽፉ ኤጀንቶች ደግሞ ለAI ወኪሎች sandbox።

ለማሰማራት ዝግጁ ኖት? በክሪፕቶ ይክፈሉ፣ KYC የለም — በአንድ ደቂቃ ገደማ ቀጥታ።

አሁን ያሰማሩ →

FAQ

ይህ በpull request ላይ CI ከማሄድ በምን ይለያል?

CI ያሉት ሙከራዎች ያልፉ እንደሆነ ይመልሳል። የግምገማ ፍተሻ ደግሞ patch የሚለውን ያደርግ እንደሆነ ይመልሳል፦ ከስህተት ሪፖርቱ የተወሰደውን የማስነሻ ኮድ በአሮጌውና በአዲሱ ኮድ ላይ ያሄዳል፣ ገምጋሚውን የሚያሳስበውን የጠርዝ ሁኔታ ይሞክራል፣ እና ገምጋሚው ራሱ እንዲመረምር sandbox ያቆያል። ሁለቱ በደንብ ይደጋገፋሉ።

የAI ግምገማ ኤጀንት ሊጠቀምበት ይችላል?

አዎ፣ ትልቁ ጥቅም ያለውም እዚያ ነው። በMCP በኩል ኤጀንቱ sandbox የመፍጠር፣ ትዕዛዞችን የማሄድና ፋይሎችን የማንበብ መሳሪያዎችን ያገኛል። አንድ ለውጥ ነገር ይሰብራል ወይ ብሎ ከመገመት ይልቅ ኮዱን ያሄዳል፣ ውጤቱንም በግምገማው ይጠቅሳል።

ከማያውቁት ሰው የመጣ pull request ማምጣት ደህንነቱ የተጠበቀ ነው?

የsandbox አላማ ይኸው ነው። ኮዱ የራሱ kernel ባለው የተለየ microVM ውስጥ ይሄዳል፣ ውስጡም እርስዎ ካስቀመጡት በስተቀር የእርስዎ የሆነ ምንም የለም። ወደ repositoryዎ መጻፍ የሚችል token አያስተላልፉ፤ ለግል repositories ለንባብ ብቻ የሆነ token ይበቃል።

የpull request መተግበሪያውን በbrowserዬ መክፈት እችላለሁ?

አይቻልም። sandboxes ወደ ውስጥ የሚገቡ ports የላቸውም፣ ስለዚህ ከውጭ ምንም ሊገናኝ አይችልም። መተግበሪያውን ውስጥ አስነስተው ከሌላ ትዕዛዝ በcurl መሞከር ይችላሉ፣ ወይም ገምጋሚዎች በበይነገጽ ውስጥ መጫን ካለባቸው ቅድመ እይታዎችን በVPS ላይ ያሰማሩ።

አንድ የግምገማ ዙር ስንት ያስከፍላል?

የተለመደ ዙር — clone፣ መጫን፣ ሁለት ጊዜ ማስነሳት፣ ሙከራ ማሄድ — በstandard ታሪፍ ጥቂት ደቂቃዎች ይወስዳል፣ ወደ $0.005 ገደማም ያስከፍላል። ከቅድመ ክፍያ ቀሪ ሂሳብ በሰከንድ ይከፍላሉ፣ ቢያንስ 60 ሰከንድ።

አስተያየቶች

እስካሁን አስተያየቶች የሉም። መጀመሪያ ይሁኑ።

አስተያየት ይተዉ

አስተያየቶች ከመታየታቸው በፊት ይጣራሉ።