ปลั๊กอินสำหรับมอบหมายงานสร้างโค้ดหนัก ๆ ของ Claude Code / Codex CLI ไปให้ local LLM (tunaLlama)
(github.com/hang-in)เป็นเครื่องมือสำหรับมอบหมายงานที่สร้างขึ้นมาเพื่อคนที่ใช้ vibe coding แล้วพบว่าโควตาใช้งานแบบเหมาจ่ายของ Claude Code หรือ Codex CLI หมดเร็ว
https://github.com/hang-in/tunaLlama
เวลาคุณเขียนโค้ดด้วย Claude Code ขั้นตอนที่ผลลัพธ์ยาว ๆ เช่น การสร้างโค้ด การรีวิวไฟล์ หรือการรีแฟกเตอร์ จะกินโทเคนมากที่สุด แต่ขั้นตอนเหล่านี้มักค่อนข้างเป็นแบบกำหนดได้แน่ชัด และความต่างด้านคุณภาพของโมเดลก็มักไม่มากนัก ตรงกันข้าม การแตกงาน (ความต้องการ → รายการงาน) และการตรวจสอบ (ผลลัพธ์ที่ได้ตรงตามความต้องการหรือไม่) มีอินพุต/เอาต์พุตสั้น แต่ความต่างด้านคุณภาพของโมเดลกลับสูงกว่า
tunaLlama คือแบ็กเอนด์ + ปลั๊กอินที่ทำให้ความไม่สมมาตรนี้กลายเป็นลำดับการทำงานของโค้ดโดยตรง
บทบาทโมเดลหน้าที่ArchitectClaude / Codex (แบบเหมาจ่าย)แตกงาน / สเปก / ตรวจสอบ / รวมผลDeveloperlocal LLM (Ollama / Cloud / LM Studio)สร้างโค้ด / รีวิวตัวเอง / แก้ไขตัวเองReviewerเซสชันเดียวกับ Architectตัดสินผลสุดท้าย
มีเพียงขั้นตอนที่กินโทเคนหนักเท่านั้นที่ย้ายไปทำบน local ส่วนขั้นแตกงานและตรวจสอบที่สั้นยังคงอยู่บน Claude / Codex ตามเดิม
ทั้ง Claude Code และ Codex CLI สามารถใช้เครื่องมือภายนอกผ่านปลั๊กอินได้เหมือนกัน
ติดตั้งครั้งเดียว จากนั้นเอเจนต์จะเรียกใช้เองเมื่อเห็นว่าจำเป็นระหว่างทำงาน
ผู้ใช้ไม่ต้องคอยบอกทุกครั้งว่า “ช่วยใช้เครื่องมือนี้” tunaLlama เป็นปลั๊กอินประเภทนั้น โดยเปิดเผยเครื่องมือ 13 ตัวผ่านเซิร์ฟเวอร์ MCP (Model Context Protocol)
รีโปเดียวใช้งานได้ทั้งกับ Claude Code และ Codex CLI
(ทั้งสองไคลเอนต์รู้จักไฟล์ claude-plugin/marketplace.json)
เมื่อผู้ใช้ส่งงานเข้ามา (เกาหลี / อังกฤษ)
- Architect แตกงาน — ถ้าสั้นใช้
tuna_dev_reviewถ้ายาวให้เขียนเอกสาร spec ก่อนแล้วใช้tuna_dev_review_from_spec - แบ็กเอนด์จะวนลูป
generate → review → fixซ้ำ (bounded delegation — เงื่อนไขจบคือ review ผ่าน หรือครบ max iter)
ทุกการเรียกจะถูกบันทึกลง SQLite และทำดัชนีด้วยตัววิเคราะห์สัณฐานวิทยาภาษาเกาหลี (Kiwi) - Architect ตรวจสอบผลลัพธ์ก่อนส่งกลับให้ผู้ใช้
เมื่อเทียบการรันด้วย mid-size local LLM เพียงลำพัง กับกรณีที่ Architect จัดระเบียบคอนเท็กซ์ก่อนส่งต่อ พบว่าดีขึ้น +0.58 ~ +0.64 (ตรวจสอบกับ 3 โมเดล, Phase 7-2) หมายความว่าแม้จะเป็น local LLM ตัวเดิม ถ้าจัดคอนเท็กซ์ให้ดี ผลลัพธ์ก็จะดีขึ้นอย่างมีนัยสำคัญ
อย่างไรก็ตาม การวัดนี้อิงจาก synthetic seed กล่าวคือวัดบนชุดทดสอบที่สร้างสถานการณ์งานที่พบบ่อยในโลกจริงไว้ล่วงหน้า จึงเป็นอีกประเด็นหนึ่งว่าผลจะออกมาเหมือนกันในเวิร์กโฟลว์จริงของผู้ใช้หรือไม่ metric สำหรับ organic dogfooding มี 4 ชนิดตั้งแต่ v0.5.7+ (standalone_toy_rate / convention_adherence_rate / ast_excess_score / syntactically_valid) และจะถูกบันทึกอัตโนมัติลง ~/.tunallama/metrics.db โดยยังคงเก็บข้อมูลเรื่องการทำซ้ำผลลัพธ์โดยผู้ใช้ภายนอกควบคู่กับ baseline สะสมต่อไป
เรื่องการประหยัดโควตา เนื่องจากสูตรคำนวณโควตาของ Anthropic / OpenAI ไม่เปิดเผย จึงไม่มีผลเชิงปริมาณแบบ “ประหยัดได้ X%” สรุปได้เพียงว่า “ดีกว่าใช้แบบปกติ”
รองรับภาษาเกาหลี
สามารถทำดัชนีค้นหาภาษาเกาหลีได้ด้วยการเชื่อมต่อ Kiwi morphological analyzer เช่น สำหรับอินพุตที่ไม่มีการเว้นวรรคอย่าง 이메일검증 ก็ยังค้นหาด้วย 이메일 แล้วจับคู่ได้ เป็นโครงสร้างที่ช่วยชดเชยข้อจำกัดของ tokenizer unicode61 ของ FTS5 ที่ตัดภาษาเกาหลีได้แค่ระดับพยางค์/จาโมเท่านั้น อย่างไรก็ดี หาก Kiwi จัดการคำใหม่หรือคำศัพท์เฉพาะทางไม่ได้ ก็อาจกระทบคุณภาพการค้นหา
ติดตั้งใน 5 นาที
พิมพ์เพียงบรรทัดเดียวในเซสชันก็จบ:
"ช่วยติดตั้งตาม INSTALL.md ของ https://github.com/hang-in/tunaLlama"
เอเจนต์จะติดตั้ง dependency, ตั้งค่า .env, ลงทะเบียนปลั๊กอิน และตรวจสอบให้เองทีละขั้น
หากต้องการติดตั้งด้วยตนเอง ให้ดู README
เมทริกซ์การทำงานในทั้งสองสภาพแวดล้อม
แม้ Claude Code และ Codex CLI จะใช้รีโปเดียวกันได้ แต่บางฟีเจอร์ได้รับการตรวจสอบเพียงฝั่งเดียวเท่านั้น (วัดจริงบน v0.5.6, Claude Code 2.1.138 + Codex CLI 0.128.0):
รายการClaude CodeCodex CLIMCP tools เรียกใช้ได้ 13 ตัว✓✓
แชร์ DB (~/.tunallama/memory.db)✓✓
แชร์ state.md✓✓
เรียก tuna_load_memory / tuna_recall แบบ explicit✓✓
Agents auto-discovery✓
SessionStart hook + state.md auto-prepend✓
(v0.5.5+)✗MCP resource auto-attach✗✗
บน Claude Code นั้น state.md auto-prepend ทำงานอัตโนมัติ
ส่วนบน Codex CLI แนะนำให้ผู้ใช้เรียก tuna_load_memory แบบ explicit ในเทิร์นแรก หรือ fetch docs โดยตรง
การเรียก MCP tools ทั้ง 13 ตัวทำงานได้ตามปกติทั้งสองฝั่ง ดังนั้นตัวการมอบหมายงานเองยังทำได้ในระดับเครื่องมือ
ข้อจำกัด
การประหยัดโควตาเป็นข้อมูลจากการใช้งานจริงที่รับรู้ได้ (ตามที่กล่าวไว้ข้างต้น)
ต้นทุน system prompt ของ MCP tools เป็น trade-off ที่ตั้งใจไว้ — description + schema ของ 13 tools จะถูก prepend เข้า system prompt ของทุก conversation ประมาณ 1.6k tokens ไม่ใช่ accidental context bloat แต่เป็นต้นทุนด้าน affordance ที่ออกแบบไว้เพื่อให้ Architect เลือกเครื่องมือ delegation ที่เหมาะสมได้
จำเป็นต้องมีสภาพแวดล้อม local LLM (เช่น Ollama และ Ollama cloud ก็ใช้งานได้ปกติ) — ถ้าไม่มีจะใช้งานไม่ได้
ค่าการวัดด้านการค้นหาอิงจาก synthetic seed (ตามที่กล่าวไว้ข้างต้น)
บางฟีเจอร์ของ Codex CLI ยังใช้งานไม่ได้ (ตามเมทริกซ์ด้านบน)
คุณภาพการค้นหาคำใหม่/คำศัพท์เฉพาะทางภาษาเกาหลีอาจได้รับผลกระทบ
ทำไมไม่ใช้ prompt seed / AGENTS.md
แนวทางนี้ไม่ได้พยายามแก้ข้อจำกัดด้านคอนเท็กซ์ด้วยการให้เอเจนต์อ่านเอกสารเพิ่มขึ้น
แต่จะตัดงานเป็นหน่วยเล็ก ๆ แล้วส่งต่อผ่าน MCP tools ไปยัง local / low-cost LLM ขณะที่โมเดล Architect ระดับบนจะโฟกัสกับ spec สั้น ๆ, ผล review และการตัดสิน diff สุดท้าย
กฎการปฏิบัติงานที่อิงเอกสารอาจก่อให้เกิดปัญหา stale state, drift และ lost-in-the-middle เมื่อเวลาผ่านไป
tunaLlama หลีกเลี่ยงสิ่งนี้ด้วยการบันทึก delegation call ลง SQLite และมีชั้น execution สำหรับค้นหา / เรียกคืนเมื่อจำเป็น
ใครบ้างที่น่าจะได้ประโยชน์
ผู้ใช้ Claude Code Pro/Max แบบเหมาจ่าย (มีแรงจูงใจในการจัดการโควตา)
ผู้ใช้ Codex CLI (จัดการแพ็กเกจแบบเหมาจ่าย / API quota ของ OpenAI)
ผู้ที่มีสภาพแวดล้อม Ollama local / Ollama Cloud / LM Studio อยู่แล้ว
ผู้ที่ทำงานกับภาษาเกาหลี (มีการรวม Kiwi)
การทดสอบ / ไลเซนส์
v0.5.x เป็น usable dogfooding release มี 507 unit/plugin tests + 27 integration/search_quality tests, coverage 90%
คำสั่งวัดระบุไว้ใน README (pytest --no-cov -q -m "not search_quality and not integration")
ไลเซนส์เป็น MIT มีการซิงก์ README.en.md ภาษาอังกฤษให้สอดคล้องกันอยู่เสมอ ยินดีรับ feedback / issue / PR
รวมถึงข้อเสนอเรื่องความเข้ากันได้กับ AI CLI อื่น ๆ ด้วย
ยังไม่มีความคิดเห็น