Contact
Line : comsiam
Contact
Line : comsiam

Google Gemini สามารถนำ โฟลเดอร์ Source Code ทั้งโปรเจกต์ เข้ามาเป็น Context เพื่อให้ AI ช่วยอ่านโครงสร้าง อธิบาย Codebase หา Bug วิเคราะห์ Error ตรวจความสัมพันธ์ระหว่างไฟล์ วางแผน Refactor หรือช่วยทำความเข้าใจโปรเจกต์ที่มีไฟล์จำนวนมากได้ โดยไม่จำเป็นต้องคัดลอกโค้ดทีละไฟล์เข้า Prompt
ปัจจุบัน Gemini Web App มีฟีเจอร์ Import code → Upload folder สำหรับงานนี้โดยเฉพาะ และสามารถเพิ่ม Code Folder ได้ 1 โฟลเดอร์ต่อแชต สูงสุดประมาณ 5,000 ไฟล์ และขนาดรวมไม่เกิน 100 MB
Code Folder คือโฟลเดอร์โปรเจกต์ที่มี Source Code และไฟล์ที่เกี่ยวข้องหลายรายการ เช่น
my-project/
├── src/
├── public/
├── config/
├── tests/
├── package.json
└── README.md
แทนที่จะต้องนำ
index.jsapp.jsconfig.jsdatabase.jslogin.jsมาอัปโหลดทีละไฟล์ สามารถเลือกโฟลเดอร์โปรเจกต์ให้ Gemini ใช้เป็น Context ได้โดยตรง
เหมาะกับงานประเภท
ฟีเจอร์ Import Code ใช้งานผ่าน Gemini Web App บนคอมพิวเตอร์
เข้า Gemini ผ่านเว็บเบราว์เซอร์และเข้าสู่ระบบด้วยบัญชี Google
แนะนำให้เริ่ม แชตใหม่ สำหรับแต่ละโปรเจกต์ เพื่อไม่ให้ Context จากงานอื่นเข้ามาปะปนกับ Codebase
บริเวณช่อง Prompt ให้เลือก
Add files
จากนั้นเลือก
More uploads
ภายในเมนู More uploads ให้เลือก
Import code
Gemini จะแสดงตัวเลือกสำหรับนำ Source Code เข้ามา
เลือก
Upload folder
จากนั้นเลือกโฟลเดอร์โปรเจกต์บนคอมพิวเตอร์ที่ต้องการให้ Gemini อ่าน
ระยะเวลาจะขึ้นอยู่กับ
ควรรอจน Code Folder ถูกเพิ่มเข้าแชตเรียบร้อยก่อนส่ง Prompt
อย่าเริ่มต้นด้วยคำสั่งกว้าง ๆ ว่า
“แก้โปรเจกต์นี้ให้หน่อย”
วิธีที่ดีกว่าคือให้ Gemini ทำความเข้าใจโครงสร้างก่อน
ตัวอย่าง
“สำรวจ Codebase นี้ทั้งหมดก่อน โดยยังไม่ต้องแก้ไขโค้ด จากนั้นอธิบาย Project Structure, Entry Point, Module หลัก และความสัมพันธ์ของไฟล์สำคัญ”
ตามข้อจำกัดปัจจุบันของ Gemini Apps สามารถเพิ่ม
1 Code Folder ต่อแชต
โดย Code Folder มีได้สูงสุดประมาณ
5,000 ไฟล์
และขนาดรวมสูงสุดประมาณ
100 MB
ดังนั้นโปรเจกต์ขนาดเล็กถึงกลางจำนวนมากสามารถนำเข้าได้โดยตรง
| รายการ | ข้อจำกัด |
|---|---|
| Code Folder ต่อแชต | 1 โฟลเดอร์ |
| จำนวนไฟล์ | สูงสุดประมาณ 5,000 ไฟล์ |
| ขนาดรวม | สูงสุดประมาณ 100 MB |
ข้อจำกัดเหล่านี้สามารถเปลี่ยนแปลงได้ในอนาคตตามนโยบายของ Google
จุดนี้สำคัญมาก
Gemini มีทั้งการเพิ่มไฟล์ทั่วไปและ Import Code
ไฟล์แต่ละรายการภายใน Folder จะถูกนับรวมกับข้อจำกัดจำนวนไฟล์ทั่วไป ซึ่งปัจจุบันอยู่ที่สูงสุดประมาณ 10 ไฟล์ต่อ Prompt โดยขึ้นอยู่กับความพร้อมใช้งาน
เป็นฟีเจอร์ที่ออกแบบมาสำหรับ Source Code โดยเฉพาะ
รองรับได้ประมาณ
5,000 ไฟล์ / 100 MB / 1 Code Folder ต่อแชต
ดังนั้นหากกำลังวิเคราะห์โปรเจกต์ Programming ควรเลือก
More uploads → Import code → Upload folder
แทนการเลือก Source Code ทีละไฟล์
เมื่อ Gemini เห็นทั้ง Codebase แล้ว อย่ารีบให้แก้ Code ทันที
Prompt แรกที่แนะนำคือ
“ตรวจสอบ Codebase นี้ทั้งหมดก่อน โดยยังไม่ต้องสร้างหรือแก้ไขโค้ด
ให้แสดง:
หากไม่แน่ใจเกี่ยวกับหน้าที่ของไฟล์ใด ให้ระบุว่าไม่แน่ใจและห้ามเดา”
คำสั่งนี้ทำให้ Gemini สร้าง Mental Model ของโปรเจกต์ ก่อนที่จะเริ่มแก้ไข
หลัง Import Code แล้ว สามารถใช้ Prompt
“สร้าง Tree Structure แบบย่อของโปรเจกต์นี้ และอธิบายหน้าที่ของ Folder และไฟล์สำคัญแต่ละรายการ”
ตัวอย่างผลลัพธ์ที่ต้องการ
src/
├── controllers/ → รับและจัดการ Request
├── models/ → Data Model
├── routes/ → กำหนด API Routes
├── services/ → Business Logic
└── config/ → Configuration
จากนั้นถามต่อ
“หาก Developer ใหม่เข้ามาทำโปรเจกต์นี้ ควรเริ่มอ่านไฟล์ใดก่อนตามลำดับ”
วิธีนี้ช่วยลดเวลาศึกษา Codebase ที่ไม่คุ้นเคย
ข้อดีของการนำทั้งโฟลเดอร์เข้ามาคือ AI สามารถดู Context จากหลายไฟล์ได้
ตัวอย่าง
“ค้นหาไฟล์ทั้งหมดที่เกี่ยวข้องกับระบบ Login แล้วอธิบาย Flow ตั้งแต่ผู้ใช้กรอก Username/Password จนถึงระบบยืนยันตัวตนสำเร็จ”
หรือ
“ค้นหา Module ทั้งหมดที่เรียกใช้ Database และอธิบายว่าแต่ละส่วน Query ข้อมูลอะไร”
หรือ
“หาไฟล์ทั้งหมดที่เกี่ยวข้องกับ Upload Image และอธิบาย Flow ของระบบ”
งานแบบนี้ทำได้ยากกว่ามากหากส่งโค้ดให้ AI เพียงไฟล์เดียว
หากมีปัญหาเฉพาะจุด ควรให้ข้อมูล Error เพิ่มเข้าไปด้วย
ตัวอย่าง Prompt
“โปรเจกต์นี้เกิด Error ต่อไปนี้:
[วาง Error Message]
ตรวจ Codebase และค้นหาไฟล์ที่อาจเกี่ยวข้องกับ Error นี้ก่อน จากนั้นอธิบาย Root Cause ที่เป็นไปได้ โดยยังไม่ต้องแก้ Code”
หลังจาก Gemini วิเคราะห์สาเหตุแล้ว จึงถามต่อ
“เสนอวิธีแก้ที่กระทบ Code น้อยที่สุด พร้อมระบุไฟล์และ Function ที่ต้องแก้”
Workflow ที่แนะนำคือ
Error → หาไฟล์ → วิเคราะห์ Root Cause → เสนอ Patch → ตรวจผลกระทบ
ไม่ใช่
Error → เขียน Code ใหม่ทันที
Error บางชนิดไม่ได้เกิดจากไฟล์เดียว
เช่น
สามารถสั่ง
“Trace Error นี้ตั้งแต่ Entry Point ไปจนถึงจุดที่เกิดปัญหา และแสดง Chain ของไฟล์หรือ Function ที่เกี่ยวข้อง”
จากนั้น Gemini อาจช่วยสร้างภาพรวม เช่น
route.js
↓
controller.js
↓
service.js
↓
database.js
ทำให้เห็นว่าปัญหาอาจเกิดตรงจุดใดของ Flow
ไม่ควรสั่งว่า
“Refactor ทั้งโปรเจกต์ให้ดีที่สุด”
เพราะเป็นงานที่กว้างมากและเสี่ยงทำ Behavior เปลี่ยน
Prompt ที่เหมาะกว่าคือ
“ตรวจ Codebase นี้และค้นหา 10 จุดที่ควร Refactor มากที่สุด โดยจัดอันดับตามผลกระทบต่อ Maintainability แต่ยังไม่ต้องแก้โค้ด”
จากนั้นเลือกทีละจุด เช่น
“Refactor เฉพาะ Authentication Service โดยต้องรักษา Behavior เดิมและ API Contract เดิมทั้งหมด”
ก่อนแก้ควรถาม
“หากแก้ Module นี้ จะมีไฟล์หรือ Feature ใดได้รับผลกระทบบ้าง”
ช่วยลดการแก้ Code แบบโดดเดี่ยวโดยไม่ดู Dependency
หากโปรเจกต์ทำงานช้า สามารถใช้ Code Folder เพื่อค้นหาจุดที่ควรตรวจ
Prompt
“ตรวจ Codebase นี้และค้นหา Performance Bottleneck ที่เป็นไปได้ โดยเน้น Database Query, Loop, Network Request, File I/O และการประมวลผลซ้ำ”
แนะนำให้ Gemini แยกเป็น
สิ่งสำคัญคือ Source Code เพียงอย่างเดียวอาจไม่สามารถยืนยัน Bottleneck ได้ทั้งหมด
บางครั้งต้องใช้
ประกอบด้วย
สามารถสั่ง
“ตรวจ Framework Testing ที่โปรเจกต์นี้ใช้อยู่ก่อน จากนั้นเลือก Module ที่ยังไม่มี Test และเสนอ Test Case ที่สำคัญที่สุด”
จากนั้น
“เขียน Unit Test สำหรับ Module นี้โดยใช้ Test Framework และรูปแบบเดิมที่โปรเจกต์ใช้อยู่”
การบอกให้ AI ตรวจ Framework เดิมก่อนช่วยลดปัญหา Gemini เลือกเครื่องมือที่ไม่ตรงกับ Codebase
Code Folder เหมาะสำหรับงาน Documentation เพราะ Gemini สามารถเห็นหลายส่วนของระบบ
Prompt
“สร้าง Technical Documentation ของโปรเจกต์นี้ โดยประกอบด้วย:
ใช้เฉพาะข้อมูลที่ยืนยันได้จาก Codebase และระบุส่วนที่ต้องให้ Developer เพิ่มข้อมูลเอง”
ช่วยสร้าง Draft Documentation สำหรับโปรเจกต์ที่ไม่มีเอกสารได้เร็วขึ้น
เมื่อเข้าร่วมโปรเจกต์ใหม่ สิ่งที่ยากคือไม่รู้ว่าควรเริ่มอ่านตรงไหน
ใช้ Prompt
“สมมติว่าฉันเป็น Developer ใหม่ของโปรเจกต์นี้ ช่วยสร้าง Learning Path สำหรับทำความเข้าใจ Codebase โดยเรียงไฟล์และแนวคิดที่ควรศึกษาเป็นลำดับ”
จากนั้นถามทีละขั้น
“อธิบาย Entry Point ให้ฉันแบบละเอียด”
แล้ว
“จาก Entry Point Request เดินทางไปส่วนใดต่อ”
วิธีนี้เปลี่ยน Gemini ให้กลายเป็นผู้ช่วยสำรวจ Codebase แบบ Interactive
หากไม่รู้ว่า Feature อยู่ไฟล์ใด สามารถถามภาษาธรรมชาติได้
ตัวอย่าง
“ระบบ Reset Password อยู่ส่วนไหนของ Codebase”
หรือ
“ค้นหา Code ที่สร้าง JWT Token”
หรือ
“ส่วนใดของระบบส่ง Email”
หรือ
“ค้นหา Function ที่คำนวณ Shipping Cost”
Gemini สามารถใช้ Context จาก Code Folder เพื่อช่วยเชื่อม Feature กับไฟล์ที่เกี่ยวข้อง
นี่เป็นขั้นตอนที่สำคัญมาก
โปรเจกต์จริงมักมีข้อมูลลับปะปนอยู่ เช่น
.envก่อนเลือก Upload Folder ควรตรวจทุกครั้ง
ตัวอย่าง
API_KEY=real-secret-key
DATABASE_PASSWORD=real-password
ควรลบหรือแทนที่ด้วยค่าตัวอย่าง เช่น
API_KEY=YOUR_API_KEY
DATABASE_PASSWORD=YOUR_PASSWORD
แนวทางปลอดภัยกว่าคือสร้างสำเนาของ Project แล้วลบ
ออกก่อน Import
สำหรับงานของ comsiam หลักที่ควรใช้คือ ส่ง Source Code เท่าที่จำเป็นต่อการวิเคราะห์ และไม่ส่ง Secret เพียงเพราะมันอยู่ใน Project Folder
หาก Codebase เกิน Limit ไม่จำเป็นต้องส่งทั้งโปรเจกต์
โฟลเดอร์ Dependency ที่สามารถติดตั้งใหม่ได้มักไม่ใช่ Source Code หลักที่ต้องใช้วิเคราะห์
ตัวอย่างเช่นโปรเจกต์บางประเภทอาจมี Directory ที่สร้างอัตโนมัติหรือ Download ได้ใหม่
ควรสร้างสำเนาโปรเจกต์แล้วเก็บเฉพาะ Source ที่เกี่ยวข้อง
ไฟล์ Build หรือ Generated File จำนวนมากอาจไม่จำเป็น
รูปภาพ วิดีโอ และ Asset ขนาดใหญ่อาจไม่เกี่ยวข้องกับ Logic ที่กำลังตรวจ
หากต้องการแก้ Authentication ไม่จำเป็นต้องส่งทุกส่วนของระบบเสมอไป
สร้าง Folder เช่น
auth-debug/
├── routes/
├── controllers/
├── services/
├── models/
└── config/
แล้วนำเฉพาะส่วนที่เกี่ยวข้องเข้า Gemini
หากเกินข้อจำกัด 5,000 ไฟล์ ควรแบ่งตาม Module แทนการพยายามส่งทั้งหมด
ตัวอย่าง
frontend/
backend/
admin/
worker/
shared/
เลือกเฉพาะระบบที่กำลังวิเคราะห์
อีกวิธีคือใช้ GitHub Repository แล้วกำหนด Branch หรือ Repository ที่เหมาะสม หากโปรเจกต์จัดโครงสร้างไว้แล้ว
หัวข้อถัดไปของชุดนี้จะอธิบายวิธีเชื่อม GitHub Repository กับ Gemini โดยเฉพาะ
ขึ้นอยู่กับ Source Code อยู่ที่ไหน
ทั้งสองแบบอยู่ภายใต้ Limit ของ Code Context ปัจจุบันที่ประมาณ 1 Code Folder หรือ 1 GitHub Repository ต่อแชต, สูงสุด 5,000 ไฟล์ และ 100 MB
ควรมอง Code ที่ Import เข้ามาเป็น Context ของแชต ณ เวลาที่นำเข้า
หาก Local Code ถูกแก้หลังจากนั้น ไม่ควรสมมติว่า Gemini จะรับการเปลี่ยนแปลงจากโฟลเดอร์ในเครื่องโดยอัตโนมัติ
เมื่อมีการเปลี่ยน Code สำคัญ ควรนำ Context เวอร์ชันปัจจุบันเข้ามาใหม่หรือให้ Gemini ดู Code ล่าสุดที่ต้องการวิเคราะห์
โดยเฉพาะเวลาตรวจ Bug ควรมั่นใจว่า AI กำลังดู Code Version เดียวกับที่กำลังรันจริง
ไม่ควรถือว่าถูกต้อง 100%
แม้ AI จะเห็นทั้งโปรเจกต์ แต่ยังสามารถ
ทุก Patch ควรผ่าน
ก่อน Deploy
.env จริงเสี่ยงทำ Secret รั่ว
เพิ่ม Context ที่ไม่เกี่ยวข้อง
ความเสี่ยงสูงมาก
อาจทำให้โครงสร้างเดิมเสีย
ทำให้ Gemini ต้องเดาปัญหาจาก Source อย่างเดียว
Library และ Framework ต่าง Version สามารถใช้ Syntax ไม่เหมือนกัน
ต้องทดสอบก่อนเสมอ
หาก Import ไม่สำเร็จ ให้ตรวจตามลำดับ
เส้นทาง Upload Code Folder ตามเอกสารปัจจุบันอยู่ใน Gemini Web App บนคอมพิวเตอร์
เลือก
Add files → More uploads → Import code → Upload folder
แทนการอัปโหลดไฟล์ Source Code ทีละรายการ
ต้องไม่เกินประมาณ 5,000 ไฟล์
Code Folder รวมต้องไม่เกินประมาณ 100 MB
ตัด Build Output, Media หรือ Dependency ที่ไม่เกี่ยวข้องออกจากสำเนาที่จะส่ง
หาก Gemini แจ้งว่าไม่สามารถวิเคราะห์ไฟล์ได้อย่างถูกต้อง สามารถลองเพิ่มไฟล์ใหม่อีกครั้ง
“อธิบาย Project Structure, Entry Point และ Module สำคัญทั้งหมดก่อน”
“สร้าง Learning Path สำหรับ Developer ใหม่ที่ต้องเข้าใจโปรเจกต์นี้”
“ค้นหาไฟล์ทั้งหมดที่เกี่ยวข้องกับระบบ Login และอธิบาย Flow”
“จาก Error นี้ ค้นหาไฟล์ที่เกี่ยวข้องและวิเคราะห์ Root Cause ก่อนเสนอ Patch”
“Trace Request นี้ตั้งแต่ Route ไปจนถึง Database”
“ตรวจ Codebase เพื่อค้นหา Security Issue ที่ยืนยันได้จาก Source และแยกออกจากข้อสงสัยที่ต้องตรวจเพิ่ม”
“จัดอันดับ 10 จุดที่ควร Refactor มากที่สุด โดยยังไม่ต้องแก้ Code”
“ค้นหา Performance Bottleneck ที่เป็นไปได้และบอกข้อมูล Runtime ที่ต้องมีเพื่อยืนยัน”
“ตรวจ Test Framework เดิม แล้วเสนอ Unit Test ที่ยังขาด”
“สร้าง Technical Documentation จาก Codebase โดยใช้เฉพาะสิ่งที่ยืนยันได้จาก Source”
ได้ Gemini Web App มีเมนู Import code → Upload folder สำหรับเพิ่ม Code Folder เข้าแชตโดยตรง
ปัจจุบัน Code Folder หนึ่งโฟลเดอร์สามารถมีได้สูงสุดประมาณ 5,000 ไฟล์
ขนาดรวมของ Code Folder ปัจจุบันอยู่ที่สูงสุดประมาณ 100 MB
Gemini Apps ระบุว่าสามารถเพิ่ม Code Folder 1 โฟลเดอร์ หรือ GitHub Repository 1 Repository ต่อแชต
ได้ และนี่เป็นจุดประสงค์สำคัญของ Import Code เพราะช่วยให้ Gemini วิเคราะห์ความสัมพันธ์ระหว่าง Source Code หลายไฟล์ภายใน Codebase เดียวกัน
.env เข้า Gemini หรือไม่หากมี API Key, Password, Token หรือ Secret จริง ไม่ควรส่งเมื่อไม่จำเป็นต่อการวิเคราะห์ ควรสร้างสำเนาและแทน Secret ด้วยค่าตัวอย่างก่อนอัปโหลด
วิธีอัปโหลดโฟลเดอร์โค้ดเข้า Gemini ทำได้จาก Gemini Web App โดยเลือก Add files → More uploads → Import code → Upload folder จากนั้นเลือก Project Folder ที่ต้องการวิเคราะห์
ปัจจุบันสามารถเพิ่ม Code Folder ได้ 1 โฟลเดอร์ต่อแชต โดยรองรับได้สูงสุดประมาณ 5,000 ไฟล์ และขนาดรวม 100 MB ทำให้เหมาะกับการอ่าน Codebase หา Bug ทำความเข้าใจ Architecture, Refactor, Optimize และสร้าง Documentation
สิ่งสำคัญที่สุดคืออย่าให้ Gemini เริ่มแก้ Code ทันที ควรให้ AI ทำความเข้าใจ Project Structure → Dependency → Data Flow → Problem → Root Cause ก่อน แล้วจึงเสนอการแก้ไข
สำหรับการใช้งานจริง แนวทางของ comsiam คือสร้างสำเนาของ Codebase ลบ Secret และไฟล์ที่ไม่จำเป็นออกก่อน Import จากนั้นตรวจ Patch ทุกครั้งด้วย Test และ Code Review ก่อนนำไปใช้กับระบบจริง