Нэг жилийн өмнө Gemini CLI гэж зүйл байгаагүй. Одоо 99,000 star, 12,500 fork, 30 гаруй contributor-той Google-ийн хамгийн хурдан өссөн open-source проект. Би энэ зуны Google Summer of Code-оор тэр проектод ажиллаж байна. Behavioral eval бичих, баримтжуулалт засах, contributor-уудад зориулсан skill хөгжүүлэх гэх мэт ажлуудаар. Энэ нийтлэлд GSoC гэж юу болох, Gemini CLI яг юу хийдэг, би яагаад энэ проектыг сонгосон тухайгаа бичлээ.
GSoC бол Google-ийн 2005 оноос хойш жил бүр зохион байгуулдаг хөтөлбөр. Оюутнууд болон шинэ хөгжүүлэгчдийг open-source проектуудтай холбодог. Механизм нь энгийн: open-source байгууллагууд проект санал болгоно, contributor-ууд өргөдөл гаргана, Google сонгоод stipend төлнө. 12-22 долоо хоногийн хугацаанд бодит кодоор бодит проектод contribute хийнэ.
Зүгээр л кодын дадлага биш. Чи GitHub дээр merge болсон PR-тэйгээ харина. Google-ийн инженерүүдээс code review авна. Open-source community-тэй ажиллах соёлыг сурна. Миний хувьд хамгийн чухал нь энэ: contributor license agreement гарын үсэг зурж, бодит хэрэглэгчдэд нөлөөлөх код бичих боломж.
Gemini CLI бол Google-ийн Gemini моделийг terminal-аас шууд ашиглах боломж өгдөг open-source tool. Claude Code, GitHub Copilot CLI нартай ижил ангилалд орно, гэхдээ нэг том ялгаа бий: бүрэн үнэгүй tier-тэй. Google акаунтаараа нэвтрэхэд минутад 60 хүсэлт, өдөрт 1,000 хүсэлт ямар ч төлбөргүй.
Суулгах нь нэг мөр:
npx @google/gemini-cliДараа нь gemini гэж бичээд terminal-аасаа Gemini-тэй ярина. Файл унших, бичих, shell команд ажиллуулах, Google Search-ээр мэдээлэл хайх бүгдийг CLI дотроос хийнэ. Вэб браузер нээх шаардлагагүй.
TypeScript дээр бичигдсэн, Apache 2.0 лицензтэй. Репозиторын бүтэц нь monorepo: packages/core дотор agent, tools, prompts, skills, MCP, sandbox гэх мэт бүх үндсэн логик байрлана. packages/cli нь terminal UI, packages/sdk нь programmatic хандалт, packages/vscode-ide-companion нь VS Code extension.
Gemini 3 модель
1 сая token context window, сайжруулсан reasoning чадвартай Gemini 3 моделийг ашиглана. Flash болон Pro хоёуланг нь сонгож болно.
Суурь tool-ууд
Google Search grounding, файл унших/бичих, shell команд, web fetch зэрэг tool-ууд суурилуулсан ирдэг. Agent өөрөө аль tool-г дуудахаа шийднэ.
MCP дэмжлэг
Model Context Protocol-оор гадны tool server холбож, Gemini-ийн чадварыг тэлнэ. Database, API, custom workflow юу ч холбож болно.
Skill, hook, subagent
GEMINI.md файлаар проект-specific context өгнө. Custom skill бичнэ. Hook-оор tool дуудлага бүрийн өмнө/дараа логик ажиллуулна. Subagent-аар даалгавар хуваарилна.
Шударгаар хэлэхэд эхэндээ star-ын тоо анхаарлыг минь татсан. 99K star-тай проектод нэр нь орно гэхэд хэн ч сонирхоно. Гэхдээ бодит шалтгаан өөр.
Би Claude Code өдөр бүр ашигладаг хүн. Terminal-based AI agent хэрхэн ажилладаг, tool calling яаж бүтдэг, prompt engineering яагаад чухал болохыг бие дээрээ мэдэрсэн. Gemini CLI ижилхэн асуудлыг өөр өнцгөөс шийдэж байгаа нь сонирхолтой байсан. Нөгөө талаас Google-ийн agent архитектурыг дотроос нь харах боломж хаа ч олдохгүй.
Проектын GSoC даалгавар нь "Behavioral evals, Quality, and the OSS Community" гэсэн нэртэй. Agent Intelligence баг дотор ажиллаж, Gemini CLI-ийн чанарт нөлөөлдөг хэсгүүдэд contribute хийх: prompt, tools, behavioral eval-ууд, pre-release guardrails. Энэ бол зүгээр л feature нэмэх биш. Бусад contributor-ууд илүү сайн contribute хийх боломжийг бий болгох ажил.
Behavioral eval гэж юу вэ?
Уламжлалт unit test нь функц зөв утга буцааж байгаа эсэхийг шалгана. Behavioral eval нь agent зөв зан авир гаргаж байгаа эсэхийг шалгана. Жишээ нь: "Gemini файл засахын өмнө уншдаг уу?" "Алдаа гарахад өөрөө засах оролдлого хийдэг үү?" "Хэрэглэгчийн зөвшөөрөлгүй аюултай команд ажиллуулдаг уу?" Эдгээр нь тодорхой input/output биш, agent-ийн шийдвэрийн чанарыг хэмждэг.
Нэг өдрийн ажил. 7 issue нээж, 5 PR илгээсэн. Бүгд нэг чиглэлтэй: eval системийн баримтжуулалт, eval бичих skill, eval-ийн coverage шинжлэх tool.
| PR | Тайлбар | Төлөв |
|---|---|---|
| #23588 | read-before-edit behavioral eval бичсэн. Agent файл засахын өмнө уншдаг эсэхийг автоматаар шалгана. | open |
| #23592 | evals/README.md дахь EvalCase property-уудыг шинэчилсэн. Баримтжуулалт кодтой зөрж байсан. | open |
| #23597 | Eval coverage analyzer skill. Одоо байгаа eval-уудыг шинжилж, юунд eval дутуу байгааг илрүүлнэ. | open |
| #23599 | Log-to-eval conversion skill. Chat log-оос автоматаар eval тест үүсгэнэ. | open |
| #23607 | Multi-model eval comparison tool. Олон модель дээр eval ажиллуулж, үр дүнг харьцуулах script. | open |
Ямар ч нэг нь merge болоогүй. Review хүлээж байна. Энэ нь хэвийн зүйл. Google-ийн репозиторт CLA шаардлагатай, автомат review tool ажилладаг, maintainer-ууд нарийн шалгадаг. Эхний PR merge болоход хэд хоног хүлээх нь open-source-ийн бодит байдал.
- CONTRIBUTING.md-г бүтнээр уншаарай. Gemini CLI-д PR илгээхийн өмнө CLA гарын үсэг зурах,
npm run preflightажиллуулах,help-wantedlabel-тай issue-г шалгах зэрэг дүрэм бий. Би эхний PR-аа CLA-гүйгээр илгээсэн. Bot шууд блоклосон. - Issue-г PR-аас өмнө нээ. Том репозиторт PR шууд илгээхэд maintainer-ууд контекст ойлгохгүй. Issue-д асуудал/санааг тайлбарлаад, дараа нь issue reference-тэй PR нээхэд review хурдан болно.
- Бага зүйлээс эхэл. Миний хамгийн итгэлтэй PR бол docs засвар. README дахь property нэрс кодтой зөрж байсныг олж, засварласан. Энгийн, тодорхой, review хийхэд хялбар. Feature PR-ууд илүү удаан review-д ордог.
- Codebase-г бүтнээр ойлгохыг бүү хүлээ. Gemini CLI нь monorepo, олон мянган файлтай. Бүгдийг ойлгох гэж сарыг дуустал хүлээвэл нэг ч PR илгээхгүй. Нэг хэсэгт (жишээ нь evals/) анхаарлаа төвлөрүүлж, тэндээсээ өргөжүүл.
GSoC-ийн ажлаас гадна Gemini CLI-г өөрийн проектуудад ашиглаж эхлээд байна. Хэдэн бодит жишээ:
Код ойлгох
gemini "explain this function"Шинэ codebase-д орохдоо файл заагаад "энэ юу хийж байна" гэж асуухад Gemini контекст дотроос уншаад тайлбарлана. 1 сая token context window-тэй учир том файлуудыг бүтнээр нь хийж чадна.
Commit бичих
gemini "write commit message"Git diff-г уншаад, conventional commit format-аар мессеж бичнэ. feat:, fix:, docs: prefix-г зөв сонгоно. Миний хувьд хамгийн олон ашигладаг feature.
Debug туслах
gemini "why is this test failing"Error message хуулаад асуухад log, stack trace шинжилж, root cause-г олох гэж оролдоно. Шууд засаж чадахгүй бол ямар файл, ямар мөрийг шалгахыг зааж өгнө.
Search grounding
google search-ээр бодит мэдээлэлБусад CLI tool-уудаас ялгарах нэг зүйл: Google Search grounding. "Next.js 15-д middleware яаж өөрчлөгдсөн бэ" гэж асуухад бодит вэб хайлтаас хариулна, hallucinate хийхгүй.
Одоогийн PR-ууд review-д орж байна. Зэрэгцээ үргэлжлүүлэх ажлууд:
Эхний PR-уудын review feedback-г шийдэж, merge-д хүргэх. Ялангуяа docs засвар (#23592) болон read-before-edit eval (#23588) хоёрыг эхэлж merge-лүүлэх зорилготой.
appEvalTest баримтжуулалт (#23595) дээр ажиллах. Eval бичих процессыг шинэ contributor-уудад илүү ойлгомжтой болгох. Мөн одоо байгаа eval-уудын coverage gap шинжилгээ хийх.
Multi-model comparison tool-г production-ready болгох. Gemini Flash vs Pro, өөр хувилбарууд дээр eval ажиллуулж, regression автоматаар илрүүлэх pipeline бүтээх.
GSoC-ийн хугацаанд бүгдийг амжуулна гэж хэлэхгүй. Гэхдээ нэг зүйл тодорхой: eval бичих процесс, баримтжуулалт, tooling энэ гурав сайжирвал бусад contributor-ууд Gemini CLI-ийн чанарт илүү хялбар contribute хийх боломжтой болно. Тэр бол зорилго.
Энэ бол цувралын эхний нийтлэл. Цаашид PR review-ээс юу сурсан, behavioral eval хэрхэн бичих, open-source contribution-ий бодит workflow зэрэг сэдвээр бичих болно. Gemini CLI-г туршиж үзэх бол npx @google/gemini-cli гэж terminal-даа бичээрэй. Google акаунт бий бол үнэгүй ашиглана.



