Software Engineers Ứng Dụng AI Như Thế Nào? | FSE Talks 26

By Future Software Engineers

Share:

FSI Talk #26: Ứng dụng của AI trong Công việc và Cuộc sống dành cho Kỹ sư Phần mềm

Key Concepts:

  • AI Applications (Work & Life)
  • Software Engineering & AI
  • Information Retrieval
  • Image-based Queries
  • Language Learning (English)
  • Personal Assistant
  • Learning Methodologies (Top-down, Bottom-up)
  • Coding Assistance
  • Code Review
  • Debugging
  • Unit Test Generation
  • System Documentation Generation
  • Mono-repo
  • AI Ethics & Risks
  • Over-reliance on AI
  • Maintaining Core Skills
  • Prompt Engineering
  • AI for Summarization
  • AI for Content Creation

1. Giới thiệu và Khách mời

Buổi FSI Talk số 26 tập trung vào chủ đề "Ứng dụng của AI trong Công việc và Cuộc sống", đặc biệt là dưới góc độ của kỹ sư phần mềm. Chương trình có sự tham gia của hai khách mời là giảng viên của FSI:

  • Anh Quỳnh Trương: Hiện đang làm việc tại Amazon Web Service ở Sydney, Australia, với khoảng 12 năm kinh nghiệm trong ngành kỹ thuật phần mềm. Anh Quỳnh cũng có kinh nghiệm làm việc tại TikTok và Google.
  • Anh Hiệp: Hiện đang làm kỹ sư phần mềm tại một công ty thuộc "Big Tech" ở London, UK, với khoảng 8 năm kinh nghiệm, tập trung vào Android và các thiết bị khác như smartwatch, smart glass. Anh Hiệp cũng từng rất tích cực trong cộng đồng LeetCode.

Mục tiêu chính của buổi nói chuyện là chia sẻ kinh nghiệm cá nhân, giao lưu và giải đáp thắc mắc của cộng đồng.


2. Ứng dụng của AI trong Cuộc sống Hàng ngày

AI đã thay đổi đáng kể cuộc sống hàng ngày, hoạt động như một "chiếc hộp thần kỳ" có khả năng thực hiện nhiều tác vụ.

  • Tìm kiếm thông tin:
    • Thay thế Google Search trong nhiều trường hợp, cung cấp câu trả lời trực tiếp, đúng trọng tâm thay vì phải duyệt qua nhiều trang web.
    • Ví dụ: Thay vì tìm kiếm trên Google và đọc nhiều trang, người dùng có thể hỏi trực tiếp ChatGPT để nhận được câu trả lời đầy đủ và chính xác.
  • Truy vấn bằng hình ảnh:
    • Cho phép người dùng gửi ảnh để AI hiểu và giải quyết vấn đề, tiết kiệm thời gian mô tả.
    • Ví dụ: Chụp màn hình lỗi trên Microsoft Word và gửi cho AI để nhận hướng dẫn sửa lỗi ngay lập tức.
  • Hỗ trợ cá nhân:
    • Hoạt động như một "người bạn" hoặc "vị cứu tinh" trong môi trường mới, giúp giải quyết các vấn đề hàng ngày.
    • Ví dụ: Hỗ trợ khai báo thuế ở UK bằng cách giải thích các mục trên biểu mẫu và hướng dẫn điền thông tin.
  • Cải thiện khả năng giao tiếp tiếng Anh:
    • Sử dụng các tính năng như "advanced voice chat" của ChatGPT để luyện phát âm, ngữ pháp và cấu trúc câu.
    • AI có thể mô phỏng nhiều giọng điệu khác nhau (Mỹ, Anh) và kiên nhẫn chỉnh sửa, điều mà giáo viên có thể tốn kém hoặc thiếu kiên nhẫn.
  • Tóm tắt nội dung:
    • Sử dụng các công cụ như Google Gemini Notebook để tóm tắt các video YouTube dài thành các bản trình bày ngắn gọn, dễ hiểu.
    • Lợi ích: Tiết kiệm thời gian đáng kể so với việc xem toàn bộ nội dung dài.
  • Trợ lý ảo cá nhân:
    • Mỗi người có thể có một trợ lý ảo giúp tiết kiệm thời gian trong các tác vụ hàng ngày, tương tự như trợ lý của các nhà lãnh đạo ngày xưa.
    • Ví dụ: Yêu cầu AI tóm tắt một cuốn sách hoặc một văn bản dài.

Quan điểm của Anh Quỳnh:

  • Cuộc sống cá nhân ngày càng phụ thuộc vào AI, nhưng cần phân chia rõ ràng: hạn chế sử dụng AI cho các công việc cốt lõi, đòi hỏi suy nghĩ sâu sắc, và tận dụng AI cho các việc ít quan trọng hơn (đi chợ, lên kế hoạch đi chơi) để tiết kiệm thời gian và giảm bớt gánh nặng suy nghĩ.

3. Ứng dụng của AI trong Học tập

AI mang lại nhiều lợi ích cho việc học tập, đặc biệt là cho sinh viên IT và Khoa học Máy tính.

  • Nhập môn nhanh chóng:
    • AI giúp người mới bắt đầu tiếp cận nhanh chóng các lĩnh vực như kỹ thuật phần mềm, cơ sở dữ liệu, backend, frontend bằng cách cung cấp tổng hợp kiến thức và kế hoạch học tập.
    • Ví dụ: AI có thể tạo ra bản tóm tắt kiến thức về một môn học trong "một nốt nhạc".
  • Nắm bắt kiến thức tổng quan:
    • AI giúp nắm bắt nhanh chóng kiến thức tổng quan của một môn học, tạo nền tảng để đi sâu hơn.
  • Hỗ trợ làm dự án:
    • Tăng năng suất làm dự án ở trường bằng cách cung cấp kiến thức, gợi ý code và hỗ trợ giải quyết vấn đề.
  • Phương pháp học tập linh hoạt:
    • AI cho phép học theo phương pháp "top-down" (từ tổng quan đến chi tiết) hoặc "bottom-up" (từ nền tảng đến ứng dụng), hoặc kết hợp cả hai, tùy chỉnh theo nhu cầu cá nhân.
    • Ví dụ (Hiệp): Nghiên cứu về Bitcoin, bắt đầu với câu hỏi chung về Bitcoin, sau đó đi sâu vào cơ chế blockchain, tìm kiếm mã nguồn liên quan.
  • Lưu ý quan trọng:
    • AI là "trợ giúp", không phải là người thay thế hoàn toàn việc học. Người học vẫn cần tự mình thực hiện, code và hiểu bản chất vấn đề.
    • Tránh lạm dụng AI dẫn đến mất khả năng tư duy và giải quyết vấn đề độc lập.
    • AI giúp tóm tắt nội dung, tiết kiệm thời gian chọn lọc thông tin và xác định xem nội dung đó có phù hợp với nhu cầu hay không.
    • AI có thể hỗ trợ giải thích các khái niệm khó hiểu trong sách, cung cấp ví dụ minh họa.

Quan điểm của Anh Quỳnh:

  • AI giúp nhập môn nhanh, nhưng người học vẫn cần đầu tư thời gian để hiểu bản chất.
  • AI là "trợ giúp", không phải là người làm thay. Người học vẫn phải tự tay code và hiểu sâu vấn đề.
  • Hạn chế tối đa sử dụng AI trong quá trình học để tránh mất bản chất kiến thức.

4. Ứng dụng của AI trong Công việc Kỹ sư Phần mềm

AI đóng vai trò là "trợ thủ đắc lực" trong công việc của kỹ sư phần mềm, giúp tăng hiệu suất và năng suất.

  • Hỗ trợ lập trình:
    • Viết hàm đơn giản, sửa lỗi code.
    • Agent AI: Có khả năng đọc merchant request, truy cập tài liệu nội bộ, chạy command line tools để kiểm tra code, unit test.
    • Ví dụ: Giao cho agent tự động cài đặt một tính năng, sau đó con người sẽ review và tổng hợp những điểm hay từ các agent khác nhau.
  • Tìm kiếm mã nguồn (Code Pointers):
    • Trong các công ty lớn với "mono-repo" (kho mã nguồn khổng lồ tập trung), AI giúp tìm kiếm nhanh chóng các đoạn code liên quan đến một chức năng hoặc lỗi cụ thể.
    • Ví dụ: Yêu cầu AI tìm đoạn code thực hiện một chức năng nhất định trong toàn bộ codebase của công ty.
  • Review mã nguồn (Code Review):
    • AI có thể đọc các comment review và tự động tạo ra các merchant request để sửa lỗi hoặc cải thiện code dựa trên phản hồi.
    • Lợi ích: Tiết kiệm thời gian và giảm bớt sự khó chịu khi nhận nhiều comment review.
  • Tự động hóa các tác vụ:
    • Tạo unit test: AI có thể tự động sinh ra các unit test cho một hàm, bao gồm nhiều trường hợp kiểm thử (use cases).
    • Sửa lỗi (Debugging): Copy đoạn code bị lỗi và hỏi AI để tìm ra nguyên nhân và cách sửa.
    • Tạo tài liệu hệ thống (System Documentation): Sử dụng AI để sinh ra tài liệu mô tả chức năng, tương tác và sơ đồ của một hệ thống từ mã nguồn.
    • Tự động kiểm thử (End-to-end testing): Mô tả yêu cầu kiểm thử bằng ngôn ngữ tự nhiên, AI sẽ tự động thực hiện trên nhiều nền tảng (web, Android, iOS).
  • Công cụ hỗ trợ:
    • Amazon: Sử dụng "Cly" (agent tool), "Rapid" (code review tool), "Amazon Q" (solution investigation, training trên Amazon codebase).
    • Các IDE hiện đại: Visual Studio (với Copilot extension), JetBrains IDEs (IntelliJ, PyCharm, Android Studio) đã tích hợp sẵn các tính năng AI.
  • Văn hóa chia sẻ và viết bài:
    • AI hỗ trợ viết bài chia sẻ kết quả công việc nhanh chóng, bao gồm tóm tắt (summary/TLDR) và giải thích chi tiết.
    • Lợi ích: Tăng visibility, nhận diện từ cấp trên, và tạo nguồn tài liệu tham khảo cho người khác.

Quan điểm của Anh Quỳnh:

  • Amazon sử dụng các công cụ nội bộ hoặc các sản phẩm thương mại như Cly, Rapid, Amazon Q.
  • Các công ty lớn thường "abstract" các model AI mã nguồn mở để tạo phiên bản riêng, tránh lộ code.
  • Việc sử dụng các giải pháp AI bên ngoài cần đọc kỹ điều khoản sử dụng để đảm bảo an toàn dữ liệu.

Quan điểm của Anh Hiệp:

  • Công ty sử dụng các API của Cloud và ChatGPT, chủ yếu xây dựng các "action" và tùy chỉnh "prompt".
  • Công ty có văn hóa chia sẻ bài viết nội bộ, AI hỗ trợ viết bài nhanh chóng và hiệu quả.

5. Mặt trái của AI và Rủi ro

Việc lạm dụng hoặc sử dụng AI không đúng cách có thể dẫn đến những hậu quả tiêu cực.

  • Tạo ra "loại người" lạm dụng AI:
    • Những người chỉ biết hỏi AI lấy kết quả mà không hiểu bản chất vấn đề, không kiểm tra code, dẫn đến code có lỗi và thiếu chuyên nghiệp.
    • Ví dụ: Một nhân viên chỉ copy code từ AI và nộp, gây khó khăn cho người review code và làm giảm hiệu suất làm việc chung.
  • Mất bản chất và kỹ năng cốt lõi:
    • Sự phụ thuộc quá nhiều vào AI có thể khiến con người trở nên lười biếng, mất đi khả năng tư duy độc lập, suy nghĩ sâu sắc và kỹ năng giải quyết vấn đề.
    • Ví dụ: Sinh viên chỉ nhờ AI code đồ án thay vì tự làm, dẫn đến không hiểu bản chất và không phát triển được kỹ năng lập trình.
  • Rủi ro về dữ liệu và bảo mật:
    • Việc đưa code hoặc tài liệu nhạy cảm lên các nền tảng AI công cộng có thể dẫn đến lộ thông tin.
    • Các công ty lớn có hợp đồng và biện pháp bảo mật riêng, nhưng người dùng cá nhân cần đọc kỹ điều khoản sử dụng.
  • "Loa phát thanh của ChatGPT":
    • Trở thành người chỉ thực hiện hành động theo yêu cầu của AI mà không có tư duy phản biện, bị AI điều khiển thay vì điều khiển AI.
  • Dữ liệu AI chưa chuẩn:
    • AI có thể đưa ra các giải pháp không chính xác, gây ảnh hưởng đến kết quả công việc nếu người dùng không kiểm tra kỹ.
    • Người mới bắt đầu đặc biệt dễ bị ảnh hưởng bởi các giải pháp sai lệch của AI.

Lời khuyên:

  • Sử dụng AI như một trợ lý: Tập trung vào các công việc tay chân, lặp đi lặp lại, hoặc khi đã nắm vững bản chất vấn đề.
  • Luôn kiểm tra và hiểu bản chất: Không tin tưởng hoàn toàn vào kết quả của AI, cần review, đọc hiểu và kiểm tra lại.
  • Nắm vững kiến thức nền tảng: Kiến thức về architecture, data structure, algorithm vẫn là yếu tố cốt lõi để làm chủ công nghệ, bao gồm cả AI.
  • Cẩn trọng với dữ liệu nhạy cảm: Đọc kỹ điều khoản sử dụng hoặc sử dụng các giải pháp AI được tùy chỉnh cho doanh nghiệp.
  • Phát triển tư duy phản biện (Reasonable): Luôn đặt câu hỏi, đánh giá và kiểm tra tính hợp lý của thông tin do AI cung cấp.

6. Q&A và Kết luận

  • Câu hỏi về làm chủ AI: Cần nắm vững kiến thức nền tảng của ngành, coi AI là công cụ tăng hiệu suất chứ không phải thay thế.
  • Câu hỏi về giảm kỹ năng coding: Nên tự làm trước khi dùng AI, đặc biệt trong quá trình học. AI nên được dùng để hỗ trợ sau khi đã nắm vững kiến thức.
  • Câu hỏi về Prompt Engineering: Cần mô tả chi tiết mong muốn, cung cấp bối cảnh và yêu cầu về định dạng output. AI ngày càng thông minh và có khả năng ghi nhớ.
  • Câu hỏi về tóm tắt sách: AI giúp tiết kiệm thời gian chọn lọc và đọc sách, nhưng vẫn cần đọc sâu để hiểu bản chất và tư duy tác giả. Cần cân bằng giữa hiệu quả và chiều sâu.
  • Trách nhiệm về kết quả: Người sử dụng AI phải chịu trách nhiệm hoàn toàn về kết quả công việc, bao gồm cả việc review và hiểu code.

Kết luận chung:

AI là một công cụ mạnh mẽ có khả năng thay đổi cách chúng ta làm việc và sống. Tuy nhiên, để tận dụng tối đa lợi ích và tránh rủi ro, người dùng cần có tư duy phản biện, nắm vững kiến thức nền tảng và sử dụng AI một cách có trách nhiệm, coi nó như một trợ lý đắc lực chứ không phải là người thay thế hoàn toàn.

Buổi livestream kết thúc với lời chúc mọi người tận dụng AI hiệu quả trong cuộc sống và công việc.

Chat with this Video

AI-Powered

Load the transcript when you're ready to chat so the initial page stays lighter.

Ready to summarize another video?

Summarize YouTube Video