[{"data":1,"prerenderedAt":2396},["ShallowReactive",2],{"lesson-\u002Fkhoa-hoc\u002Fcontext\u002Fmo-phien-moi-khong-mat-gi":3,"lesson-soon-\u002Fkhoa-hoc\u002Fcontext\u002Fmo-phien-moi-khong-mat-gi":300,"course-nav":360},{"id":4,"title":5,"body":6,"category":300,"description":301,"draft":302,"extension":303,"level":304,"meta":305,"minutes":306,"navigation":307,"outcomes":308,"path":312,"pinned":302,"premium":302,"prereq":313,"quiz":315,"repo":300,"seo":354,"stem":355,"tags":356,"updatedAt":358,"video":300,"__hash__":359},"course\u002Fkhoa-hoc\u002F3.context\u002F3.mo-phien-moi-khong-mat-gi.md","Mở phiên mới mà không mất gì",{"type":7,"value":8,"toc":289},"minimark",[9,14,18,22,27,35,39,46,73,84,88,147,162,168,172,179,208,217,227,231,265,269,285],[10,11,13],"h2",{"id":12},"vấn-đề","Vấn đề",[15,16,17],"p",{},"Bạn biết nên mở phiên mới khi AI ngợp. Nhưng phiên mới thì AI quên sạch: đang làm gì, đã thử gì, cái gì hỏng. Giải thích lại mất mười phút, nên bạn ngại — và cứ cố ở lại phiên cũ",[10,19,21],{"id":20},"ý-chính","Ý chính",[23,24,26],"h3",{"id":25},"mỗi-việc-một-phiên","Mỗi việc một phiên",[15,28,29,30,34],{},"Quy tắc đơn giản nhất: ",[31,32,33],"strong",{},"một việc, một phiên",". Làm xong tính năng \"đánh dấu việc đã xong\" → mở phiên mới cho \"sắp xếp theo hạn chót\". Mỗi phiên bắt đầu gọn gàng, chỉ chứa thứ liên quan",[23,36,38],{"id":37},"ghi-tiến-độ-ra-file","Ghi tiến độ ra file",[15,40,41,42,45],{},"AI không nhớ giữa các phiên, nhưng ",[31,43,44],{},"file thì còn",". Trước khi đóng một phiên, nhờ AI ghi lại tiến độ vào một file, gồm ba phần:",[47,48,49,56,62],"ul",{},[50,51,52,55],"li",{},[31,53,54],{},"Đã xong"," — những gì đã làm và đã kiểm tra",[50,57,58,61],{},[31,59,60],{},"Chưa xong"," — những gì còn lại, theo thứ tự",[50,63,64,67,68,72],{},[31,65,66],{},"Đang vướng"," — lỗi hiện tại, những cách đã thử mà ",[69,70,71],"em",{},"không"," được (để phiên sau khỏi thử lại)",[15,74,75,76],{},"Phiên mới chỉ cần: ",[69,77,78,79,83],{},"\"Đọc ",[80,81,82],"code",{},"ghi-chu-tien-do.md"," rồi làm tiếp mục đầu tiên trong phần Chưa xong\"",[23,85,87],{"id":86},"hai-lệnh-của-claude-code","Hai lệnh của Claude Code",[89,90,91,107],"table",{},[92,93,94],"thead",{},[95,96,97,101,104],"tr",{},[98,99,100],"th",{},"Lệnh",[98,102,103],{},"Làm gì",[98,105,106],{},"Khi nào dùng",[108,109,110,131],"tbody",{},[95,111,112,118,128],{},[113,114,115],"td",{},[80,116,117],{},"\u002Fcompact",[113,119,120,121,124,125],{},"Tóm tắt cuộc trò chuyện đến giờ để giải phóng context, ",[31,122,123],{},"vẫn ở phiên hiện tại",". Có thể kèm hướng dẫn: ",[80,126,127],{},"\u002Fcompact giữ lại danh sách lỗi đã thử",[113,129,130],{},"Việc chưa xong nhưng phiên đã dài",[95,132,133,138,144],{},[113,134,135],{},[80,136,137],{},"\u002Fclear",[113,139,140,141],{},"Bắt đầu cuộc trò chuyện mới với context trống. Phiên cũ vẫn mở lại được bằng ",[80,142,143],{},"\u002Fresume",[113,145,146],{},"Chuyển sang việc khác",[15,148,149,150,153,154,157,158,161],{},"Ngoài ra, ",[80,151,152],{},"\u002Frewind"," (hoặc nhấn ",[80,155,156],{},"Esc"," hai lần khi ô nhập đang trống) cho phép tóm tắt ",[69,159,160],{},"một phần"," cuộc trò chuyện, hoặc quay lại một điểm trước đó",[163,164,165],"meo",{},[15,166,167],{},"Tóm tắt tự động tiện nhưng bạn không kiểm soát được nó giữ lại gì. File tiến độ do bạn đọc và duyệt thì chắc chắn hơn — và dùng được cả với công cụ AI khác",[10,169,171],{"id":170},"thử-ngay","Thử ngay",[15,173,174,175,178],{},"Trong phiên đang làm dự án ",[31,176,177],{},"Sổ việc nhà",", gõ:",[180,181,186],"pre",{"className":182,"code":183,"language":184,"meta":185,"style":185},"language-prompt shiki shiki-themes github-dark-dimmed","Tạo file ghi-chu-tien-do.md gồm 3 mục: Đã xong, Chưa xong, Đang vướng.\nViết ngắn gọn, dạng gạch đầu dòng. Ở mục Đang vướng, ghi cả những cách\nđã thử mà không được.\n","prompt","",[80,187,188,196,202],{"__ignoreMap":185},[189,190,193],"span",{"class":191,"line":192},"line",1,[189,194,195],{},"Tạo file ghi-chu-tien-do.md gồm 3 mục: Đã xong, Chưa xong, Đang vướng.\n",[189,197,199],{"class":191,"line":198},2,[189,200,201],{},"Viết ngắn gọn, dạng gạch đầu dòng. Ở mục Đang vướng, ghi cả những cách\n",[189,203,205],{"class":191,"line":204},3,[189,206,207],{},"đã thử mà không được.\n",[15,209,210,211,213,214],{},"Đọc file, sửa chỗ nào sai. Rồi gõ ",[80,212,137],{}," và giao việc: ",[69,215,216],{},"\"Đọc ghi-chu-tien-do.md rồi làm tiếp mục đầu tiên trong phần Chưa xong\"",[15,218,219,222,223,226],{},[31,220,221],{},"Xong khi:"," phiên mới làm tiếp đúng việc ",[31,224,225],{},"chỉ dựa vào file",", không cần bạn giải thích thêm câu nào",[10,228,230],{"id":229},"lỗi-hay-gặp","Lỗi hay gặp",[47,232,233,244,250,256],{},[50,234,235,238,239,243],{},[31,236,237],{},"File tiến độ quá dài"," — nó thành một gói ",[240,241,242],"thuat-ngu",{"k":242},"context"," nặng khác. Giữ ngắn",[50,245,246,249],{},[31,247,248],{},"Không ghi những cách đã thử thất bại"," — phiên mới sẽ thử lại y hệt",[50,251,252,255],{},[31,253,254],{},"Không đọc lại file AI viết"," — nếu nó ghi sai, phiên sau sai theo",[50,257,258,264],{},[31,259,260,261,263],{},"Dùng ",[80,262,117],{}," mãi thay vì mở phiên mới"," cho việc khác hẳn",[10,266,268],{"id":267},"tóm-tắt","Tóm tắt",[47,270,271,274,277],{},[50,272,273],{},"Một việc, một phiên",[50,275,276],{},"Trước khi đóng phiên, ghi Đã xong \u002F Chưa xong \u002F Đang vướng ra file và tự đọc lại",[50,278,279,281,282,284],{},[80,280,117],{}," để gọn phiên hiện tại; ",[80,283,137],{}," để sang việc mới",[286,287,288],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":185,"searchDepth":204,"depth":204,"links":290},[291,292,297,298,299],{"id":12,"depth":198,"text":13},{"id":20,"depth":198,"text":21,"children":293},[294,295,296],{"id":25,"depth":204,"text":26},{"id":37,"depth":204,"text":38},{"id":86,"depth":204,"text":87},{"id":170,"depth":198,"text":171},{"id":229,"depth":198,"text":230},{"id":267,"depth":198,"text":268},null,"Mỗi việc một phiên, ghi tiến độ ra file, và dùng \u002Fcompact, \u002Fclear đúng lúc",false,"md","tat-ca",{},6,true,[309,310,311],"Chia công việc thành các phiên riêng","Ghi tiến độ ra file để phiên sau làm tiếp","Dùng \u002Fcompact và \u002Fclear đúng chỗ","\u002Fkhoa-hoc\u002Fcontext\u002Fmo-phien-moi-khong-mat-gi",[314],"\u002Fkhoa-hoc\u002Fcontext\u002Fdau-hieu-ai-bi-ngop",[316,324,332,338,346],{"q":317,"options":318,"answer":322,"explain":323},"Quy tắc đơn giản nhất để giữ context sạch là gì?",[273,319,320,321],"Một ngày, một phiên","Một dự án, một phiên duy nhất","Một câu hỏi, một phiên",0,"Mỗi phiên bắt đầu gọn và chỉ chứa thứ liên quan tới việc đó",{"q":325,"options":326,"answer":322,"explain":331},"Ba phần nên có trong file ghi tiến độ?",[327,328,329,330],"Đã xong, Chưa xong, Đang vướng (kèm cách đã thử mà không được)","Tên, tuổi, địa chỉ","Mục tiêu, ngân sách, rủi ro","Ưu điểm, nhược điểm, kết luận","Ghi cách đã thử thất bại để phiên sau khỏi thử lại",{"q":333,"options":334,"answer":322,"explain":337},"Việc chưa xong nhưng phiên đã dài, bạn muốn giải phóng context mà vẫn ở phiên hiện tại. Dùng lệnh nào?",[117,137,335,336],"\u002Fexit","\u002Flogin","\u002Fcompact tóm tắt cuộc trò chuyện để giải phóng context, còn \u002Fclear bắt đầu cuộc trò chuyện mới",{"q":339,"options":340,"answer":322,"explain":345},"Bạn chuyển sang một việc hoàn toàn khác. Lệnh phù hợp?",[341,342,343,344],"\u002Fclear để bắt đầu với context trống","\u002Fcompact mãi cho tiện","Tiếp tục trong phiên cũ","Cài lại Claude Code","Dùng \u002Fcompact mãi cho việc khác hẳn làm context vẫn lẫn đồ cũ; \u002Fclear cho khởi đầu sạch",{"q":347,"options":348,"answer":322,"explain":353},"Vì sao file tiến độ nên do bạn đọc và duyệt thay vì chỉ trông vào tóm tắt tự động?",[349,350,351,352],"Bạn kiểm soát được những gì được giữ lại, và dùng được cả với công cụ khác","Vì tóm tắt tự động luôn sai","Vì file nhỏ hơn thì AI không đọc","Vì tóm tắt tự động bị cấm","AI có thể ghi sai; nếu bạn không đọc lại, phiên sau sai theo",{"title":5,"description":301},"khoa-hoc\u002F3.context\u002F3.mo-phien-moi-khong-mat-gi",[242,357],"claude-code","2026-09-30","CZ0lPOpuMuLaZUNW4ou8fQdzAQYzailAdf3p10DchRE",[361],{"title":362,"path":363,"stem":364,"children":365,"page":302},"Khoa Hoc","\u002Fkhoa-hoc","khoa-hoc",[366,557,799,1005,1342,1537,1725,2011,2249],{"title":367,"minutes":300,"stem":368,"level":304,"tags":369,"quiz":370,"path":371,"children":372,"page":302},"Bắt đầu","khoa-hoc\u002F1.bat-dau",[],[],"\u002Fkhoa-hoc\u002Fbat-dau",[373,412,461,510],{"title":374,"path":375,"stem":376,"minutes":306,"level":304,"tags":377,"quiz":379},"Vibe coding là gì?","\u002Fkhoa-hoc\u002Fbat-dau\u002Fvibe-coding-la-gi","khoa-hoc\u002F1.bat-dau\u002F1.vibe-coding-la-gi",[378],"tổng quan",[380,388,396,404],{"q":381,"options":382,"answer":322,"explain":387},"Bạn muốn làm một web đặt lịch cắt tóc cho tiệm của mình. Trong vibe coding, việc nào thuộc về bạn chứ không nên giao hẳn cho AI?",[383,384,385,386],"Quyết định khách cần đặt lịch theo giờ hay theo ngày, và thế nào là \"xong\"","Gõ từng dòng code của form đặt lịch","Chọn tên biến cho từng hàm trong code","Viết lại cú pháp cho đúng chính tả của ngôn ngữ lập trình","Làm cái gì, cho ai dùng và thế nào là xong là quyết định của bạn. Phần gõ code là việc AI làm nhanh hơn",{"q":389,"options":390,"answer":322,"explain":395},"Bạn mô tả xong, AI làm ra trang web. Bước hợp lý tiếp theo trong vòng lặp là gì?",[391,392,393,394],"Mở ra dùng thử như người dùng thật, rồi chỉ ra chỗ chưa ổn","Tin là đúng và đăng luôn vì AI không sai","Xoá hết và mô tả lại từ đầu bằng một câu khác","Đọc từng dòng code trước khi được phép xem kết quả","Vòng lặp là mô tả, xem, chỉnh. Dùng thử thật là cách nhanh nhất để thấy chỗ AI hiểu sai ý bạn",{"q":397,"options":398,"answer":322,"explain":403},"AI báo \"Đã xong, mọi thứ chạy tốt\". Bạn nên làm gì?",[399,400,401,402],"Tự mở ra kiểm tra, vì AI vẫn có thể báo xong khi chưa xong","Tin ngay, vì AI đã tự kiểm tra rồi","Hỏi lại AI đúng câu đó thêm hai lần cho chắc","Chờ sang hôm sau xem còn lỗi không","Bạn là người kiểm tra cuối cùng. Một lời báo \"xong\" chưa phải bằng chứng",{"q":405,"options":406,"answer":322,"explain":411},"Cách nghĩ nào về AI giúp bạn làm việc hiệu quả nhất?",[407,408,409,410],"Như một đồng nghiệp rất nhanh nhưng mới vào làm: giao việc rõ, kiểm tra kết quả, sẵn sàng bảo làm lại","Như một cỗ máy phép thuật chỉ cần tìm đúng câu lệnh thần kỳ","Như một công cụ tra cứu không bao giờ sai","Như một đối thủ cần đánh lừa để ra kết quả tốt","Giao việc rõ và kiểm tra kết quả là kỹ năng thật sự giúp bạn nhanh hơn; không có câu lệnh thần kỳ nào thay được",{"title":413,"path":414,"stem":415,"minutes":416,"level":417,"tags":418,"quiz":420},"Chuẩn bị máy tính","\u002Fkhoa-hoc\u002Fbat-dau\u002Fcai-dat-moi-truong","khoa-hoc\u002F1.bat-dau\u002F2.cai-dat-moi-truong",15,"nguoi-moi",[419],"cài đặt",[421,429,437,445,453],{"q":422,"options":423,"answer":322,"explain":428},"Bạn vừa cài xong Claude Code nhưng gõ claude --version thì báo không tìm thấy lệnh. Việc nên thử đầu tiên là gì?",[424,425,426,427],"Đóng rồi mở cửa sổ Terminal mới, chạy lại lệnh","Cài lại hệ điều hành","Chạy lại lệnh cài đặt thêm 10 lần","Đổi sang một ngôn ngữ lập trình khác","Terminal cũ chưa nhận lệnh vừa cài. Mở cửa sổ mới thường giải quyết ngay; nếu vẫn lỗi thì xem mục xử lý lỗi trong tài liệu chính thức",{"q":430,"options":431,"answer":322,"explain":436},"Bạn thấy một video hướng dẫn kèm dòng lệnh dạng curl … | bash từ một trang lạ. Nên làm gì?",[432,433,434,435],"Không chạy; chỉ chép lệnh cài đặt từ trang chính thức của công cụ","Chạy luôn cho nhanh vì video có nhiều lượt xem","Chạy thử bằng quyền cao nhất cho chắc","Gửi lệnh đó cho bạn bè chạy trước","Lệnh dạng này chạy code tải từ mạng. Chỉ tin lệnh lấy từ trang chính thức",{"q":438,"options":439,"answer":322,"explain":444},"Lệnh nào cho biết \"tôi đang đứng ở thư mục nào\"?",[440,441,442,443],"pwd","ls","cd","node -v","pwd in ra thư mục hiện tại. ls liệt kê nội dung, cd đổi thư mục, node -v xem phiên bản Node.js",{"q":446,"options":447,"answer":322,"explain":452},"Vì sao nên cài Git ngay từ đầu?",[448,449,450,451],"Để lưu \"điểm an toàn\" của dự án, quay về được khi AI làm hỏng","Để AI chạy nhanh gấp đôi","Để không phải đăng nhập Claude Code","Để máy tự cập nhật Node.js","Git lưu các mốc của dự án. Khi AI sửa hỏng, bạn quay về mốc trước thay vì làm lại từ đầu",{"q":454,"options":455,"answer":322,"explain":460},"Điều kiện nào đủ để nói bạn đã chuẩn bị xong máy?",[456,457,458,459],"node -v, git --version và claude --version đều in ra số phiên bản, và đăng nhập được Claude Code","Đã tải về VS Code nhưng chưa mở lần nào","Đã đọc xong bài hướng dẫn","Chỉ cần gõ thử được lệnh ls","Ba lệnh in ra phiên bản chứng tỏ công cụ đã cài đúng; đăng nhập được mới cho thấy dùng được thật",{"title":462,"path":463,"stem":464,"minutes":465,"level":304,"tags":466,"quiz":469},"AI hoạt động thế nào (đủ để dùng cho đúng)","\u002Fkhoa-hoc\u002Fbat-dau\u002Fai-hoat-dong-the-nao","khoa-hoc\u002F1.bat-dau\u002F3.ai-hoat-dong-the-nao",7,[467,468],"nền tảng","token",[470,478,486,494,502],{"q":471,"options":472,"answer":322,"explain":477},"Bạn hỏi AI cùng một câu hai lần và nhận hai câu trả lời khác nhau. Điều này có nghĩa gì?",[473,474,475,476],"Bình thường: khi chọn mẩu chữ tiếp theo AI có chút ngẫu nhiên, nên một lần chạy được chưa chứng minh gì","Máy chủ đang bị hỏng","Bạn đã gõ sai câu hỏi","AI đang cố tình đánh lừa bạn","Sự ngẫu nhiên là đặc tính của cách AI tạo chữ. Vì vậy hãy tự kiểm tra kết quả thay vì tin một lần chạy",{"q":479,"options":480,"answer":322,"explain":485},"Bạn hỏi về một thư viện mới ra tuần trước và AI trả lời rất chắc nịch nhưng sai. Nguyên nhân khả dĩ nhất?",[481,482,483,484],"Nó không có thông tin mới nên lấp chỗ trống bằng thứ nghe hợp lý","Nó cố ý nói dối","Máy bạn thiếu bộ nhớ","Câu hỏi quá ngắn nên bị từ chối","AI chỉ biết đến lúc dữ liệu huấn luyện kết thúc, và thiếu thông tin thì hiếm khi nói \"tôi không biết\"",{"q":487,"options":488,"answer":322,"explain":493},"Cách giảm việc AI bịa hiệu quả nhất là gì?",[489,490,491,492],"Đưa cho nó thông tin còn thiếu: tài liệu chính thức, file dự án, thông báo lỗi đầy đủ","Viết thêm câu \"đừng bịa\" thật to","Hỏi đi hỏi lại tới khi nó đổi ý","Dùng toàn chữ in hoa","Bịa xảy ra khi thiếu thông tin. Cho nó dữ liệu thật hiệu quả hơn nhiều so với dặn dò",{"q":495,"options":496,"answer":322,"explain":501},"Token là gì và vì sao bạn nên quan tâm?",[497,498,499,500],"Là mẩu chữ ngắn AI đọc và tính phí theo; liên quan tới chi phí và độ dài AI nhìn được một lúc","Là mật khẩu để đăng nhập AI","Là số lần bạn được hỏi mỗi ngày","Là tên một loại mô hình AI","Mọi giới hạn và chi phí đều đếm bằng token. Tiếng Việt có dấu thường tốn nhiều token hơn nên hãy tự đo",{"q":503,"options":504,"answer":322,"explain":509},"Một đồng nghiệp bảo: \"AI trả lời rất tự tin nên chắc là đúng\". Bạn đáp thế nào?",[505,506,507,508],"Giọng tự tin không liên quan tới độ đúng, cần đối chiếu nguồn","Đúng vậy, càng tự tin càng chính xác","Chỉ đúng với câu hỏi tiếng Anh","Chỉ cần hỏi lại một lần nữa là biết","AI tạo ra thứ nghe hợp lý, kể cả khi sai. Độ tự tin của giọng văn không đo được độ đúng",{"title":511,"path":512,"stem":513,"minutes":306,"level":304,"tags":514,"quiz":516},"Chatbot, agent và công cụ","\u002Fkhoa-hoc\u002Fbat-dau\u002Fchat-agent-va-cong-cu","khoa-hoc\u002F1.bat-dau\u002F4.chat-agent-va-cong-cu",[467,515],"agent",[517,525,533,541,549],{"q":518,"options":519,"answer":322,"explain":524},"Điểm khác căn bản giữa chatbot và agent là gì?",[520,521,522,523],"Chatbot trả lời bạn, agent dùng công cụ để làm việc rồi báo kết quả","Agent luôn thông minh hơn chatbot","Chatbot không dùng mô hình ngôn ngữ","Agent không cần bạn kiểm tra lại","Agent có công cụ (đọc file, sửa file, chạy lệnh) nên làm được việc; chatbot chỉ đưa lời khuyên để bạn tự làm",{"q":526,"options":527,"answer":322,"explain":532},"Claude Code định chạy một lệnh xoá nhiều file và hỏi xin phép. Bạn nên làm gì?",[528,529,530,531],"Đọc kỹ lệnh nó định chạy rồi mới đồng ý hoặc từ chối","Bấm đồng ý ngay để khỏi mất thời gian","Tắt máy","Chờ nó tự quyết định","Mô hình chỉ đề xuất, chương trình agent mới thực thi và hỏi bạn. Quyền duyệt là của bạn, nhất là lệnh xoá hay ghi đè",{"q":534,"options":535,"answer":322,"explain":540},"Vì sao agent thường bịa ít hơn ô chat khi sửa code?",[536,537,538,539],"Nó mở file ra đọc và chạy thử để lấy thông tin thật thay vì đoán","Nó được huấn luyện để không bao giờ sai","Nó chỉ nhận câu hỏi ngắn","Nó chạy trên máy mạnh hơn","Công cụ là cách lấy thông tin thật: đọc nội dung file, chạy thử và xem lỗi",{"q":542,"options":543,"answer":322,"explain":548},"Mỗi khi có đơn hàng mới, cần gửi email xác nhận và ghi vào bảng tính, luôn y hệt nhau. Công cụ nào thường hợp lý hơn?",[544,545,546,547],"Công cụ tự động hoá như n8n, Make hoặc Zapier","Dùng agent suy nghĩ lại từ đầu mỗi đơn","Nhờ chatbot trả lời từng đơn bằng tay","Tự gõ email cho từng khách","Luồng lặp y hệt, chạy theo sự kiện thì công cụ tự động hoá rẻ và ổn định hơn. Agent mạnh ở việc cần hiểu ngữ cảnh mỗi lần một khác",{"q":550,"options":551,"answer":322,"explain":556},"Sau khi agent báo đã sửa xong lỗi trang web, bạn vẫn nên làm gì?",[552,553,554,555],"Mở trang ra dùng thử và xem những file nó đã đổi","Không cần làm gì vì agent đã tự chạy","Xoá dự án và làm lại","Chỉ cần đọc lời tóm tắt của agent","Agent làm việc thay bạn nhưng bạn vẫn là người kiểm tra cuối cùng",{"title":558,"minutes":300,"stem":559,"level":304,"tags":560,"quiz":561,"path":562,"children":563,"page":302},"Giao việc cho AI","khoa-hoc\u002F2.giao-viec-cho-ai",[],[],"\u002Fkhoa-hoc\u002Fgiao-viec-cho-ai",[564,612,659,706,753],{"title":565,"path":566,"stem":567,"minutes":568,"level":304,"tags":569,"quiz":571},"Giao việc cho AI như giao cho người","\u002Fkhoa-hoc\u002Fgiao-viec-cho-ai\u002Fgiao-viec-nhu-giao-cho-nguoi","khoa-hoc\u002F2.giao-viec-cho-ai\u002F1.giao-viec-nhu-giao-cho-nguoi",8,[184,570],"giao việc",[572,580,588,596,604],{"q":573,"options":574,"answer":322,"explain":579},"Bạn viết: \"Làm cho tôi trang web quản lý việc nhà\" và AI trả về một thứ lệch hẳn ý bạn. Nguyên nhân chính thường là gì?",[575,576,577,578],"Yêu cầu để trống quá nhiều thứ nên AI phải lấp bằng phỏng đoán","AI cố tình làm khác đi","Máy bạn chưa đủ mạnh","Câu nhờ quá dài","Lỗi không nằm ở AI mà ở chỗ yêu cầu thiếu bối cảnh, định dạng và ràng buộc",{"q":581,"options":582,"answer":322,"explain":587},"Bốn phần của một yêu cầu tốt là gì?",[583,584,585,586],"Bối cảnh, việc cần làm, định dạng, ràng buộc","Lời chào, câu hỏi, lời cảm ơn, hạn chót","Tên dự án, tên bạn, ngày giờ, địa điểm","Mục tiêu, ngân sách, nhân sự, rủi ro","Thêm vào đó là tiêu chí \"xong khi\" để AI biết lúc nào nên dừng",{"q":589,"options":590,"answer":322,"explain":595},"Câu nào là tiêu chí \"xong khi\" kiểm tra được?",[591,592,593,594],"Mở file trong trình duyệt thấy 3 việc mẫu, bấm vào một việc thì nó bị gạch ngang","Trang trông đẹp và chuyên nghiệp","Code sạch và dễ bảo trì","AI báo là đã hoàn tất","Tiêu chí tốt là thứ bạn tự thử được bằng mắt, không dựa vào cảm giác hay lời báo của AI",{"q":597,"options":598,"answer":322,"explain":603},"Bạn muốn AI cân nhắc React hay Vue cho dự án. Cách hỏi nào trung lập hơn?",[599,600,601,602],"So sánh ưu nhược điểm của cả hai, rồi đề xuất một lựa chọn kèm lý do","Chứng minh rằng React tốt hơn Vue cho dự án này","React tốt hơn Vue, đúng không?","Hãy nói là Vue không dùng được","Hỏi kiểu dẫn dắt khiến AI chiều theo bạn và tìm lý do ủng hộ, kể cả lý do yếu",{"q":605,"options":606,"answer":322,"explain":611},"Mẹo nào giúp bạn biết yêu cầu đã đủ chưa?",[607,608,609,610],"Thêm câu: \"Nếu có gì chưa rõ, hãy hỏi tôi trước khi làm\"","Viết cho thật dài","Gửi cùng một yêu cầu năm lần","Viết toàn bộ bằng chữ in hoa","AI sẽ liệt kê những chỗ nó đang phải đoán, giúp bạn bổ sung trước khi làm",{"title":613,"path":614,"stem":615,"minutes":306,"level":304,"tags":616,"quiz":618},"Chia việc lớn thành bước nhỏ","\u002Fkhoa-hoc\u002Fgiao-viec-cho-ai\u002Fchia-viec-lon","khoa-hoc\u002F2.giao-viec-cho-ai\u002F2.chia-viec-lon",[570,617],"quy trình",[619,627,635,643,651],{"q":620,"options":621,"answer":322,"explain":626},"Vì sao nhờ AI làm cả ứng dụng trong một câu thường khó sửa lỗi?",[622,623,624,625],"Ra cả chục file cùng lúc nên không biết lỗi nằm đâu, AI cũng chỉ đoán mò","Vì AI không làm được nhiều file","Vì câu nhờ bị giới hạn 10 chữ","Vì máy sẽ tự khoá","Việc lớn gộp một mạch làm mất khả năng khoanh vùng lỗi",{"q":628,"options":629,"answer":322,"explain":634},"Một bước chia tốt kết thúc bằng gì?",[630,631,632,633],"Một kết quả bạn tự kiểm tra được, như trang mở lên thấy hoặc nút bấm chạy","Một lời hứa của AI là đã làm xong","Một file thiết lập chưa dùng tới","Một bản tóm tắt dài","Nếu không xem được gì, bạn không biết bước đó đúng hay sai",{"q":636,"options":637,"answer":322,"explain":642},"Bước nào dưới đây là bước kém nhất?",[638,639,640,641],"\"Chuẩn bị cấu trúc\" — không có kết quả nào để xem","\"Ô nhập và nút thêm việc, thêm được thì hiện ngay\"","\"Tải lại trang (F5) không mất dữ liệu\"","\"Đánh dấu xong thì việc bị gạch ngang\"","Bước không có kết quả xem được thì không kiểm tra được, nên không biết có đúng không",{"q":644,"options":645,"answer":322,"explain":650},"Khi nào nên làm từng bước, xem rồi mới đi tiếp?",[646,647,648,649],"Việc mới, bạn chưa chắc AI hiểu đúng, kết quả quan trọng","Việc bạn đã làm nhiều lần và có cách kiểm tra cuối","Chỉ khi đã hết hạn mức sử dụng","Không bao giờ, luôn chạy một lệnh","Việc quen mới nên chạy một lệnh; việc mới thì từng bước để bắt sai sớm",{"q":652,"options":653,"answer":322,"explain":658},"Bạn chưa biết chia việc thế nào. Cách làm hợp lý?",[654,655,656,657],"Nhờ AI chia bước kèm cách kiểm tra, chưa làm gì cả, rồi bạn sửa danh sách","Để AI tự chia và làm luôn không cần đọc","Chờ có thêm kinh nghiệm rồi mới nhờ","Chia thành đúng 2 bước to","Duyệt danh sách bước trước khi AI làm giúp bạn nắm quyền kiểm soát",{"title":660,"path":661,"stem":662,"minutes":465,"level":304,"tags":663,"quiz":665},"Khi AI làm sai","\u002Fkhoa-hoc\u002Fgiao-viec-cho-ai\u002Fkhi-ai-lam-sai","khoa-hoc\u002F2.giao-viec-cho-ai\u002F3.khi-ai-lam-sai",[184,664],"sửa lỗi",[666,674,682,690,698],{"q":667,"options":668,"answer":322,"explain":673},"Trang bị lỗi, bạn nhờ AI sửa. Cách nào cho AI nhiều thông tin hữu ích nhất?",[669,670,671,672],"Dán nguyên văn thông báo lỗi kèm việc bạn đã làm để thấy lỗi","Viết \"trang bị lỗi, sửa giúp\"","Tóm tắt lỗi bằng một từ","Gõ lại yêu cầu to hơn","Tên file và số dòng trong thông báo lỗi thường chính là manh mối cần thiết",{"q":675,"options":676,"answer":322,"explain":681},"AI sửa được rồi lỗi lại quay về, vì nó chỉ sửa phần ngọn. Nên đổi cách hỏi thế nào?",[677,678,679,680],"Yêu cầu tìm nguyên nhân gốc, giải thích, rồi chỉ sửa sau khi bạn đồng ý","Bảo nó sửa nhanh hơn","Xoá thông báo lỗi đi","Hỏi lại y nguyên thêm vài lần","Tìm nguyên nhân gốc trước giúp tránh vá triệu chứng",{"q":683,"options":684,"answer":322,"explain":689},"Cuộc trò chuyện đã đi sai hướng, quá nhiều lượt không tiến. Việc đúng nên làm là gì?",[685,686,687,688],"Quay về điểm an toàn, mở phiên mới, giao lại việc với yêu cầu tốt hơn","Nói thêm thật mạnh tay","Tiếp tục sửa thêm mười lượt","Xoá sạch dự án","Những lượt sai trở thành ví dụ cho AI bắt chước nên nói thêm chỉ đào hố sâu hơn",{"q":691,"options":692,"answer":322,"explain":697},"Vì sao \"bỏ đi làm lại\" chỉ dễ khi bạn đã có Git?",[693,694,695,696],"Vì cần một điểm an toàn để quay về","Vì Git tự sửa lỗi cho AI","Vì Git làm AI nhanh hơn","Vì không có Git thì không mở được phiên mới","Không có điểm an toàn thì bỏ đi đồng nghĩa với mất cả phần đang chạy tốt",{"q":699,"options":700,"answer":322,"explain":705},"Con số \"quá 3–4 lượt không tiến thì làm lại\" nên hiểu thế nào?",[701,702,703,704],"Là kinh nghiệm cá nhân, hãy điều chỉnh theo cảm nhận của bạn","Là quy tắc bắt buộc của mọi công cụ AI","Là giới hạn cứng của hệ thống","Là số lượt tối đa được phép sửa mỗi ngày","Bài ghi rõ đây không phải quy tắc cứng mà chỉ là gợi ý",{"title":707,"path":708,"stem":709,"minutes":710,"level":304,"tags":711,"quiz":712},"Nhờ AI viết prompt giúp","\u002Fkhoa-hoc\u002Fgiao-viec-cho-ai\u002Fnho-ai-viet-prompt","khoa-hoc\u002F2.giao-viec-cho-ai\u002F4.nho-ai-viet-prompt",5,[184,570],[713,721,729,737,745],{"q":714,"options":715,"answer":322,"explain":720},"Bạn biết đại khái mình muốn gì nhưng khó diễn đạt đủ ý. Cách nhanh nhất?",[716,717,718,719],"Bảo AI hỏi bạn từng câu một rồi viết lại thành câu nhờ đầy đủ để bạn duyệt","Viết một câu thật ngắn rồi hy vọng","Chép câu nhờ của người khác y nguyên","Chờ AI tự đoán","AI thường hỏi đúng những thứ bạn quên nói: dùng cho ai, trên thiết bị gì, cái gì bắt buộc",{"q":722,"options":723,"answer":322,"explain":728},"Vì sao nên giới hạn số câu hỏi AI được hỏi (ví dụ tối đa 7)?",[724,725,726,727],"Để không bị hỏi quá nhiều, mất thời gian","Vì AI không biết hỏi quá 7 câu","Vì quá 7 câu sẽ bị tính phí gấp đôi","Vì câu hỏi thứ 8 luôn sai","Không giới hạn thì AI có thể hỏi 20 câu, làm bạn mệt mà không thêm giá trị",{"q":730,"options":731,"answer":322,"explain":736},"Kết quả chưa ưng ý. Bạn dán câu nhờ cùng kết quả cho AI và hỏi gì?",[732,733,734,735],"\"Câu nhờ này thiếu gì mà kết quả ra như vậy? Viết lại giúp tôi\"","\"Sao bạn dở thế?\"","\"Làm lại đi\"","\"Hãy làm tốt hơn nhé\"","Câu hỏi có đối tượng cụ thể giúp AI chỉ ra chỗ thiếu",{"q":738,"options":739,"answer":322,"explain":744},"Câu nhờ nào đáng lưu thành file để dùng lại?",[740,741,742,743],"Câu cho kết quả tốt và bạn sẽ còn dùng, đặt tên rõ ràng","Tất cả câu nhờ, đặt tên theo ngày","Chỉ những câu dài nhất","Không cần lưu, nhớ trong đầu là đủ","Đặt tên rõ để sau này tìm lại được; tên mơ hồ làm file nằm không",{"q":746,"options":747,"answer":322,"explain":752},"Câu nhờ do AI viết ra thì nên làm gì trước khi dùng?",[748,749,750,751],"Đọc lại và cắt những câu chung chung như \"hãy đảm bảo chất lượng cao\"","Dùng luôn không cần đọc","Dịch sang tiếng Anh","Tăng gấp đôi độ dài","Những câu chung chung không giúp gì mà còn làm câu nhờ dài dòng",{"title":754,"path":755,"stem":756,"minutes":757,"level":304,"tags":758,"quiz":760},"Đúng từ khoá, tiết kiệm nửa buổi","\u002Fkhoa-hoc\u002Fgiao-viec-cho-ai\u002Ftu-khoa-dung-tiet-kiem-nua-buoi","khoa-hoc\u002F2.giao-viec-cho-ai\u002F5.tu-khoa-dung-tiet-kiem-nua-buoi",4,[184,759],"từ khoá",[761,769,775,783,791],{"q":762,"options":763,"answer":322,"explain":768},"Bạn muốn trang web không bị bé tí khi mở trên điện thoại. Từ khoá nên dùng là gì?",[764,765,766,767],"Responsive design (thiết kế responsive)","Phân trang","Autocomplete","Phân quyền","Nói đúng tên, AI làm theo cách chuẩn của ngành thay vì thử lung tung",{"q":770,"options":771,"answer":322,"explain":774},"Bạn muốn tải lại trang mà dữ liệu không mất. Từ khoá nào hợp nhất?",[772,773,765,766],"Lưu cục bộ (localStorage)","Responsive design","localStorage lưu và đọc lại dữ liệu ngay trong trình duyệt",{"q":776,"options":777,"answer":322,"explain":782},"Bạn không biết việc mình muốn làm gọi là gì. Làm gì trước?",[778,779,780,781],"Hỏi AI \"việc này gọi là gì, có những cách làm phổ biến nào\", chưa viết code","Nhờ AI làm luôn rồi xem kết quả","Tả dài thật dài","Bỏ ý định đó","Một câu hỏi 30 giây đổi lại một câu nhờ trúng ngay lần đầu",{"q":784,"options":785,"answer":322,"explain":790},"Vì sao nên nêu rõ công nghệ bạn muốn dùng (ví dụ HTML thuần, Nuxt 4)?",[786,787,788,789],"Không nói thì AI tự chọn, có khi là thứ bạn không biết dùng hoặc bản cũ","Vì AI không biết công nghệ nào cả","Vì nói ra thì AI chạy nhanh hơn","Vì công nghệ sẽ tự cập nhật","Nêu rõ công nghệ và phiên bản giúp kết quả khớp với thứ bạn quen",{"q":792,"options":793,"answer":322,"explain":798},"Dùng sai thuật ngữ thì sao?",[794,795,796,797],"Còn tệ hơn tả bằng lời thường, nên không chắc thì hỏi lại","Không sao, AI luôn hiểu","Luôn cho kết quả tốt hơn","AI sẽ tự báo lỗi","Thuật ngữ sai kéo AI sang hướng khác hẳn ý bạn",{"title":800,"minutes":300,"stem":801,"level":304,"tags":802,"quiz":803,"path":804,"children":805,"page":302},"Context: vì sao AI quên và bịa","khoa-hoc\u002F3.context",[],[],"\u002Fkhoa-hoc\u002Fcontext",[806,852,897,910,957],{"title":807,"path":808,"stem":809,"minutes":568,"level":304,"tags":810,"quiz":811},"Context là gì?","\u002Fkhoa-hoc\u002Fcontext\u002Fcontext-la-gi","khoa-hoc\u002F3.context\u002F1.context-la-gi",[242,467],[812,820,828,836,844],{"q":813,"options":814,"answer":322,"explain":819},"Sau hai tiếng, AI bắt đầu quên điều bạn dặn và làm lại thứ đã làm. Giải thích đúng nhất?",[815,816,817,818],"Context của phiên đã quá tải, không phải AI \"mệt\"","AI bị mệt sau hai tiếng làm việc","Máy chủ của AI đang bảo trì","Bạn đã dùng hết hạn mức trong ngày","AI không mệt; gói thông tin nó phải nhìn mỗi lượt đã quá dài và lộn xộn",{"q":821,"options":822,"answer":322,"explain":827},"AI \"nhớ\" cuộc trò chuyện bằng cách nào?",[823,824,825,826],"Mỗi lượt, toàn bộ lịch sử được gửi lại từ đầu trong gói context","Nó lưu vĩnh viễn vào não riêng của nó","Nó chỉ nhớ câu hỏi cuối cùng của bạn","Nó đọc lại trình duyệt của bạn","Vì lịch sử được gửi lại mỗi lượt, phiên càng dài thì mỗi lượt càng tốn token",{"q":829,"options":830,"answer":322,"explain":835},"Bạn nhờ AI đọc một file rất dài ngay đầu phiên. Điều gì xảy ra sau đó?",[831,832,833,834],"File vẫn nằm trong context ở mọi lượt sau và chiếm chỗ","File tự biến mất sau khi đọc xong","AI nhớ file mà không tốn gì","File được lưu vĩnh viễn sang phiên mới","Thứ đã vào context thì còn nằm đó đến khi phiên bị tóm tắt hoặc đóng",{"q":837,"options":838,"answer":322,"explain":843},"Chất lượng trả lời của AI thường thay đổi thế nào khi phiên dài?",[839,840,841,842],"Có thể giảm trước khi cửa sổ context đầy hẳn","Chỉ giảm khi đã đầy 100%","Luôn tăng vì AI học thêm","Không bao giờ thay đổi","Gói càng dài và lộn xộn thì AI càng khó tìm đúng thông tin quan trọng; mức độ tuỳ mô hình",{"q":845,"options":846,"answer":322,"explain":851},"Mục tiêu đúng khi quản lý context là gì?",[847,848,849,850],"Đưa ít nhất mà AI vẫn hiểu đúng và đủ","Nhồi thật nhiều thông tin cho chắc","Luôn dùng một phiên cho cả ngày","Nhờ AI đọc cả dự án trước khi làm gì","Context gọn thì AI tập trung hơn và cũng rẻ hơn",{"title":853,"path":314,"stem":854,"minutes":710,"level":304,"tags":855,"quiz":856},"Dấu hiệu AI bị \"ngợp\"","khoa-hoc\u002F3.context\u002F2.dau-hieu-ai-bi-ngop",[242,664],[857,865,873,881,889],{"q":858,"options":859,"answer":322,"explain":864},"Dấu hiệu nào cho thấy AI có thể đang bị ngợp?",[860,861,862,863],"Thử cách A, B, C rồi quay lại cách A đã thất bại","Trả lời nhanh và gọn","Hỏi lại một câu để làm rõ yêu cầu","Báo đã chạy test thành công","Lặp lại cách sửa đã thất bại là dấu hiệu AI không còn theo dõi được những gì đã thử",{"q":866,"options":867,"answer":322,"explain":872},"Bạn thấy hai dấu hiệu trở lên trong cùng một phiên. Nên làm gì?",[868,869,870,871],"Dừng và mở phiên mới (mang theo tiến độ)","Nhắc lại yêu cầu thật to","Tiếp tục thêm một câu nữa","Đổi sang máy khác","Từ hai dấu hiệu trở lên là lúc nên chuyển sang phiên mới thay vì cố gắng thêm",{"q":874,"options":875,"answer":322,"explain":880},"AI đang ngợp và bạn viết HOA yêu cầu, nhắc lại ba lần. Kết quả thường ra sao?",[876,877,878,879],"Không giúp gì, chỉ thêm chữ vào một gói đã quá tải","AI tập trung hơn rất nhiều","AI chạy nhanh gấp ba","AI tự mở phiên mới","Nói mạnh hơn không giảm tải context; chỉ có thu gọn gói mới giúp",{"q":882,"options":883,"answer":322,"explain":888},"Ngoài cảm giác, bạn có thể kiểm tra bằng gì trong Claude Code?",[884,885,886,887],"Gõ \u002Fcontext để xem context đang dùng bao nhiêu","Gõ \u002Fsleep","Đếm số lần AI xin lỗi","Xem đồng hồ","Kết hợp dấu hiệu và con số cho kết luận chắc chắn hơn",{"q":890,"options":891,"answer":322,"explain":896},"Phiên dài đi lệch, bạn thấy bực và nghĩ \"model này dở\". Cách nhìn đúng hơn?",[892,893,894,895],"Có thể vấn đề là phiên quá dài, thử mở phiên mới trước khi đổ lỗi","Chắc chắn là lỗi của mô hình","Chắc chắn là lỗi mạng","Không có cách nào kiểm tra","Đổ lỗi cho mô hình là sai lầm hay gặp khi nguyên nhân thật là phiên quá dài",{"title":5,"path":312,"stem":355,"minutes":306,"level":304,"tags":898,"quiz":899},[242,357],[900,902,904,906,908],{"q":317,"options":901,"answer":322,"explain":323},[273,319,320,321],{"q":325,"options":903,"answer":322,"explain":331},[327,328,329,330],{"q":333,"options":905,"answer":322,"explain":337},[117,137,335,336],{"q":339,"options":907,"answer":322,"explain":345},[341,342,343,344],{"q":347,"options":909,"answer":322,"explain":353},[349,350,351,352],{"title":911,"path":912,"stem":913,"minutes":465,"level":304,"tags":914,"quiz":916},"Quy tắc cố định cho AI","\u002Fkhoa-hoc\u002Fcontext\u002Fquy-tac-co-dinh","khoa-hoc\u002F3.context\u002F4.quy-tac-co-dinh",[242,915],"claude-md",[917,925,933,941,949],{"q":918,"options":919,"answer":322,"explain":924},"Bạn dặn \"mọi chữ trên giao diện viết tiếng Việt\" trong chat, một tiếng sau AI thêm nút \"Save\". Cách bền hơn?",[920,921,922,923],"Viết quy tắc vào file quy tắc cố định như CLAUDE.md","Nhắc lại mỗi lượt bằng chữ in hoa","Chờ AI tự nhớ","Đổi sang model khác","Lời dặn trong chat có thể mất khi bị tóm tắt; CLAUDE.md được nạp lại ở mỗi phiên và sau \u002Fcompact",{"q":926,"options":927,"answer":322,"explain":932},"Vì sao file quy tắc nên ngắn (khoảng dưới 200 dòng)?",[928,929,930,931],"Nó nằm trong context ở mọi lượt, càng dài AI càng dễ bỏ sót","Vì Claude Code không đọc quá 200 dòng","Vì file dài bị xoá","Vì file dài tốn tiền bản quyền","File quy tắc chiếm chỗ ở mọi lượt nên ngắn gọn thì được tuân thủ tốt hơn",{"q":934,"options":935,"answer":322,"explain":940},"Quy tắc nào kiểm tra được và cụ thể?",[936,937,938,939],"Chữ trên giao diện viết bằng tiếng Việt","Code cho sạch","Viết cho thân thiện","Làm sao cho đẹp","Quy tắc mơ hồ thì không biết có được tuân thủ hay không",{"q":942,"options":943,"answer":322,"explain":948},"Khi nào nên thêm một quy tắc mới vào file?",[944,945,946,947],"Khi AI đã sai thật ở dự án của bạn","Khi thấy người khác có quy tắc đó","Ngay từ đầu, càng nhiều càng tốt","Chỉ khi cuối tuần","Đừng chép nguyên bộ quy tắc của người khác; chỉ thêm khi cần",{"q":950,"options":951,"answer":322,"explain":956},"Việc tuyệt đối không được làm, như đọc file chứa mật khẩu, nên được chặn bằng gì?",[952,953,954,955],"Cài đặt quyền, vì file quy tắc chỉ là lời dặn","Một dòng trong CLAUDE.md là đủ","Nhờ AI hứa trong chat","Đổi tên file mật khẩu","File quy tắc không phải khoá cứng; AI thường làm theo nhưng không đảm bảo 100%",{"title":958,"path":959,"stem":960,"minutes":465,"level":304,"tags":961,"quiz":964},"Bộ nhớ dự án","\u002Fkhoa-hoc\u002Fcontext\u002Fbo-nho-du-an","khoa-hoc\u002F3.context\u002F5.bo-nho-du-an",[242,962,963],"bộ nhớ","tài liệu",[965,973,981,989,997],{"q":966,"options":967,"answer":322,"explain":972},"Sau một tháng thư mục có ghi-chu.md, ghi-chu-2.md, ke-hoach-moi-that.md. Cách khắc phục?",[968,969,970,971],"Dùng một thư mục cố định cho tài liệu của AI và nhắc nó trong CLAUDE.md","Đổi tên các file cho dài hơn","Xoá hết ghi chú","Để AI tự đoán file nào cần đọc","Một chỗ cố định giúp phiên mới biết đọc gì, và bạn cũng vậy",{"q":974,"options":975,"answer":322,"explain":980},"File \"quyết định\" trả lời câu hỏi nào và vì sao đáng có?",[976,977,978,979],"\"Sao lại làm thế này?\" — tránh việc phiên sau cải tiến ngược lại thứ đã cân nhắc kỹ","\"Hôm nay là ngày mấy?\"","\"Ai là người dùng đông nhất?\"","\"Máy chủ ở đâu?\"","Không có nó, phiên sau có thể \"sửa\" lại đúng điều bạn đã chốt",{"q":982,"options":983,"answer":322,"explain":988},"Một danh sách dài (bảng giá, thành viên) nên để ở đâu?",[984,985,986,987],"File riêng để AI đọc khi cần, không nhồi vào CLAUDE.md","Chép hết vào CLAUDE.md","Nhập lại vào chat mỗi phiên","Không nên lưu","Thứ trong CLAUDE.md được nạp mỗi phiên, tốn context dù không dùng",{"q":990,"options":991,"answer":322,"explain":996},"Cuối phiên, bạn nhờ AI \"cập nhật docs-ai\". Bạn vẫn cần làm gì?",[992,993,994,995],"Đọc lại những gì AI ghi","Không cần làm gì","Xoá file đó","Gửi file cho người lạ","Nếu AI ghi sai mà không ai đọc, phiên sau sai theo",{"q":998,"options":999,"answer":322,"explain":1004},"Vì sao cần dọn tài liệu định kỳ?",[1000,1001,1002,1003],"File tiến độ của việc đã xong làm AI tưởng việc chưa xong","Để máy chạy nhanh hơn","Để tiết kiệm tiền điện","Để đổi tên dự án","Việc xong nên xoá hoặc chuyển vào thư mục đã xong",{"title":1006,"minutes":300,"stem":1007,"level":304,"tags":1008,"quiz":1009,"path":1010,"children":1011,"page":302},"Dự án đầu tiên từ A tới Z","khoa-hoc\u002F4.du-an-dau-tien",[],[],"\u002Fkhoa-hoc\u002Fdu-an-dau-tien",[1012,1059,1106,1153,1199,1247,1295],{"title":1013,"path":1014,"stem":1015,"minutes":568,"level":417,"tags":1016,"quiz":1018},"Một trang web gồm những gì?","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Fmot-trang-web-gom-nhung-gi","khoa-hoc\u002F4.du-an-dau-tien\u002F1.mot-trang-web-gom-nhung-gi",[1017,378],"web",[1019,1027,1035,1043,1051],{"q":1020,"options":1021,"answer":322,"explain":1026},"Cả nhà muốn cùng xem MỘT danh sách việc từ nhiều điện thoại. Web tĩnh có đủ không?",[1022,1023,1024,1025],"Không, cần backend và database để dùng chung dữ liệu","Đủ, localStorage tự đồng bộ giữa các máy","Đủ, chỉ cần mua tên miền","Đủ, chỉ cần HTML đẹp","localStorage chỉ nằm trong một trình duyệt trên một máy; dùng chung cần backend + database",{"q":1028,"options":1029,"answer":322,"explain":1034},"AI hỏi \"dùng backend gì, database nào?\" trong khi bạn chỉ làm sổ việc cho một người trên một máy. Trả lời tốt nhất?",[1030,1031,1032,1033],"Chỉ làm web tĩnh, lưu bằng localStorage, không có backend","Chọn đại loại phổ biến nhất","Nói AI tự quyết hết","Dừng dự án","Càng ít mảnh ghép, càng ít chỗ hỏng",{"q":1036,"options":1037,"answer":322,"explain":1042},"Bạn để API key trong code frontend vì \"chỉ mình mình dùng\". Vấn đề là gì?",[1038,1039,1040,1041],"Ai mở trang cũng xem được khoá đó","Trang sẽ chạy chậm","Khoá sẽ tự hết hạn","Trình duyệt tự xoá khoá","Mọi thứ ở frontend đều tải về trình duyệt người xem; muốn giấu khoá phải có backend",{"q":1044,"options":1045,"answer":322,"explain":1050},"Vai trò của database trong năm mảnh ghép?",[1046,1047,1048,1049],"Lưu dữ liệu lâu dài, dùng chung","Hiển thị nút bấm","Là địa chỉ dễ nhớ của web","Đưa web lên máy chạy 24\u002F7","Frontend là mặt tiền, backend là nhà bếp, database là kho",{"q":1052,"options":1053,"answer":322,"explain":1058},"Tính năng nào trong danh sách buộc dự án phải có backend?",[1054,1055,1056,1057],"Đăng nhập và phân quyền","Một trang giới thiệu","Một blog tĩnh","Dữ liệu cá nhân trong một trình duyệt","Đăng nhập, phân quyền, giấu khoá bí mật đều cần backend",{"title":1060,"path":1061,"stem":1062,"minutes":568,"level":304,"tags":1063,"quiz":1065},"Từ ý tưởng tới một trang tài liệu","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Ftu-y-tuong-toi-tai-lieu","khoa-hoc\u002F4.du-an-dau-tien\u002F2.tu-y-tuong-toi-tai-lieu",[617,963,1064],"lập kế hoạch",[1066,1074,1082,1090,1098],{"q":1067,"options":1068,"answer":322,"explain":1073},"Trước khi nhờ AI code, bước đầu tiên nên là gì?",[1069,1070,1071,1072],"Viết tài liệu một trang: dành cho ai, tính năng cốt lõi, không làm, xong khi","Cho AI code luôn và sửa dần","Cài thật nhiều thư viện","Mua tên miền","Ý tưởng chưa viết ra thì AI không có gì để bám vào",{"q":1075,"options":1076,"answer":322,"explain":1081},"Phần \"Không làm\" trong tài liệu có tác dụng gì?",[1077,1078,1079,1080],"Chặn AI tiện tay thêm tính năng bạn không cần","Làm tài liệu dài hơn cho đẹp","Chỉ để trang trí","Báo cho người dùng biết lỗi","Phần này quan trọng không kém phần làm",{"q":1083,"options":1084,"answer":322,"explain":1089},"Tài liệu AI viết có câu \"giảm 40% thời gian xử lý\" mà bạn chưa hề nói. Nên làm gì?",[1085,1086,1087,1088],"Gạch bỏ, vì đó là chi tiết AI bịa","Giữ lại cho chuyên nghiệp","Tin vì nghe rất thật","Thêm vài con số nữa","Gạch bỏ mọi thứ bạn không tự nói ra hoặc không kiểm chứng được",{"q":1091,"options":1092,"answer":322,"explain":1097},"Khi viết tài liệu, nên cho AI làm gì trước?",[1093,1094,1095,1096],"Hỏi ngược bạn từng câu để làm rõ, chưa viết code","Viết code trước, hỏi sau","Chỉ trả lời một dòng","Đoán hết mọi thứ","Để AI hỏi ngược rồi viết tài liệu, chưa code ở bước này",{"q":1099,"options":1100,"answer":322,"explain":1105},"Danh sách tính năng bản đầu nên dài thế nào?",[1101,1102,1103,1104],"Tối đa khoảng 5 tính năng cốt lõi","Càng nhiều càng tốt, khoảng 15 mục","Chỉ một dòng chung chung","Không cần danh sách","Danh sách 15 mục thì bản đầu không bao giờ xong",{"title":1107,"path":1108,"stem":1109,"minutes":465,"level":304,"tags":1110,"quiz":1112},"Kế hoạch trước, code sau","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Fke-hoach-truoc-code-sau","khoa-hoc\u002F4.du-an-dau-tien\u002F3.ke-hoach-truoc-code-sau",[617,1111],"plan mode",[1113,1121,1129,1137,1145],{"q":1114,"options":1115,"answer":322,"explain":1120},"Bạn nhờ thêm bộ lọc, AI sửa bảy chỗ và làm mất việc cũ. Cách phòng tốt nhất lần sau?",[1116,1117,1118,1119],"Yêu cầu lập kế hoạch trước, duyệt rồi mới cho làm","Dặn AI cẩn thận hơn","Không dùng AI nữa","Cho AI làm nhanh hơn","Phát hiện sai ở kế hoạch thì sửa một dòng chữ; ở code thì gỡ cả trăm dòng",{"q":1122,"options":1123,"answer":322,"explain":1128},"Quy trình ba bước đúng là gì?",[1124,1125,1126,1127],"Lập kế hoạch → duyệt → làm","Làm → duyệt → lập kế hoạch","Làm → làm → làm","Duyệt → bỏ qua → làm","AI chưa được sửa gì cho tới khi bạn đồng ý",{"q":1130,"options":1131,"answer":322,"explain":1136},"Làm sao vào plan mode trong Claude Code?",[1132,1133,1134,1135],"Nhấn Shift+Tab đến khi hiện plan mode, hoặc claude --permission-mode plan","Gõ \u002Frewind","Cài thêm plugin","Xoá CLAUDE.md","Plan mode: AI đọc file và đề xuất kế hoạch nhưng không sửa gì",{"q":1138,"options":1139,"answer":322,"explain":1144},"Trường hợp nào bỏ qua lập kế hoạch được?",[1140,1141,1142,1143],"Đổi màu một nút hoặc sửa một chữ sai chính tả","Đổi cách lưu dữ liệu","Thêm tính năng đăng nhập","Sửa nhiều file cùng lúc","Lập kế hoạch tốn thời gian và token, không cần cho việc rất nhỏ và rõ",{"q":1146,"options":1147,"answer":322,"explain":1152},"Có một bước trong kế hoạch bạn không hiểu. Nên làm gì?",[1148,1149,1150,1151],"Hỏi AI giải thích, vì chỗ không hiểu thường là chỗ sẽ hỏng","Duyệt luôn cho nhanh","Xoá cả kế hoạch","Bỏ qua vì chắc không quan trọng","Duyệt mà không đọc thì bước lập kế hoạch vô nghĩa",{"title":1154,"path":1155,"stem":1156,"minutes":465,"level":304,"tags":1157,"quiz":1158},"Chia kế hoạch thành task","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Fchia-thanh-task","khoa-hoc\u002F4.du-an-dau-tien\u002F4.chia-thanh-task",[617,1064],[1159,1167,1175,1183,1191],{"q":1160,"options":1161,"answer":322,"explain":1166},"Task \"làm giao diện\" có vấn đề gì?",[1162,1163,1164,1165],"Quá to và không kiểm tra được","Quá nhỏ","Quá rõ ràng","Không có vấn đề","Task tốt làm xong trong một phiên và kiểm tra được trong vài phút",{"q":1168,"options":1169,"answer":322,"explain":1174},"Bốn thành phần của một task tốt?",[1170,1171,1172,1173],"Tên, làm gì, cần xong trước, xong khi","Tên, giá, hạn chót, người làm","Mục tiêu, vốn, nhân sự, rủi ro","Tên, ảnh, màu, phông","Thiếu một thành phần thì AI hoặc bạn khó biết khi nào là xong",{"q":1176,"options":1177,"answer":322,"explain":1182},"Vì sao cần ghi \"cần xong trước\"?",[1178,1179,1180,1181],"Để không làm thống kê khi chưa có dữ liệu để thống kê","Để task trông dài hơn","Để đổi tên task","Không có lý do","Sắp theo phụ thuộc, phần nền làm trước",{"q":1184,"options":1185,"answer":322,"explain":1190},"Ghi \"Xong khi: chạy được\" có tốt không?",[1186,1187,1188,1189],"Chưa, phải ghi hành động cụ thể bạn kiểm tra được","Tốt, ngắn gọn là đủ","Tốt vì AI tự hiểu","Không cần mục này","\"Chạy được cái gì?\" — ghi rõ bấm gì thì thấy gì",{"q":1192,"options":1193,"answer":322,"explain":1198},"File task có thêm vai trò gì?",[1194,1195,1196,1197],"File tiến độ: mỗi phiên đọc, làm task kế, tick, commit","File mật khẩu","File cấu hình máy chủ","File ảnh","Danh sách lưu trong dự án giúp phiên mới tiếp tục đúng chỗ",{"title":1200,"path":1201,"stem":1202,"minutes":1203,"level":417,"tags":1204,"quiz":1207},"Git: lưới an toàn của bạn","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Fgit-luoi-an-toan","khoa-hoc\u002F4.du-an-dau-tien\u002F5.git-luoi-an-toan",10,[1205,1206],"git","an toàn",[1208,1215,1223,1231,1239],{"q":1209,"options":1210,"answer":322,"explain":1214},"Trước khi giao AI sửa code đang chạy tốt, bạn nên làm gì?",[1211,1212,530,1213],"Commit để có điểm quay về","Xoá bớt code","Đổi tên thư mục","Quy tắc vàng: commit trước khi giao việc sửa code đang chạy tốt",{"q":1216,"options":1217,"answer":322,"explain":1222},"Lệnh nào cho bạn xem AI đã sửa gì từng dòng?",[1218,1219,1220,1221],"git diff","git init","git restore","git add","Dòng bắt đầu bằng - là bị xoá, + là được thêm",{"q":1224,"options":1225,"answer":322,"explain":1230},"Bạn chạy git restore . Điều gì xảy ra?",[1226,1227,1228,1229],"Bỏ mọi thay đổi chưa commit ở file Git đang theo dõi, không hoàn tác được","Tạo commit mới","Xoá toàn bộ dự án","Gửi code lên mạng","Lệnh này không hỏi lại, chỉ chạy khi chắc chắn muốn bỏ thay đổi",{"q":1232,"options":1233,"answer":322,"explain":1238},"AI vừa tạo một file mới hỏng. git restore . có xoá file đó không?",[1234,1235,1236,1237],"Không, file mới phải xoá tay (git status liệt kê chúng)","Có, xoá hết mọi file mới","Có, nhưng hỏi trước","Chỉ xoá nếu là file ảnh","restore chỉ đưa file Git đang theo dõi về lần commit gần nhất",{"q":1240,"options":1241,"answer":322,"explain":1246},"Vì sao checkpoint \u002Frewind không thay thế Git?",[1242,1243,1244,1245],"Không theo dõi file bị đổi bởi lệnh terminal hay bạn tự sửa, và không phải lịch sử lâu dài","Vì nó tốn tiền","Vì nó chỉ chạy ban đêm","Vì Git cấm dùng chung","Dùng cả hai: checkpoint để lùi một bước, Git cho điểm an toàn thật sự",{"title":1248,"path":1249,"stem":1250,"minutes":1251,"level":417,"tags":1252,"quiz":1254},"Làm từng task cho tới khi chạy","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Flam-tung-task","khoa-hoc\u002F4.du-an-dau-tien\u002F6.lam-tung-task",12,[617,1253,1205],"thực hành",[1255,1263,1271,1279,1287],{"q":1256,"options":1257,"answer":322,"explain":1262},"AI báo \"xong rồi\". Bạn nên làm gì tiếp?",[1258,1259,1260,1261],"Tự mở trang và bấm thử theo \"Xong khi\"","Tin ngay và làm task tiếp","Hỏi AI lần nữa là xong chưa","Commit mà không chạy","Đừng chỉ đọc AI nói; chạy thử thật",{"q":1264,"options":1265,"answer":322,"explain":1270},"Cách báo lỗi nào giúp AI sửa tốt nhất?",[1266,1267,1268,1269],"Dán nguyên văn dòng lỗi trong Console kèm các bước đã làm","\"Lỗi rồi\"","\"Không chạy\"","\"Sai hết\"","Kèm: đã làm gì, mong đợi gì, thực tế ra gì",{"q":1272,"options":1273,"answer":322,"explain":1278},"Vì sao không nên giao nhiều task một lúc?",[1274,1275,1276,1277],"Hỏng thì không biết do task nào","Vì AI sợ nhiều việc","Vì tốn điện","Vì Git không cho phép","Một task mỗi lần, kiểm tra xong mới sang task tiếp",{"q":1280,"options":1281,"answer":322,"explain":1286},"Dự án dùng framework như Vue. Cách dựng khung đúng?",[1282,1283,1284,1285],"Chạy lệnh tạo dự án chính thức và nêu rõ phiên bản","Để AI viết khung từ trang trắng","Chép khung từ một video cũ","Không cần nêu phiên bản","Nêu rõ phiên bản để AI khỏi dùng cú pháp bản cũ",{"q":1288,"options":1289,"answer":322,"explain":1294},"Sau khi một task đúng \"Xong khi\", bước tiếp theo?",[1290,1291,1292,1293],"Commit, tick task, sang task tiếp (việc lớn thì phiên mới)","Xoá file task","Giao thêm ba task một lúc","Để AI cải thiện thêm ngoài phạm vi","Commit giữa các task để hỏng thì quay lại được",{"title":1296,"path":1297,"stem":1298,"minutes":1203,"level":417,"tags":1299,"quiz":1301},"Đưa web lên mạng","\u002Fkhoa-hoc\u002Fdu-an-dau-tien\u002Fdua-len-mang","khoa-hoc\u002F4.du-an-dau-tien\u002F7.dua-len-mang",[1300,1017],"deploy",[1302,1310,1318,1326,1334],{"q":1303,"options":1304,"answer":322,"explain":1309},"Web tĩnh deploy có gì đặc biệt?",[1305,1306,1307,1308],"Chỉ là một thư mục file, hosting cất và phát cho người xem","Phải thuê máy chủ riêng","Phải có database","Phải mua tên miền trước","Nhiều dịch vụ làm việc này miễn phí cho dự án cá nhân",{"q":1311,"options":1312,"answer":322,"explain":1317},"Bạn đặt biến môi trường bí mật trên hosting cho web tĩnh. Có an toàn không?",[1313,1314,1315,1316],"Không, giá trị vẫn bị nhúng vào file gửi cho người xem","Có, hosting tự mã hoá","Có, vì tên biến bắt đầu bằng chữ hoa","Có, nếu đặt mật khẩu cho trang","Giấu khoá phải có backend",{"q":1319,"options":1320,"answer":322,"explain":1325},"Deploy xong, trang trắng. Nguyên nhân thường gặp?",[1321,1322,1323,1324],"Đường dẫn file sai hoặc deploy nhầm thư mục","Máy mẹ hết pin","Tên miền quá dài","Thiếu database","Mở Console (F12) xem lỗi và dán cho AI",{"q":1327,"options":1328,"answer":322,"explain":1333},"Mẹ thêm việc trên điện thoại mẹ. Bạn có thấy trên máy bạn không (bản tĩnh dùng localStorage)?",[1329,1330,1331,1332],"Không, dữ liệu nằm riêng trên từng thiết bị","Có, tự đồng bộ","Có, sau vài phút","Có, nếu cùng tên miền","Deploy không làm thay đổi điều này",{"q":1335,"options":1336,"answer":322,"explain":1341},"Dịch vụ hosting thay đổi giao diện và gói miễn phí thường xuyên. Bạn nên?",[1337,1338,1339,1340],"Làm theo hướng dẫn chính thức hiện tại, nhờ AI đọc và chỉ từng bước","Làm theo ảnh chụp cũ trong bài","Đoán các bước","Chọn dịch vụ ngẫu nhiên","Bài chỉ nêu nguyên lý; chi tiết cụ thể lấy từ tài liệu chính thức",{"title":1343,"minutes":300,"stem":1344,"level":304,"tags":1345,"quiz":1346,"path":1347,"children":1348,"page":302},"AI làm việc với file và dữ liệu","khoa-hoc\u002F5.file-va-du-lieu",[],[],"\u002Fkhoa-hoc\u002Ffile-va-du-lieu",[1349,1398,1445,1491],{"title":1350,"path":1351,"stem":1352,"minutes":465,"level":304,"tags":1353,"quiz":1357},"Để AI viết code tạo file, đừng để AI tự vẽ","\u002Fkhoa-hoc\u002Ffile-va-du-lieu\u002Fai-viet-code-de-tao-file","khoa-hoc\u002F5.file-va-du-lieu\u002F1.ai-viet-code-de-tao-file",[1354,1355,1356],"dữ liệu","file","tiết kiệm token",[1358,1366,1374,1382,1390],{"q":1359,"options":1360,"answer":322,"explain":1365},"Mỗi tháng bạn nhờ AI vẽ lại cùng một biểu đồ, kết quả mỗi lần một kiểu. Cách khắc phục?",[1361,1362,1363,1364],"Nhờ AI lưu đoạn code vẽ thành file và chạy lại với dữ liệu mới","Nhờ AI vẽ thật kỹ hơn","Chụp màn hình biểu đồ cũ","Đổi sang công cụ khác","Thứ quý nhất là đoạn code tạo ra biểu đồ; cùng code + cùng dữ liệu → cùng kết quả",{"q":1367,"options":1368,"answer":322,"explain":1373},"Khi xin biểu đồ hoặc PDF, agent thường làm gì?",[1369,1370,1371,1372],"Viết code rồi chạy code đó để ra file","Tự vẽ từng điểm ảnh","Gửi yêu cầu cho người thật","Tìm file có sẵn trên mạng","Vì vậy nên giữ lại code làm file trung gian",{"q":1375,"options":1376,"answer":322,"explain":1381},"Trường hợp nào đáng giữ file trung gian nhất?",[1377,1378,1379,1380],"Việc lặp lại hằng tuần, hằng tháng","Việc chỉ làm một lần","Việc đang thử cho vui","Việc không có dữ liệu","Làm một lần thì cứ nhờ AI tạo thẳng",{"q":1383,"options":1384,"answer":322,"explain":1389},"Lần sau muốn cập nhật biểu đồ, cách nói nào đúng?",[1385,1386,1387,1388],"\"Chạy lại file ve-bieu-do.py với dữ liệu mới\"","\"Làm lại biểu đồ giúp tôi\"","\"Vẽ cái gì đó giống lần trước\"","\"Đoán xem tôi cần gì\"","\"Làm lại\" khiến AI viết code mới và kết quả khác",{"q":1391,"options":1392,"answer":322,"explain":1397},"Vì sao không nên để đường dẫn kiểu C:\\Users\\... trong code?",[1393,1394,1395,1396],"Sang máy khác là hỏng; nên dùng đường dẫn tương đối","Vì Windows cấm","Vì đường dẫn dài tốn chữ","Vì AI không đọc được","Đường dẫn tương đối chạy được ở mọi máy",{"title":1399,"path":1400,"stem":1401,"minutes":1203,"level":417,"tags":1402,"quiz":1405},"Bảng điều khiển HTML từ file Excel","\u002Fkhoa-hoc\u002Ffile-va-du-lieu\u002Fbang-dieu-khien-html","khoa-hoc\u002F5.file-va-du-lieu\u002F2.bang-dieu-khien-html",[1354,1403,1404],"dashboard","html",[1406,1414,1422,1430,1437],{"q":1407,"options":1408,"answer":322,"explain":1413},"Dashboard HTML trong bài tính toán ở đâu?",[1409,1410,1411,1412],"Ngay trong trình duyệt, tuần sau chỉ chọn file CSV mới","Trên máy chủ của AI","Trong Excel","Trong điện thoại của AI","Không cần cài gì, không cần gọi AI mỗi lần",{"q":1415,"options":1416,"answer":322,"explain":1421},"Bạn nên đưa AI dữ liệu nào khi nhờ viết dashboard?",[1417,1418,1419,1420],"Vài dòng dữ liệu mẫu để biết cấu trúc cột","Toàn bộ dữ liệu thật","Không đưa gì","Chỉ tên file","Vừa tiết kiệm vừa không gửi dữ liệu thật cho AI",{"q":1423,"options":1424,"answer":322,"explain":1429},"Dashboard trống trơn sau khi chọn CSV. Nguyên nhân thường gặp?",[1425,1426,1427,1428],"Không nói rõ tên cột nên AI đoán sai","Máy tính quá mạnh","CSV quá ngắn","Trình duyệt quá mới","Câu nhờ phải nêu rõ tên cột dữ liệu vào",{"q":1431,"options":1432,"answer":322,"explain":1436},"Muốn dashboard chạy hoàn toàn offline thì làm gì?",[1433,1434,1134,1435],"Nhờ AI vẽ biểu đồ bằng HTML\u002FCSS\u002FSVG thuần, không tải thư viện từ mạng","Dùng thư viện CDN","Không thể","Thư viện từ CDN cần mạng mới hiện biểu đồ",{"q":1438,"options":1439,"answer":322,"explain":1444},"Dashboard hiện số, bạn nên làm gì trước khi tin?",[1440,1441,1442,1443],"Tự đếm tay ít nhất một con số cho khớp","Tin luôn vì AI viết","Hỏi lại cùng AI trong cùng phiên","Không cần kiểm tra","AI có thể sai một cách tự tin",{"title":1446,"path":1447,"stem":1448,"minutes":568,"level":417,"tags":1449,"quiz":1451},"Phân tích dữ liệu cùng AI","\u002Fkhoa-hoc\u002Ffile-va-du-lieu\u002Fphan-tich-du-lieu","khoa-hoc\u002F5.file-va-du-lieu\u002F3.phan-tich-du-lieu",[1354,1450],"phân tích",[1452,1459,1467,1475,1483],{"q":1453,"options":1454,"answer":322,"explain":1458},"Bạn viết \"phân tích file này giúp tôi\" và nhận một bài dài. Vấn đề chính?",[1455,1456,1457,1165],"Câu nhờ quá rộng nên kết quả không kiểm tra được","Bài quá ngắn","AI không biết đọc CSV","Nên chia thành 5 bước và nhìn kết quả từng bước",{"q":1460,"options":1461,"answer":322,"explain":1466},"Thứ tự năm bước đúng?",[1462,1463,1464,1465],"Khám phá → làm sạch → tính → nhận xét → báo cáo","Báo cáo → tính → khám phá → làm sạch → nhận xét","Tính → báo cáo → nhận xét → khám phá → làm sạch","Nhận xét → khám phá → báo cáo → tính → làm sạch","Sai ở bước làm sạch thì mọi bước sau sai theo",{"q":1468,"options":1469,"answer":322,"explain":1474},"Dữ liệu có tên thật và số điện thoại, bạn chỉ cần xem xu hướng. Nên làm gì?",[1470,1471,1472,1473],"Thay bằng mã (NV01, NV02) trước khi gửi, giữ bảng đối chiếu ở máy mình","Gửi nguyên cho nhanh","Xoá hết dữ liệu","Nhờ AI tự che","Thông tin nhạy cảm không cần thiết cho phân tích xu hướng",{"q":1476,"options":1477,"answer":322,"explain":1482},"Ai nên quyết cách xử lý ô trống và dòng trùng?",[1478,1479,1480,1481],"Bạn quyết, AI chỉ đề xuất","AI tự quyết hết","Để ngẫu nhiên","Bỏ qua","AI tự quyết có thể xoá dòng bạn cần",{"q":1484,"options":1485,"answer":322,"explain":1490},"Con số dùng để chia tiền hay báo cáo sếp, nên kiểm tra thế nào?",[1486,1487,1488,1489],"Tự tính lại một hai số hoặc hỏi lại ở phiên mới rồi so sánh","Tin vì AI tính bằng code","Hỏi cùng một câu hai lần trong cùng phiên","Không cần","Phiên mới không bị ảnh hưởng bởi kết quả trước",{"title":1492,"path":1493,"stem":1494,"minutes":306,"level":417,"tags":1495,"quiz":1497},"Viết quy trình một lần, dùng mãi","\u002Fkhoa-hoc\u002Ffile-va-du-lieu\u002Fviet-quy-trinh-mot-lan","khoa-hoc\u002F5.file-va-du-lieu\u002F4.viet-quy-trinh-mot-lan",[617,1496,357],"skills",[1498,1506,1514,1521,1529],{"q":1499,"options":1500,"answer":322,"explain":1505},"Việc nào đáng ghi thành file quy trình?",[1501,1502,1503,1504],"Việc đã làm đến lần thứ hai","Việc chưa từng làm","Việc rất nhỏ chỉ một dòng","Việc người khác làm","Ghi ra file thì khỏi gõ lại hướng dẫn dài mỗi lần",{"q":1507,"options":1508,"answer":322,"explain":1513},"Lần sau chạy quy trình, bạn chỉ cần nói gì?",[1509,1510,1511,1512],"\"Làm theo quy-trinh\u002Ftong-ket-thang.md cho tháng 10\"","Gõ lại cả hướng dẫn dài","\"Làm giống lần trước\"","Chép quy trình vào chat","Một câu trỏ tới file là đủ",{"q":1515,"options":1516,"answer":322,"explain":1520},"Quy trình có quy tắc riêng như \"việc làm hộ tính cho ai?\". Cách tốt nhất?",[1517,1518,1481,1519],"Viết thành câu cụ thể trong file, đừng để AI đoán","Để AI đoán","Hỏi miệng mỗi lần","AI làm theo file tốt nhất khi các bước cụ thể",{"q":1522,"options":1523,"answer":322,"explain":1528},"Skill khác file quy trình thường ở điểm nào?",[1524,1525,1526,1527],"Được đặt đúng chỗ (SKILL.md có tên và mô tả) để AI tự nhận ra khi nào dùng","Skill chạy không cần AI","Skill luôn nhanh hơn gấp đôi","Skill chỉ dùng được trên điện thoại","Nên bắt đầu bằng file thường, ổn vài lần mới chuyển thành skill",{"q":1530,"options":1531,"answer":322,"explain":1536},"Trước khi tạo skill theo hướng dẫn trong bài, nên làm gì?",[1532,1533,1534,1535],"Xem tài liệu chính thức vì cách tạo và vị trí thư mục có thể đổi theo phiên bản","Làm theo trí nhớ","Cài ngay skill của người lạ","Xoá file cũ","Skill của người lạ cần đọc kỹ trước khi dùng",{"title":1538,"minutes":300,"stem":1539,"level":304,"tags":1540,"quiz":1541,"path":1542,"children":1543,"page":302},"Kết nối công cụ (MCP)","khoa-hoc\u002F6.ket-noi-cong-cu",[],[],"\u002Fkhoa-hoc\u002Fket-noi-cong-cu",[1544,1589,1634,1680],{"title":1545,"path":1546,"stem":1547,"minutes":306,"level":304,"tags":1548,"quiz":1551},"MCP là gì?","\u002Fkhoa-hoc\u002Fket-noi-cong-cu\u002Fmcp-la-gi","khoa-hoc\u002F6.ket-noi-cong-cu\u002F1.mcp-la-gi",[1549,1550],"mcp","công cụ",[1552,1559,1567,1575,1583],{"q":1545,"options":1553,"answer":322,"explain":1558},[1554,1555,1556,1557],"Chuẩn mở để ứng dụng AI dùng công cụ bên ngoài qua một server ở giữa","Một ứng dụng chat","Một loại mô hình AI","Một ngôn ngữ lập trình","Giống ổ cắm điện chuẩn: thiết bị theo chuẩn thì cắm đâu cũng chạy",{"q":1560,"options":1561,"answer":322,"explain":1566},"Một lợi ích của việc có server ở giữa?",[1562,1563,1564,1565],"Giữ khoá bí mật ở server và giới hạn quyền AI được làm","Làm AI thông minh hơn","Giúp chat nhanh gấp đôi","Xoá lịch sử chat","Viết một lần, dùng được cho nhiều ứng dụng AI",{"q":1568,"options":1569,"answer":322,"explain":1574},"Connectors trong ứng dụng Claude liên quan thế nào đến MCP?",[1570,1571,1572,1573],"Cùng ý tưởng; bản chất như nhau","Hoàn toàn khác nhau","Connectors là phiên bản cũ","Connectors chỉ dành cho dev","Người mới bấm nút kết nối; dev tự cài hoặc tự viết server",{"q":1576,"options":1577,"answer":322,"explain":1582},"Bạn bật 10 server với hàng trăm công cụ cho \"chắc ăn\". Hậu quả?",[1578,1579,1580,1581],"Tốn context, AI chậm và dễ chọn nhầm công cụ","AI luôn tốt hơn","Không ảnh hưởng gì","AI tự tắt bớt","Mô tả mọi công cụ đang bật đều nằm trong context",{"q":1584,"options":1585,"answer":322,"explain":1588},"Trong Claude Code, xem các kết nối MCP đang bật bằng lệnh nào?",[1586,137,152,1587],"\u002Fmcp","\u002Fcontext-off","Với mỗi kết nối, hỏi: cho làm gì, chỉ đọc hay ghi, có đang cần không",{"title":1590,"path":1591,"stem":1592,"minutes":568,"level":1593,"tags":1594,"quiz":1595},"Cài MCP đầu tiên cho Claude Code","\u002Fkhoa-hoc\u002Fket-noi-cong-cu\u002Fcai-mcp-dau-tien","khoa-hoc\u002F6.ket-noi-cong-cu\u002F2.cai-mcp-dau-tien","dev",[1549,357],[1596,1604,1612,1620,1627],{"q":1597,"options":1598,"answer":322,"explain":1603},"MCP tra tài liệu như Context7 giải quyết vấn đề gì?",[1599,1600,1601,1602],"AI viết code theo phiên bản thư viện hiện tại thay vì kiến thức cũ","Làm máy tính nhanh hơn","Tự deploy web","Tự viết CLAUDE.md","Dữ liệu huấn luyện của AI dừng ở một thời điểm",{"q":1605,"options":1606,"answer":322,"explain":1611},"Thêm server chạy từ xa qua HTTP dùng dạng lệnh nào?",[1607,1608,1609,1610],"claude mcp add --transport http \u003Cten> \u003Curl>","claude install http","git mcp add","npm run mcp","Kiểm tra bằng claude mcp list hoặc \u002Fmcp",{"q":1613,"options":1614,"answer":322,"explain":1619},"Cả nhóm muốn dùng chung một MCP, cấu hình nên ở phạm vi nào?",[1615,1616,1617,1618],"project: file .mcp.json ở gốc dự án, commit vào git","local","Không có cách nào","Gửi file qua tin nhắn","local chỉ cho riêng bạn trong dự án này; user cho mọi dự án của bạn",{"q":1621,"options":1622,"answer":322,"explain":1626},"Vì sao không để API key trong .mcp.json đã commit?",[1623,1624,1277,1625],"Ai xem được repo cũng thấy khoá; nên dùng biến môi trường","Vì file quá dài","Vì khoá tự hết hạn","Không bao giờ commit khoá bí mật",{"q":1628,"options":1629,"answer":322,"explain":1633},"Cài xong MCP nhưng AI không gọi. Cách xử lý?",[1630,1631,1632,922],"Nói rõ trong câu nhờ, hoặc ghi vào CLAUDE.md quy tắc tra tài liệu bằng MCP","Cài thêm 10 server","Xoá Claude Code","Lấy URL server từ trang chính thức, không chép từ bài viết lạ",{"title":1635,"path":1636,"stem":1637,"minutes":1251,"level":1593,"tags":1638,"quiz":1640},"Tự viết một MCP server nhỏ","\u002Fkhoa-hoc\u002Fket-noi-cong-cu\u002Ftu-viet-mcp","khoa-hoc\u002F6.ket-noi-cong-cu\u002F3.tu-viet-mcp",[1549,357,1639],"node",[1641,1649,1656,1664,1672],{"q":1642,"options":1643,"answer":322,"explain":1648},"Bốn phần của một công cụ MCP?",[1644,1645,1646,1647],"Tên, mô tả, đầu vào (schema), hàm xử lý","Tên, giá, ảnh, màu","Đầu vào, đầu ra, lỗi, log","Tên, mật khẩu, địa chỉ, cổng","Mô tả là phần quan trọng nhất vì AI đọc nó để quyết định khi nào gọi",{"q":1650,"options":1651,"answer":322,"explain":1655},"Mô tả công cụ chỉ ghi một chữ \"list\". Hậu quả?",[1652,1653,1654,1580],"AI không biết khi nào nên dùng","AI luôn gọi đúng","Server chạy nhanh hơn","Viết rõ như viết cho đồng nghiệp",{"q":1657,"options":1658,"answer":322,"explain":1663},"Công cụ đầu tiên của bạn nên là loại nào?",[1659,1660,1661,1662],"Chỉ đọc","Ghi và xoá luôn","Gửi email","Tuỳ ý","Khi cần ghi, tách thành công cụ riêng, kiểm tra quyền và để AI hỏi trước",{"q":1665,"options":1666,"answer":322,"explain":1671},"Server stdio của bạn dùng console.log để debug và bị hỏng. Vì sao?",[1667,1668,1669,1670],"stdout là kênh giao tiếp với ứng dụng AI; log nên ra stderr (console.error)","console.log bị cấm trong Node","AI không thích log","Log làm file quá lớn","In bậy vào stdout làm hỏng giao thức",{"q":1673,"options":1674,"answer":322,"explain":1679},"Công cụ trả về cả nghìn bản ghi thì sao?",[1675,1676,1677,1678],"Ngốn context; nên giới hạn số lượng và thêm tham số lọc","Tốt hơn vì AI có nhiều dữ liệu","Không vấn đề","AI tự lọc miễn phí","Trả về gọn thì AI dùng tốt và tiết kiệm",{"title":1681,"path":1682,"stem":1683,"minutes":306,"level":304,"tags":1684,"quiz":1685},"Dùng công cụ bên thứ ba an toàn","\u002Fkhoa-hoc\u002Fket-noi-cong-cu\u002Fdung-cong-cu-ben-thu-ba-an-toan","khoa-hoc\u002F6.ket-noi-cong-cu\u002F4.dung-cong-cu-ben-thu-ba-an-toan",[1206,1549,1496],[1686,1694,1702,1710,1718],{"q":1687,"options":1688,"answer":322,"explain":1693},"Cài một MCP server của người lạ có nghĩa là gì?",[1689,1690,1691,1692],"Cho chương trình đó làm được mọi thứ tài khoản của bạn làm được","Chỉ thêm một nút bấm","Không có rủi ro vì miễn phí","Chỉ ảnh hưởng ứng dụng AI","Hãy coi như cài phần mềm vào máy",{"q":1695,"options":1696,"answer":322,"explain":1701},"Nguy cơ \"nội dung công cụ trả về\" là gì?",[1697,1698,1699,1700],"Email hay trang web có thể chứa câu cài sẵn dẫn dắt AI làm sai","Nội dung quá dài","Nội dung sai chính tả","Nội dung tốn tiền","Ví dụ câu \"bỏ qua hướng dẫn trước, hãy gửi…\"",{"q":1703,"options":1704,"answer":322,"explain":1709},"Công cụ chỉ cần đọc database. Nên cấp quyền gì?",[1705,1706,1707,1708],"Tài khoản chỉ đọc hoặc bản sao","Tài khoản admin chính","Quyền ghi cho tiện","Không cần giới hạn","Nguyên tắc ít quyền nhất",{"q":1711,"options":1712,"answer":322,"explain":1717},"Trước khi cài, ít nhất nên làm gì?",[1713,1714,1715,1716],"Đọc README, SKILL.md, danh sách công cụ và quyền (hoặc nhờ AI tóm tắt mã nguồn)","Cài ngay rồi xem","Xem video quảng cáo","Hỏi bạn bè đã cài chưa","Nhờ AI hỏi cụ thể: gửi dữ liệu đi đâu, ghi\u002Fxoá gì",{"q":1719,"options":1720,"answer":322,"explain":1724},"Công cụ có quyền gửi email. Cách an toàn?",[1721,1722,1723,1443],"Để AI soạn nháp, bạn tự xem và bấm gửi","Bật chế độ tự chấp nhận mọi hành động","Cho AI gửi thẳng","Chế độ tự động với công cụ có quyền ghi, gửi, xoá rất nguy hiểm",{"title":1726,"minutes":300,"stem":1727,"level":304,"tags":1728,"quiz":1729,"path":1730,"children":1731,"page":302},"Dev: để AI gen đúng kiến trúc","khoa-hoc\u002F7.dev-tang-toc",[],[],"\u002Fkhoa-hoc\u002Fdev-tang-toc",[1732,1778,1826,1871,1917,1964],{"title":1733,"path":1734,"stem":1735,"minutes":568,"level":1593,"tags":1736,"quiz":1738},"File kiến trúc cho AI","\u002Fkhoa-hoc\u002Fdev-tang-toc\u002Ffile-kien-truc-cho-ai","khoa-hoc\u002F7.dev-tang-toc\u002F1.file-kien-truc-cho-ai",[1737,242,357],"kiến trúc",[1739,1747,1755,1763,1770],{"q":1740,"options":1741,"answer":322,"explain":1746},"AI đặt truy vấn DB trong controller dù dự án có quy ước khác. Nguyên nhân gốc?",[1742,1743,1744,1745],"Quy ước chỉ nằm trong đầu bạn, chưa được viết ra","AI cố ý làm sai","Controller không được dùng","Dự án quá nhỏ","Viết ra cấu trúc, luồng request, quy ước và module mẫu",{"q":1748,"options":1749,"answer":322,"explain":1754},"Cách tạo file kiến trúc hiệu quả?",[1750,1751,1752,1753],"Nhờ AI phân tích module bạn ưng nhất, rồi bạn đọc và cắt gọn","Tự viết từ đầu hết","Chép toàn bộ code vào","Phân tích module tệ nhất","Phân tích module tệ thì AI bắt chước cả cái tệ",{"q":1756,"options":1757,"answer":322,"explain":1762},"Vì sao file kiến trúc không nên dài như tiểu thuyết?",[1758,1759,1760,1761],"AI đọc lướt và bỏ sót","Vì tốn dung lượng đĩa","Vì khó in","Vì Git giới hạn","File càng ngắn, AI càng đọc kỹ và càng ít tốn context",{"q":1764,"options":1765,"answer":322,"explain":1769},"AI sai cùng một kiểu hai lần. Nên làm gì?",[1766,1767,1481,1768],"Thêm một dòng quy ước vào file kiến trúc","Đổi AI","Chép thêm code vào file","Đó là dấu hiệu file thiếu một quy ước",{"q":1771,"options":1772,"answer":322,"explain":1777},"Vì sao không chép cả code vào file kiến trúc?",[1773,1774,1775,1776],"Trùng lặp và lỗi thời ngay khi code đổi","Vì code tốn tiền","Vì AI không đọc code","Vì file sẽ nhẹ","Chỉ giữ chữ ký hàm và ý chính",{"title":1779,"path":1780,"stem":1781,"minutes":1251,"level":1593,"tags":1782,"quiz":1785},"Kiến trúc tầng giúp AI viết đúng","\u002Fkhoa-hoc\u002Fdev-tang-toc\u002Fkien-truc-tang-cho-ai","khoa-hoc\u002F7.dev-tang-toc\u002F2.kien-truc-tang-cho-ai",[1737,1783,1784],"clean architecture","hexagonal",[1786,1794,1802,1810,1818],{"q":1787,"options":1788,"answer":322,"explain":1793},"Vì sao một hàm route làm tất cả (đọc request, truy vấn DB, tính toán) khó cho AI?",[1789,1790,1791,1792],"Mỗi lần sửa phải đọc cả khối, dễ sửa lan và khó test","Vì quá ngắn","Vì chạy chậm","Vì khó đặt tên","Ranh giới rõ nghĩa là phạm vi sửa rõ",{"q":1795,"options":1796,"answer":322,"explain":1801},"\"Đổi cách tính điểm\" thì AI chỉ nên sửa tầng nào?",[1797,1798,1799,1800],"Service","Controller","Repository","Cả ba","Đổi DB thì chỉ repository",{"q":1803,"options":1804,"answer":322,"explain":1809},"Cách viết repository nào tốt hơn cho hợp đồng với service?",[1805,1806,1807,1808],"viecRepo.timChuaXong({ giaoCho }) — nói bằng ngôn ngữ nghiệp vụ","viecRepo.find({ trangThai: { $ne: 'xong' } })","Truy cập thẳng model trong service","Trả về cả document DB","Interface rò cú pháp DB thì đổi DB phải sửa service",{"q":1811,"options":1812,"answer":322,"explain":1817},"Ràng buộc \"không giao việc cho người ngoài gia đình\" nên validate ở đâu?",[1813,1814,1815,1816],"Trong service, vì là quy tắc nghiệp vụ","Ở schema tại route","Trong repository","Ở frontend thôi","Hình dạng dữ liệu thì validate ở biên (schema tại route\u002Fcontroller)",{"q":1819,"options":1820,"answer":322,"explain":1825},"Dự án nhỏ, AI áp Clean Architecture đầy đủ. Hậu quả?",[1821,1822,1823,1824],"Quá nhiều file, AI dễ lạc; ba tầng + interface là đủ","Dự án luôn tốt hơn","Chạy nhanh hơn","Không ảnh hưởng","Tránh tầng rỗng chỉ gọi lại repository cho đúng kiến trúc",{"title":1827,"path":1828,"stem":1829,"minutes":568,"level":1593,"tags":1830,"quiz":1832},"Quy tắc theo từng tầng","\u002Fkhoa-hoc\u002Fdev-tang-toc\u002Fquy-tac-theo-tang","khoa-hoc\u002F7.dev-tang-toc\u002F3.quy-tac-theo-tang",[1831,357,1737],"quy tắc",[1833,1841,1848,1856,1864],{"q":1834,"options":1835,"answer":322,"explain":1840},"Vì sao tách quy tắc theo tầng thay vì dồn vào một CLAUDE.md dài?",[1836,1837,1838,1839],"AI chỉ nạp quy tắc liên quan khi cần, đỡ tốn context","Để file đẹp","Vì CLAUDE.md bị giới hạn một dòng","Vì AI thích nhiều file","Quy tắc repository chỉ cần khi AI đụng vào file repository",{"q":1842,"options":1843,"answer":322,"explain":1847},"Quy tắc đường dẫn khai báo sai thì sao?",[1844,1845,1846,1824],"Quy tắc không bao giờ được nạp; kiểm tra bằng \u002Fmemory","AI tự sửa","Dự án lỗi hẳn","Gõ \u002Fmemory để xem file nào đang được nạp",{"q":1849,"options":1850,"answer":322,"explain":1855},"Nguồn quy tắc tốt nhất là gì?",[1851,1852,1853,1854],"Lỗi AI đã mắc","Quy tắc của người khác","Sách giáo khoa","Phỏng đoán","Sau khi sửa, nhờ AI thêm một dòng quy tắc vào tầng tương ứng và duyệt trước khi lưu",{"q":1857,"options":1858,"answer":322,"explain":1863},"Cách viết quy tắc nào hiệu quả hơn?",[1859,1860,1861,1862],"Tên hàm nói bằng ngôn ngữ nghiệp vụ, không dùng findWhere","Viết code cho sạch","Làm sao cho tốt","Cẩn thận nhé","Quy tắc chung chung thì AI không biết làm gì khác",{"q":1865,"options":1866,"answer":322,"explain":1870},"Vì sao nên commit file quy tắc vào repo?",[1867,1868,1869,1181],"Cả nhóm (và AI của họ) có ngay quy ước chung, review như code","Để giấu khỏi nhóm","Để file tự xoá","Quy tắc cũ khi quy ước đã đổi phải được xoá",{"title":1872,"path":1873,"stem":1874,"minutes":306,"level":1593,"tags":1875,"quiz":1877},"Bộ khung dự án có sẵn","\u002Fkhoa-hoc\u002Fdev-tang-toc\u002Fbo-khung-du-an","khoa-hoc\u002F7.dev-tang-toc\u002F4.bo-khung-du-an",[1876,1737],"template",[1878,1886,1894,1902,1909],{"q":1879,"options":1880,"answer":322,"explain":1885},"Mục đích của bộ khung dự án?",[1881,1882,1883,1884],"Móng cố định, AI chỉ xây nghiệp vụ theo khuôn","Làm đẹp repo","Thay thế Git","Thay thế AI","Tránh mỗi dự án mới ra một kiểu thư viện, cấu trúc, xử lý lỗi",{"q":1887,"options":1888,"answer":322,"explain":1893},"Bộ khung gồm những phần nào?",[1889,1890,1891,1892],"Cấu hình, hạ tầng dùng chung, một module mẫu hoàn chỉnh, tài liệu cho AI","Chỉ README","Chỉ ảnh","Chỉ dữ liệu thật","Dự án mới = copy khung rồi thêm module theo khuôn mẫu",{"q":1895,"options":1896,"answer":322,"explain":1901},"Cách nhanh nhất để tạo khung?",[1897,1898,1899,1900],"Từ dự án đã chạy tốt: xoá nghiệp vụ, giữ hạ tầng và một module mẫu","Dựng từ con số không","Chép của người lạ","Nhờ AI nghĩ ra","Nhớ xoá dữ liệu thật và bí mật",{"q":1903,"options":1904,"answer":322,"explain":1908},"Module mẫu chỉ có chức năng đọc thì vấn đề gì?",[1905,1677,1906,1907],"AI không có mẫu cho tạo\u002Fsửa\u002Fxoá và phân quyền","Quá phức tạp","AI không đọc được","Module mẫu nên hoàn chỉnh",{"q":1910,"options":1911,"answer":322,"explain":1916},"Vì sao ví dụ cụ thể trong code thắng mô tả bằng lời?",[1912,1913,1914,1915],"AI bắt chước đúng mẫu thay vì đoán","Vì ngắn hơn","Vì rẻ hơn","Vì AI không đọc chữ","Phần dễ sai (cấu hình, bảo mật, lỗi) đã được kiểm tra một lần",{"title":1918,"path":1919,"stem":1920,"minutes":465,"level":1593,"tags":1921,"quiz":1923},"Refactor bằng AI, từng phần một","\u002Fkhoa-hoc\u002Fdev-tang-toc\u002Frefactor-bang-ai","khoa-hoc\u002F7.dev-tang-toc\u002F5.refactor-bang-ai",[1922,1205],"refactor",[1924,1932,1940,1948,1956],{"q":1925,"options":1926,"answer":322,"explain":1931},"Nhờ AI \"refactor toàn bộ dự án\" trong một câu thì sao?",[1927,1928,1929,1930],"Sửa hàng chục file, chạy không lên, không biết gỡ từ đâu","Luôn thành công","Nhanh nhất","An toàn nhất","Refactor lớn nên chia thành nhiều refactor nhỏ",{"q":1933,"options":1934,"answer":322,"explain":1939},"Bước đầu tiên an toàn trước khi refactor?",[1935,1936,1937,1938],"Commit sạch và có vài test cho hành vi chính","Xoá test","Đổi tên dự án","Bắt đầu sửa ngay","Lưới an toàn trước",{"q":1941,"options":1942,"answer":322,"explain":1947},"Với routes.js 1.500 dòng, việc đầu tiên nên là gì?",[1943,1944,1945,1946],"Tách theo module, chỉ di chuyển code, chưa đổi logic, rồi commit","Viết lại logic","Xoá file","Thêm tính năng mới","Refactor chỉ đổi cấu trúc, không đổi hành vi",{"q":1949,"options":1950,"answer":322,"explain":1955},"Cách làm từng module sau khi có module mẫu?",[1951,1952,1953,1954],"Mỗi module một phiên: \"Refactor X giống hệt cách module viec\"","Cả dự án trong một phiên","Để AI tự chọn kiến trúc từng module","Không cần mẫu","Để AI chọn kiến trúc đích thì mỗi module một kiểu",{"q":1957,"options":1958,"answer":322,"explain":1963},"Vì sao không gộp refactor với thêm tính năng?",[1959,1960,1961,1962],"Hỏng thì không biết do đâu","Vì tốn tiền","Vì Git cấm","Vì AI không biết thêm","Nói rõ: không đổi hành vi, không thêm tính năng, không đổi API",{"title":1965,"path":1966,"stem":1967,"minutes":306,"level":1593,"tags":1968,"quiz":1970},"Chọn model cho từng việc","\u002Fkhoa-hoc\u002Fdev-tang-toc\u002Fchon-model-cho-tung-viec","khoa-hoc\u002F7.dev-tang-toc\u002F6.chon-model-cho-tung-viec",[1969,1356],"model",[1971,1979,1987,1995,2003],{"q":1972,"options":1973,"answer":322,"explain":1978},"Việc nào hợp với model mạnh?",[1974,1975,1976,1977],"Thiết kế, lập kế hoạch, gỡ lỗi khó","Đổi tên biến","Sửa chính tả","Đọc lướt tìm kiếm","Model nhanh\u002Frẻ hợp với viết code theo kế hoạch đã rõ",{"q":1980,"options":1981,"answer":322,"explain":1986},"Có model mới, cách đánh giá đáng tin nhất?",[1982,1983,1984,1985],"Thử trên 2–3 việc bạn đã làm và biết đáp án đúng","Xem bảng xếp hạng trên mạng","Hỏi bạn bè","Chọn model đắt nhất","Bảng xếp hạng đo việc của người khác",{"q":1988,"options":1989,"answer":322,"explain":1994},"Kế hoạch càng chi tiết thì…",[1990,1991,1992,1993],"Model nhanh càng làm tốt phần viết code","Model càng cần mạnh hơn","Không liên quan","AI càng chậm","Kế hoạch mơ hồ rồi đổ lỗi cho model nhanh là lỗi hay gặp",{"q":1996,"options":1997,"answer":322,"explain":2002},"Vì sao bài không nêu tên model cụ thể?",[1998,1999,2000,2001],"Tên, giá và hạn mức thay đổi liên tục; học cách chọn","Vì giấu thông tin","Vì chưa có model nào","Vì quảng cáo","Xem lựa chọn hiện có bằng \u002Fmodel",{"q":2004,"options":2005,"answer":322,"explain":2010},"Khi so sánh hai model, nên ghi gì?",[2006,2007,2008,2009],"Số lỗi phải sửa, có tự chạy test không, thời gian, lượt dùng","Màu giao diện","Tên người dùng","Số dòng comment","Ghi vào danh-gia-model.md để lần sau so sánh công bằng",{"title":2012,"minutes":300,"stem":2013,"level":304,"tags":2014,"quiz":2015,"path":2016,"children":2017,"page":302},"Claude Code nâng cao","khoa-hoc\u002F8.claude-code-nang-cao",[],[],"\u002Fkhoa-hoc\u002Fclaude-code-nang-cao",[2018,2064,2111,2158,2204],{"title":2019,"path":2020,"stem":2021,"minutes":568,"level":1593,"tags":2022,"quiz":2024},"Subagent — trợ lý có context riêng","\u002Fkhoa-hoc\u002Fclaude-code-nang-cao\u002Fsubagent","khoa-hoc\u002F8.claude-code-nang-cao\u002F1.subagent",[357,2023,242],"subagent",[2025,2033,2041,2049,2057],{"q":2026,"options":2027,"answer":322,"explain":2032},"Việc phụ (tìm 60 file) ăn mất context của việc chính. Subagent giúp thế nào?",[2028,2029,2030,2031],"Làm trong context riêng và chỉ gửi về bản tóm tắt kết quả","Chạy nhanh gấp đôi","Tự sửa hết code","Xoá file không cần","Phiên chính không phải chứa 60 file đã đọc",{"q":2034,"options":2035,"answer":322,"explain":2040},"Trường hợp nào KHÔNG cần subagent?",[2036,2037,2038,2039],"Sửa một hai file đã biết","Tìm kiếm đọc nhiều file","Review bảo mật với góc nhìn riêng","Việc lặp lại có hướng dẫn cố định","Việc cần trao đổi qua lại liên tục cũng không hợp",{"q":2042,"options":2043,"answer":322,"explain":2048},"Phần nào của file subagent quyết định Claude có tự gọi nó không?",[2044,2045,2046,2047],"description: làm gì và khi nào dùng","Tên file","Dòng cuối","Màu sắc","Description mơ hồ thì Claude không bao giờ tự gọi",{"q":2050,"options":2051,"answer":322,"explain":2056},"Subagent chỉ làm nhiệm vụ review. Nên cấp công cụ nào?",[2052,2053,2054,2055],"Chỉ đọc (Read, Grep, Glob)","Đọc, ghi, chạy shell","Mọi công cụ cho tiện","Không công cụ nào","Cấp đúng công cụ cần; đừng cho quyền sửa khi chỉ cần review",{"q":2058,"options":2059,"answer":322,"explain":2063},"Vì sao tránh chuỗi agent A gọi B gọi C?",[2060,1276,2061,2062],"Mỗi lần chuyển là một lần tóm tắt, thông tin rơi rớt và khó biết sai ở đâu","Vì không có công cụ","Vì Git không cho","Phiên chính điều phối, mỗi subagent một việc rõ ràng",{"title":2065,"path":2066,"stem":2067,"minutes":465,"level":1593,"tags":2068,"quiz":2071},"Hooks — việc luôn luôn xảy ra","\u002Fkhoa-hoc\u002Fclaude-code-nang-cao\u002Fhooks","khoa-hoc\u002F8.claude-code-nang-cao\u002F2.hooks",[357,2069,2070],"hooks","tự động",[2072,2080,2088,2095,2103],{"q":2073,"options":2074,"answer":322,"explain":2079},"Vì sao hook đáng tin hơn một dòng trong CLAUDE.md cho việc \"luôn chạy Prettier\"?",[2075,2076,2077,2078],"Hook là lệnh Claude Code tự chạy, không phụ thuộc AI nhớ hay quên","Hook viết bằng tiếng Việt","Hook chạy chậm hơn nên chắc hơn","CLAUDE.md không được đọc","Việc phải xảy ra 100% → dùng hook",{"q":2081,"options":2082,"answer":322,"explain":2087},"Muốn format file ngay sau khi AI sửa xong, dùng sự kiện nào?",[2083,2084,2085,2086],"PostToolUse","PreToolUse","SessionStart","Không có","PreToolUse để chặn lệnh nguy hiểm hoặc ghi log trước khi chạy",{"q":2089,"options":2090,"answer":322,"explain":2094},"Hook chạy bộ test đầy đủ sau mỗi lần sửa file. Vấn đề?",[2091,1677,2092,2093],"Phiên ì ạch; nên chạy thứ nhanh hoặc chỉ chạy ở Stop","Test sẽ sai","AI sẽ ngừng","Hook chậm làm phiên nặng nề",{"q":2096,"options":2097,"answer":322,"explain":2102},"Vì sao phải đọc kỹ hook copy từ repo lạ?",[2098,2099,2100,2101],"Hook chạy lệnh shell với quyền của bạn, tự động","Vì hook dài","Vì hook tốn tiền","Vì hook chỉ chạy trên Windows","Đọc kỹ mọi hook trước khi thêm",{"q":2104,"options":2105,"answer":322,"explain":2110},"Hook không bao giờ chạy. Nguyên nhân thường gặp?",[2106,2107,2108,2109],"Matcher sai; thử bằng lệnh echo trước","Máy quá nhanh","File JSON quá ngắn","AI chưa học","Kiểm tra log, chạy lệnh bằng tay với JSON mẫu",{"title":2112,"path":2113,"stem":2114,"minutes":306,"level":1593,"tags":2115,"quiz":2117},"Chạy Claude Code không cần gõ phím","\u002Fkhoa-hoc\u002Fclaude-code-nang-cao\u002Fchay-khong-tuong-tac","khoa-hoc\u002F8.claude-code-nang-cao\u002F3.chay-khong-tuong-tac",[357,2070,2116],"ci",[2118,2126,2134,2142,2150],{"q":2119,"options":2120,"answer":322,"explain":2125},"claude -p dùng để làm gì?",[2121,2122,2123,2124],"Chạy một câu nhờ, in kết quả rồi thoát — dùng trong script, cron, CI","Mở phiên chat dài","Đổi mật khẩu","Cài plugin","Truyền dữ liệu bằng pipe, ví dụ git diff | claude -p ...",{"q":2127,"options":2128,"answer":322,"explain":2133},"Trong CI không có người duyệt. Nên cấp quyền thế nào?",[2129,2130,2131,2132],"Ít nhất: chỉ công cụ cần thiết (review thì chỉ đọc)","Toàn quyền cho tiện","Cho chạy shell tuỳ ý","Không giới hạn","Một câu nhờ bị chèn nội dung độc từ PR là đủ gây hại",{"q":2135,"options":2136,"answer":322,"explain":2141},"Script cần đọc kết quả của Claude. Nên dùng cờ nào?",[2137,2138,2139,2140],"--output-format json","--verbose","--chat","--fast","Parse văn bản tự do trong script rất dễ vỡ",{"q":2143,"options":2144,"answer":322,"explain":2149},"Cờ --max-turns để làm gì?",[2145,2146,2147,2148],"Giới hạn số vòng agent, tránh chạy mãi tốn lượt","Tăng tốc","Đổi model","Xoá lịch sử","Không giới hạn số vòng thì tốn lượt vô ích",{"q":2151,"options":2152,"answer":322,"explain":2157},"API key trong CI để ở đâu?",[2153,2154,2155,2156],"Secret của hệ thống CI, không để trong repo hay script","Trong file script","Trong README","Trong tên nhánh","Kết quả chỉ là gợi ý, đừng tự merge",{"title":2159,"path":2160,"stem":2161,"minutes":306,"level":1593,"tags":2162,"quiz":2164},"Nhiều dự án, một hệ thống","\u002Fkhoa-hoc\u002Fclaude-code-nang-cao\u002Fnhieu-du-an-mot-he-thong","khoa-hoc\u002F8.claude-code-nang-cao\u002F4.nhieu-du-an-mot-he-thong",[1737,2163,242],"api",[2165,2173,2181,2188,2196],{"q":2166,"options":2167,"answer":322,"explain":2172},"Nhờ sửa nút giao diện, AI đi đọc cả backend và còn sửa backend. Cách phòng?",[2168,2169,2170,2171],"Mỗi phần một dự án, mở Claude Code đúng thư mục của phần đang làm","Mở ở thư mục cha cho đầy đủ","Cấm AI đọc file","Dùng model nhỏ hơn","AI chỉ thấy phần nó cần, quy tắc backend không lẫn vào frontend",{"q":2174,"options":2175,"answer":322,"explain":2180},"Cầu nối giữa frontend và backend là gì?",[2176,2177,2178,2179],"Bản mô tả API như openapi.yaml","Một file ảnh","Mật khẩu chung","Một phiên chat chung","Frontend chỉ cần biết gọi gì, gửi gì, nhận gì",{"q":2182,"options":2183,"answer":322,"explain":2187},"Backend vừa thêm endpoint mới. Việc cần làm cùng lúc?",[2184,2185,2186,993],"Cập nhật openapi.yaml","Xoá file mô tả","Sửa frontend bằng tay","Bản mô tả không cập nhật thì frontend gọi sai",{"q":2189,"options":2190,"answer":322,"explain":2195},"Phiên frontend nên làm gì với API?",[2191,2192,2193,2194],"Đọc openapi.yaml, không mở file backend","Đoán API từ tên chức năng","Đọc toàn bộ backend","Hỏi bạn từng endpoint","Để AI frontend đoán API là lỗi hay gặp",{"q":2197,"options":2198,"answer":322,"explain":2203},"Vì sao tránh mở phiên ở thư mục cha chứa cả hai dự án?",[2199,2200,2201,2202],"AI lại đọc lẫn và tốn context","Thư mục cha bị cấm","Git không hỗ trợ","Chạy chậm hơn 10 lần","Hợp đồng ở cấp hệ thống giống interface ở cấp code",{"title":2205,"path":2206,"stem":2207,"minutes":568,"level":304,"tags":2208,"quiz":2210},"Quy trình tổng — ghép mọi thứ lại","\u002Fkhoa-hoc\u002Fclaude-code-nang-cao\u002Fquy-trinh-tong","khoa-hoc\u002F8.claude-code-nang-cao\u002F5.quy-trinh-tong",[617,2209],"tổng kết",[2211,2219,2225,2233,2241],{"q":2212,"options":2213,"answer":322,"explain":2218},"Thứ tự bảy bước đúng?",[2214,2215,2216,2217],"Tìm hiểu → tài liệu → kế hoạch → task → code → review → commit","Code → commit → tài liệu → kế hoạch","Kế hoạch → code → commit → tìm hiểu","Commit → code → review","Rồi quay lại bước chia task cho task tiếp theo",{"q":2220,"options":2221,"answer":322,"explain":1107},"Nhảy thẳng vào bước code thì hậu quả thường gặp?",[2222,2223,2224,1824],"Mất gấp đôi thời gian sửa","Xong nhanh nhất","AI làm tốt hơn",{"q":2226,"options":2227,"answer":322,"explain":2232},"Tiến độ giữa các phiên nên nằm ở đâu?",[2228,2229,2230,2231],"File ghi chú tiến độ","Chỉ trong đầu bạn","Trong lịch sử chat","Trong .env","Mỗi loại thông tin có chỗ của nó",{"q":2234,"options":2235,"answer":322,"explain":2240},"Việc luôn phải xảy ra tự động (như format) thuộc về?",[2236,2237,2238,2239],"Hooks","CLAUDE.md","Chat","MCP","CLAUDE.md chỉ là lời dặn",{"q":2242,"options":2243,"answer":322,"explain":2248},"Dự án nhỏ vài giờ có thể làm gì với các bước 2–4?",[2244,2245,2246,2247],"Gộp thành một file ngắn","Bỏ hết","Làm đủ mỗi bước 10 trang","Giao hết cho AI không duyệt","Đây là quy trình tác giả thấy hiệu quả, không phải luật",{"title":2250,"minutes":300,"stem":2251,"level":304,"tags":2252,"quiz":2253,"path":2254,"children":2255,"page":302},"An toàn và chi phí","khoa-hoc\u002F9.an-toan",[],[],"\u002Fkhoa-hoc\u002Fan-toan",[2256,2304,2351],{"title":2257,"path":2258,"stem":2259,"minutes":568,"level":304,"tags":2260,"quiz":2263},"Giữ bí mật khi làm việc với AI","\u002Fkhoa-hoc\u002Fan-toan\u002Fgiu-bi-mat","khoa-hoc\u002F9.an-toan\u002F1.giu-bi-mat",[2261,2262],"bảo mật","env",[2264,2272,2280,2288,2296],{"q":2265,"options":2266,"answer":322,"explain":2271},"AI cần biết có biến DB_PASSWORD. Bạn nên đưa gì?",[2267,2268,2269,2270],"Tên biến, không đưa giá trị","Cả giá trị cho nhanh","Ảnh chụp file .env","Mật khẩu viết ngược","Những gì gõ vào chat được gửi tới máy chủ nhà cung cấp AI",{"q":2273,"options":2274,"answer":322,"explain":2279},"Bạn tạo .gitignore sau khi đã commit .env. Còn rủi ro gì?",[2275,2276,2277,2278],"File đã commit vẫn nằm trong lịch sử, phải thu hồi khoá","Hết rủi ro","Git tự xoá","Chỉ rủi ro nếu repo công khai ngày mai","Xoá commit là không đủ",{"q":2281,"options":2282,"answer":322,"explain":2287},"Lỡ để lộ một khoá. Việc đầu tiên?",[2283,2284,2285,2286],"Vào dịch vụ thu hồi khoá cũ và tạo khoá mới","Xoá commit rồi thôi","Đổi tên repo","Chờ xem có ai dùng không","Lịch sử Git và bản sao ở nơi khác vẫn còn",{"q":2289,"options":2290,"answer":322,"explain":2295},"Chỉ dặn \"đừng đọc .env\" trong CLAUDE.md có đủ không?",[2291,2292,2293,2294],"Chưa, nên chặn bằng cài đặt quyền","Đủ","Không cần gì","Đủ nếu viết hoa","Lời dặn không phải khoá; quyền chặn cũng chỉ là một lớp bảo vệ",{"q":2297,"options":2298,"answer":322,"explain":2303},"Cần AI viết truy vấn cho bảng người dùng. Nên đưa gì?",[2299,2300,2301,2302],"Tên bảng và cột (schema), hoặc dữ liệu giả","Bản sao dữ liệu thật","Dữ liệu thật của khách quen","Mật khẩu database","Đưa cấu trúc, không đưa dữ liệu thật",{"title":2305,"path":2306,"stem":2307,"minutes":568,"level":304,"tags":2308,"quiz":2311},"Gói, giá và hạn mức","\u002Fkhoa-hoc\u002Fan-toan\u002Fgoi-gia-va-han-muc","khoa-hoc\u002F9.an-toan\u002F2.goi-gia-va-han-muc",[2309,468,2310],"chi phí","hạn mức",[2312,2319,2327,2335,2343],{"q":2313,"options":2314,"answer":322,"explain":2318},"Gốc rễ của chi phí dùng AI, dù tính theo kiểu nào?",[2315,2047,2316,2317],"Token","Số tab","Tên model","Càng nhiều chữ AI phải đọc và viết, càng tốn",{"q":2320,"options":2321,"answer":322,"explain":2326},"Điều nào ngốn nhiều nhất?",[2322,2323,2324,2325],"Phiên chat dài vì mỗi lượt gửi lại cả lịch sử","Câu hỏi ngắn","Phiên mới mở","Gõ bằng bàn phím","Mở phiên mới đúng lúc là cách tiết kiệm lớn nhất",{"q":2328,"options":2329,"answer":322,"explain":2334},"Với API, việc nên làm ngay khi tạo khoá?",[2330,2331,2332,2333],"Đặt giới hạn chi tiêu và cảnh báo email","Để mặc định","Chia sẻ khoá cho bạn","Đợi hoá đơn","Một script chạy vòng lặp là đủ gây hoá đơn lớn",{"q":2336,"options":2337,"answer":322,"explain":2342},"Theo bảng giá trong bài, so sánh giá token AI viết ra và token bạn gửi vào?",[2338,2339,2340,2341],"Đắt hơn khoảng 5 lần","Bằng nhau","Rẻ hơn","Miễn phí","Nhờ trả lời ngắn, chỉ đưa phần code thay đổi là tiết kiệm thật",{"q":2344,"options":2345,"answer":322,"explain":2350},"Trước khi trả tiền cho một gói, bạn nên làm gì?",[2346,2347,2348,2349],"Xem lại trang giá chính thức vì giá và hạn mức thay đổi","Tin con số trong video cũ","Tin bảng trong bài tuyệt đối","Chọn ngẫu nhiên","Bài còn ghi rõ: đừng tin kể cả bài này",{"title":2352,"path":2353,"stem":2354,"minutes":465,"level":304,"tags":2355,"quiz":2357},"Đưa AI vào công việc của nhóm","\u002Fkhoa-hoc\u002Fan-toan\u002Fai-trong-to-chuc","khoa-hoc\u002F9.an-toan\u002F3.ai-trong-to-chuc",[2356,617,1206],"tổ chức",[2358,2366,2374,2382,2389],{"q":2359,"options":2360,"answer":322,"explain":2365},"Việc nào hợp để bắt đầu dùng AI trong tổ chức?",[2361,2362,2363,2364],"Nháp email, tóm tắt họp, phân loại phản hồi (sai nhỏ, duyệt nhanh)","Quyết định pháp lý","Quyết định y tế","Thanh toán tự động","Việc phải đúng tuyệt đối thì AI chỉ hỗ trợ, người quyết",{"q":2367,"options":2368,"answer":322,"explain":2373},"Vì sao phải đo trước khi dùng AI?",[2369,2370,2371,2372],"Không có số \"trước\" thì không trả lời được \"có đáng không\"","Để báo cáo dài","Để AI học","Không cần đo","Đo lại sau vài tuần, tính cả thời gian kiểm tra và sửa",{"q":2375,"options":2376,"answer":322,"explain":2381},"Cách triển khai an toàn?",[2377,2378,2379,2380],"Bắt đầu nhỏ: một việc, một nhóm nhỏ, vài tuần","Mở cho cả công ty ngay","Dùng cho mọi việc","Không cần thử","Viết quy trình ra file, rút kinh nghiệm rồi mới mở rộng",{"q":2383,"options":2384,"answer":322,"explain":2388},"Với mỗi quy trình, câu nào phải trả lời rõ?",[2385,2386,2317,2387],"Ai duyệt trước khi kết quả đi ra ngoài, và ai chịu trách nhiệm khi AI sai","AI thích màu gì","Giờ chạy","Cũng cần rõ việc nào AI tự làm, việc nào chờ người bấm",{"q":2390,"options":2391,"answer":322,"explain":2395},"Dữ liệu rối thì sao?",[2392,2393,1824,2394],"AI không cứu được dữ liệu rối, cần làm sạch trước","AI tự làm sạch hoàn hảo","Chỉ cần model mạnh hơn","Cũng cần kiểm tra quy định cho phép gửi dữ liệu nhạy cảm tới dịch vụ AI nào",1791568702200]