Phương pháp mới trong việc tiếp cận tri thức cùng AI
(Mình sẽ viết phần ví dụ thực hành ở nửa cuối, nếu các bạn cảm thấy phần lý thuyết khó hiểu thì có thể bỏ qua, đọc phần thực hành trước rồi quay lại đọc lý thuyết sau)
Trước đây, chúng ta làm việc dựa vào Google, StackoverFlow, sau khi nhận task, các mảnh thông tin sẽ được tìm kiếm từ internet và ghép nối. Sau đó chúng ta áp dụng để giải quyết công việc đầu vào. Tuy nhiên khi AI ra đời, chúng rất mạnh trong việc tìm kiếm và tổng hợp thông tin, vì vậy, cách làm cũ của chúng ta không còn hiệu quả nữa. Trong mô hình mới, chúng ta tập trung vào việc mô tả yêu cầu, bối cảnh của bài toán. Sau khi nhận được phản hồi, chúng ta đánh giá tính phù hợp, phát hiện sai sót, yêu cầu AI hiệu chỉnh.
Mô hình làm việc cũ: Phân tích yêu cầu -> tìm kiếm tổng hợp thông tin -> Áp dụng.
Mô hình làm việc mới: Hiểu yêu cầu -> Mô tả cho AI hiểu và đưa ra gợi ý -> Nhận phản hồi -> Đánh giá kết quả của AI.
Khi cách làm việc thay đổi, cách học theo cũng phải đổi theo. Cụ thể như sau:
- Mô hình cũ: Lập trình viên cần phải đọc, nhớ các chi tiết của tri thức, giải pháp.
- Mô hình mới: Tập trung vào nắm được bản chất, mối liên hệ giữa các tri thức, giới hạn của giải pháp.
Ngoài ra để tận dụng hết sức mạnh của AI trong việc rút ngắn thời gian học, chúng ta cần áp dụng 3 tư tưởng sau:
- Tập trung vào học bản chất, cấu trúc, logic lõi của tri thức. Trong cuộc hội thoại với AI khi học, cần phải trả lời những câu hỏi sau: Tri thức đó ra đời để giải quyết bài toán gì, ưu nhược điểm ra sao, mối quan hệ của nó với những tri thức khác liên quan.
- Nhìn tổng thể rồi chọn đi sâu có chủ đích: Yêu cầu AI đưa ra bức tranh tổng thể của tri thức đó cùng với những tri thức khác liên quan, mối quan hệ giữa chúng. Yêu cầu AI đưa ra tóm tắt những ý chính của tri thức mới. Chúng ta sẽ đánh giá và đưa ra yêu cầu đào sâu hơn về những ý quan trọng với chúng ta.
- Xuyên suốt quá trình học, liên tục tái cấu trúc hệ thống tri thức mới. Vẽ ra sơ đồ dạng đồ thị, bào gồm các node kiến thức, mối quan hệ giữa chúng với nhau và với các node tri thức cũ ở trong đầu.
Cuộc hội thoại với AI cần đảm được các tiêu chí trong checklist sau:
- Xác định mục tiêu rõ ràng: Là để áp dụng? Để so sánh? Hay chỉ để biết thêm?
- Truy vấn bản chất & lý do tồn tại: Người học phải hỏi những câu Prompt như sau:
- Cái này được sinh ra để giải quyết bài toán gì?
- Nó đang cố khắc phục nhược điểm của giải pháp nào trước đó?
- Tại sao người ta lại cần nó, chứ không dùng cách khác?
- Yêu cầu AI trình bày tổng thể: Cho tôi sơ đồ các nhánh kiến thức chính, kèm vai trò của từng phần.
- Chọn một nhánh hoặc điểm mù để đào sâu có chủ đích: Phần này tao chưa hiểu, mày đào sâu giúp -> Không đào theo kiểu lan man toàn diện.
- Đưa ra ý hiểu, yêu cầu AI phản biện: Tính năng con trỏ tao đang hiểu là như thế này.... Mày đánh giá xem đúng không?
- Yêu cầu AI phản biện hoặc đặt câu hỏi lại cho mình: Mày hãy đóng vai người phỏng vấn và phỏng vấn tao về phần tao vừa học đi -> Dùng để phát hiện hiểu sai hoặc hiểu chưa đủ tầng Bloom.
Phần thực hành. Học ngôn ngữ lập trình C cùng AI.
Sau đây là thứ tự các câu lệnh Prompt:
- Là một sinh viên ngành điện tử viễn thông, ra trường tôi muốn làm kỹ sư vận hành tại nhà máy, tại sao tôi phải học ngôn ngữ C.
- Trình bày về lịch sử của ngôn ngữ C, nó ra đời để giải quyết nhược điểm gì của những ngôn ngữ trước đó. C có ưu nhược điểm gì, những bài toán gì thì người ta ưu tiên dùng C.
- Cho tôi bức tranh tổng quan về những lĩnh vực đang sử dụng ngôn ngữ C, những lĩnh vực nào có việc làm tại Việt Nam.
- Cho tôi danh sách những kiến thức cần phải học về ngôn ngữ C.
- Con trỏ của C là gì vậy, tôi muốn đi sâu vào phần này.
- Tôi hiểu tính năng con trỏ là lưu trữ địa chỉ của một vùng nhớ vào một biến khác, nhờ vậy có thể gửi dữ liệu qua lại giữa các nơi khác nhau trong chương trình mà không cần phải copy data. Tôi hiểu vậy có đúng không?
- Tính năng con trỏ như vậy phải có ưu và nhược điểm đúng chứ? Với các ngôn ngữ khác, họ có bắt buộc phải có tính năng con trỏ như C không? Nếu không thì họ giải quyết vấn đề đó bằng cách nào?
- Tôi đã học xong rồi, giờ bạn hãy đóng vai là một người phỏng vấn, phỏng vấn tôi về ngôn ngữ C với level Fresher đi.
Trong suốt quá trình học, liên tục vẽ đồ thị tri thức. Ví dụ như vẽ ra giấy các node về con trỏ, volatile, const... và vẽ mối quan hệ giữa chúng. Nếu có mối liên hệ với kiến thức cũ trong đầu thì cũng vẽ ra nốt. Ví dụ như volatile có mối liên hệ với bộ nhớ Cached.
Học xong thì nên viết bài, quay video chia sẻ kiến thức, không ngại nhận comment góp ý từ người khác.
Nhược điểm của phương pháp tiếp cận tri thức cùng AI.
Tuy giúp tiết kiệm thời gian và hiệu quả hơn nhiều so với cách học truyền thống, tuy nhiên, phương pháp này không phải là hoàn hảo. Việc học truyền thống, ví dụ như đọc sách hoặc các page trên StackOverFlow, ngoài kiến thức, chúng ta còn học được cách tư duy của tác giả. Học qua AI thì chúng ta chỉ nhận được kiến thức. Vì vậy đối với người mới, khi mà hệ thống tư duy vẫn chưa đủ vững chắc, thì vẫn cần phải tự đọc sách thêm. Ví dụ như sau khi đã học xong phần C qua AI, người dùng có thể tự đọc thêm 1 quyển sách về C như The C Programming Language. Mục tiêu khi đọc sách không phải là học hỏi thêm kiến thức, thay vào đó, chúng ta học cách tác giả tư duy, giải quyết các vấn đề gặp phải.
Tổng kết
Nếu nghiêm túc trong việc follow các bước như trên, thì tri thức khi nạp vào đầu sẽ ở tầng 4 – 5 trong thang nhận thức Bloom. Đảm bảo cho chúng ta có một sự nghiệp lâu dài, bền vững trong thời đại đầy biến động về công nghệ.