Gemini 3: แชทมัลติโมดัล วิเคราะห์เหตุผล และเขียนโค้ด
Gemini3 Team · 18 กรกฎาคม 2569 · 3 min read

ความหมายที่แท้จริงของ "มัลติโมดัลโดยธรรมชาติ" — และทำไมสิ่งนี้จึงเปลี่ยนทุกอย่าง
โมเดล AI ส่วนใหญ่อ้างว่ารองรับ "มัลติโมดัล" แต่ Gemini 3 ไม่ได้แค่ ยอมรับ อินพุตหลายรูปแบบ—มันหลอมรวมพวกมันในระดับสถาปัตยกรรม ไม่ต้องต่อเติม ไม่ต้องใช้เอนโคเดอร์สำรอง ข้อความ ชิ้นส่วนโค้ด สเปกโตรแกรม ภาพตัดต่อ และเฟรมวิดีโอ ถูกประมวลผลผ่านพื้นที่แสดงแทนที่เป็นหนึ่งเดียว นั่นหมายความว่าเมื่อคุณวาง Python traceback พร้อมกับ ภาพหน้าจอของกล่องข้อความข้อผิดพลาด และ คลิปหน้าจอ 12 วินาทีของ Flow UI ที่ล้มเหลว Gemini 3 ไม่ถือว่าเป็นสัญญาณแยกส่วน มันเชื่อมโยงเลขบรรทัดกับอาร์ติแฟกต์พิกเซล จับคู่ timestamps ของ stack trace กับดัชนีเฟรม และระบุสาเหตุรากฐานข้ามรูปแบบโมดัล—ไม่ใช่แบบเรียงลำดับ แต่ทำพร้อมกัน
นี่ไม่ใช่ทฤษฎี บน MidassAI Chat เราได้ทดสอบความทนทานนี้กับการ triage ทางวิศวกรรมในโลกจริง:
- อินพุต:
git diff(ข้อความ), ข้อมูลส่วนหนึ่งจากdocker logs --tail=50(ข้อความ + รหัสสี ANSI), และ.webmของคอมโพเนนต์ React ที่พัง (วิดีโอ) - เอาต์พุต: การวินิจฉัยที่แม่นยำ ("
useEffectcleanup race ในAuthContext.tsx, บรรทัด 47–51; คอนเทนเนอร์รีสตาร์ทเนื่องจาก SIGSEGV จากการเข้าถึง ref ที่ถูก unmount แล้ว"), พร้อม patch diff และ กรณีทดสอบที่ทำซ้ำได้โดยใช้ Playwright
ไม่ต้องเชื่อมโยงบริบทด้วยมือ ไม่ต้องคัดลอกวางแบบกระจัดกระจาย แค่หนึ่งพรอมป์ หนึ่งคำตอบ—อิงตามหลักฐานข้ามรูปแบบโมดัล
วิธีที่ Gemini 3 คิดวิเคราะห์เหมือนวิศวกรระดับอาวุโส (ไม่ใช่แค่ LLM)
การให้เหตุผลใน Gemini 3 ไม่ใช่การนามธรรมแบบ chain-of-thought—แต่มันเป็นการทำซ้ำ มีสถานะ และแก้ไขตัวเองได้ มันรักษาหน่วยความจำการทำงานภายในข้ามขั้นตอน ตรวจสอบสมมติฐานกับข้อจำกัด และย้อนกลับเมื่อพบความขัดแย้ง ตัวอย่างเช่น:
"กำหนด schema PostgreSQL ที่มี
orders(id, customer_id, status, created_at)และcustomers(id, tier, signup_date)สร้างคิวรีที่ส่งคืนลูกค้า VIP 5 อันดับแรก (tier = 'premium') ตามยอดสั่งซื้อรวมใน Q3 2024—แต่ไม่รวมคำสั่งซื้อที่ทำเครื่องหมายว่า 'cancelled' หรือ 'refunded' นอกจากนี้ อธิบายว่าทำไมcreated_at >= '2024-07-01' AND created_at < '2024-10-01'จึงปลอดภัยกว่าEXTRACT(QUARTER FROM created_at) = 3 AND EXTRACT(YEAR FROM created_at) = 2024"
Gemini 3 ไม่ได้แค่คืนค่า SQL แต่มัน:
- ตรวจสอบตรรกะวันที่กับพฤติกรรม
timestamptzที่ตระหนักถึงโซนเวลา (ไม่ใช่แค่ไวยากรณ์), - ชี้ให้เห็นว่า
EXTRACT()ไม่สนใจโซนเวลาและล้มเหลวบนขอบเขต DST, - สร้างคลอส
WHEREโดยใช้เพรดิเคตช่วง และ เพิ่มORDER BY SUM(...) DESC LIMIT 5, - ระบุว่า
status NOT IN ('cancelled', 'refunded')ต้องนำหน้าJOINเพื่อหลีกเลี่ยงการระเบิดแบบ Cartesian, - เสนอกลยุทธ์การทำดัชนี (
CREATE INDEX ON orders (customer_id, status, created_at) WHERE status NOT IN ('cancelled', 'refunded');)
นั่นไม่ใช่แค่ "การให้เหตุผล"—แต่มันคือการคิดเชิงระบบที่ตระหนักถึงโดเมน และมันเกิดขึ้นโดยไม่ต้องพรอมป์ให้ "think step-by-step" มันถูกฝังมาแล้ว
การสร้างโค้ดที่พร้อมใช้งานจริง—ไม่ใช่แค่คอมไพล์ผ่าน
Gemini 3 สร้างโค้ดพร้อมมาตรการความปลอดภัยสำหรับ production:
- ความตระหนักเรื่องประเภท: อนุมานอินเทอร์เฟส TypeScript จากตัวอย่าง JSON และ บังคับการตรวจสอบ null อย่างเข้มงวด (การจัดการ
!vs?vsundefined), - สุขอนามัยของ Dependency: แนะนำ
npm install --save-dev @types/[email protected]เฉพาะเมื่อpackage.jsonของคุณประกาศ Node v20.12+, - ค่าเริ่มต้นที่เน้นความปลอดภัย: ใช้
crypto.subtle.digest()แทนmd5(); ปฏิเสธeval()แม้ในบริบท "quick demo", - การสร้างเทสคู่ขนาน: ทุกฟังก์ชันได้รับโครงสร้าง Jest/Pytest พร้อม mocked I/O, ไม่ใช่แค่ stubs
ลองสิ่งนี้บน MidassAI Chat:
"เขียนเครื่องมือ CLI ด้วย Rust ที่รับ
--input <path>(CSV) และ--output <path>(JSONL), กรองแถวที่age > 18 && country == 'US', และส่งออก***@***.com) และphone(รูปแบบ XXX-XXX-XXXX) รวมการ parsing args ของ clap, การ propagate ข้อผิดพลาด, และ unit tests 3 รายการที่ครอบคลุม CSV ที่ถูกต้อง/ว่าง/ไม่ถูกต้อง"
คุณจะได้รับ:
Cargo.tomlฉบับเต็มพร้อมclap = { version = "4.5", features = ["derive"] },main.rsพร้อมการ propagateResult<(), Box<dyn Error>>ที่เหมาะสม,tests/integration.rsพร้อม fixtures CSV แบบ tempfile,- และหมายเหตุ: "สำหรับ production ให้เพิ่ม
csv::ReaderBuilder::has_headers(true)และตรวจสอบรูปแบบ email ผ่าน regex ก่อนการทำไม่ระบุตัวตน"
ไม่มีโค้ดโครงสร้างพื้นฐาน ไม่มี การเดาสุ่ม แค่โค้ดที่รันได้ ตรวจสอบได้ และบำรุงรักษาได้
นี่คือสำหรับใคร (และไม่ใช่สำหรับใคร)
นี่เหมาะสำหรับ:
- นักพัฒนา Frontend ที่ดีบัก layout shifts ขณะ รีวิวลิงก์ Figma และรายงาน Lighthouse,
- วิศวกร DevOps ที่เชื่อมโยงภาพหน้าจอเมตริก Prometheus กับเอาต์พุต
kubectl describe podและล็อกjournalctl -u nginx, - นักวิทยาศาสตร์ข้อมูลที่ยืนยัน model drift โดยอัปโหลดฮิสโตแกรมชุดฝึกอบรม บวกกับ ตัวอย่างล็อกการอนุมาน บวกกับ คลิปวิดีโอสั้นๆ walkthrough ของความผิดปกติในแดชบอร์ดของพวกเขา,
- นักเขียนเทคนิคที่ร่างเอกสาร API จากสเปค OpenAPI และ การส่งออกคอลเลกชัน Postman และ การบันทึก cURL ที่มีคำอธิบายประกอบ
นี่ไม่เหมาะสำหรับ:
- ผู้ใช้ที่คาดหวัง "เวทมนตร์" โดยไม่มีการกำหนดกรอบอินพุตที่แม่นยำ (Gemini 3 ขยายสัญญาณ—ไม่ใช่เสียงรบกวน),
- ทีมที่พึ่งพาเทมเพลตพรอมป์แบบคงที่ (จุดแข็งของมันอยู่ที่การโต้ตอบแบบไดนามิกที่อุดมด้วยบริบท),
- เวิร์กโฟลว์แบบเดิมที่แยกส่วนรูปแบบโมดัล (เช่น "อัปโหลดภาพไปยังเครื่องมือ A, วางข้อความลงในเครื่องมือ B, แล้วรวมผลลัพธ์ด้วยมือ")
Quick Takeaways
เริ่มต้นใช้งาน: เซสชันมัลติโมดัลแรกของคุณบน MidassAI Chat
- ไปที่ MidassAI Chat — ไม่ต้องสมัครสมาชิกสำหรับการใช้งานพื้นฐาน
- ลากและวางหรือวาง: ลองภาพหน้าจอ UI ที่พัง บวกกับ ซอร์ส HTML บวกกับ บันทึกเสียง 10 วินาทีที่อธิบายบั๊ก ("ปุ่มไม่ส่งข้อมูล คอนโซลแสดง 'Cannot read property 'submit' of null'")
- ถามโดยตรง: "ทำไมสิ่งนี้ถึงล้มเหลว? แสดงการแก้ไขและเทส Cypress เพื่อจับมัน"
- ทำซ้ำ: คลิก "Explain this step" บนบล็อกโค้ดที่สร้างใดๆ เพื่อแกะตรรกะ—หรือถาม "คุณตั้งสมมติฐานอะไรเกี่ยวกับโครงสร้าง DOM?" เพื่อเปิดเผย dependencies ที่ซ่อนอยู่
เราเห็นผู้ใช้ลดเวลา triage จาก 90 นาทีเหลือไม่ถึง 7 นาที—ไม่ใช่โดยการพิมพ์ให้เร็วขึ้น แต่โดยการกำจัด overhead การสลับบริบท ทีม fintech แห่งหนึ่งลดการสอบสวนการแจ้งเตือน false-positive ลง 63% หลังจากเปลี่ยนจาก "log grep + กราฟ Kibana + เธรด Slack" เป็นการวิเคราะห์มัลติโมดัลในเซสชันเดียว
Gemini 3 ไม่ใช่แชทบอทอีกตัวหนึ่ง มันคือ co-pilot ที่ได้รับการฝึกฝนเพื่อนำทางความจริงที่ยุ่งยากและทับซ้อนของการทำงานทางเทคนิค—ที่ซึ่งโค้ดอยู่ข้างภาพหน้าจอ ที่ซึ่งบันทึกเสียงมีความละเอียดอ่อนที่สำคัญ และที่ซึ่งวิดีโอจับสิ่งที่ข้อความทำไม่ได้ อุปสรรคไม่ใช่ความสามารถอีกต่อไป แต่คือการรู้ วิธี ชี้มันไปที่ปัญหาจริงของคุณ
โมเดลพร้อมแล้ว เวิร์กโฟลว์ถัดไปของคุณเริ่มต้นด้วยการลาก การวาง และคำถาม