0
0
Lập trình
NM

Nâng cao năng suất với AI trong phát triển phần mềm

Đăng vào 7 tháng trước

• 5 phút đọc

Chủ đề:

#ai#learning

Mục lục

  • Khái niệm "Biên giới gồ ghề"
  • Nâng cao năng suất với AI
  • Danh sách cải thiện của tôi
  • Lập trình hỗ trợ bởi AI
    • Hướng dẫn tùy chỉnh
    • Meta-prompting
  • Tài nguyên
  • Kết luận

Giới thiệu

Trong bối cảnh phát triển phần mềm ngày nay, việc sử dụng trí tuệ nhân tạo (AI) đang trở thành một xu hướng quan trọng. Chúng ta không chỉ đơn thuần viết mã mà còn cần phải áp dụng các công nghệ mới để nâng cao năng suất và cải thiện quy trình làm việc. Bài viết này sẽ chia sẻ những quan điểm và hướng dẫn thực tiễn mà đội ngũ của tôi đã áp dụng để tối ưu hóa quy trình phát triển bằng AI.

Khái niệm "Biên giới gồ ghề"

Khái niệm "Biên giới gồ ghề" do tác giả Ethan Mollick đưa ra mô tả một cách thú vị về cách mà các nhiệm vụ có vẻ giống nhau về độ khó có thể được thực hiện tốt hơn hoặc kém hơn khi có sự hỗ trợ của AI. Đặc điểm "gồ ghề" này cho thấy rằng cùng một quy trình làm việc có thể có các nhiệm vụ nằm ở cả hai phía của biên giới. Điều này dẫn đến sự phân biệt giữa Centaur và Cyborg, nơi mà việc kết hợp cả hai phương pháp này có thể giúp đạt được trí tuệ đồng sáng tạo.

Một thực hành quan trọng trong mô hình Cyborg là "phản hồi" và "đòi hỏi giải thích logic", có nghĩa là chúng ta không đồng ý với kết quả của AI, đưa ra phản hồi và yêu cầu nó giải thích tốt hơn. Việc tìm hiểu biên giới này cũng có thể thay đổi khi các mô hình AI được cải thiện. Do đó, việc thử nghiệm để hiểu rõ biên giới gồ ghề trong từng mô hình AI là rất cần thiết.

Nâng cao năng suất với AI

Tôi nhận thức rõ về những lợi ích năng suất được quảng cáo, ví dụ như việc sử dụng GitHub Copilot giúp lập trình viên nhanh hơn 55%. Tuy nhiên, tôi không thấy sự gia tăng 55% năng suất đó trong công việc của mình. Theo tôi, năng suất không chỉ được đo bằng số lượng mã mà còn bằng chất lượng và hiệu quả của quy trình làm việc.

AI như một đồng nghiệp

Đối với một lãnh đạo công nghệ làm việc với dịch vụ Azure, một kỹ năng quan trọng là biết cách tận dụng các dịch vụ Azure để xây dựng và quản lý giải pháp mở rộng. Việc có một đối tác AI có thể trao đổi và thảo luận về các dịch vụ này là rất hữu ích. Tuy nhiên, lãnh đạo công nghệ và lập trình viên cũng cần thể hiện tư duy phản biện để đánh giá các phản hồi từ AI. Mục tiêu có thể đơn giản là có một cuộc trò chuyện để kích thích những ý tưởng mới hoặc giải pháp mà chúng ta chưa nghĩ đến.

AI như một người thầy

Lãnh đạo công nghệ và các lập trình viên cao cấp cũng có trách nhiệm nâng cao kỹ năng cho đội ngũ của họ. AI có thể được sử dụng như một đồng giáo viên, giúp tạo ra các hướng dẫn tái sử dụng, tài liệu và trợ lý tùy chỉnh để giúp các lập trình viên trẻ hơn dễ dàng hơn trong việc làm quen với mã nguồn và lĩnh vực của chúng ta. Việc sử dụng AI trong quy trình onboarding có thể cải thiện thời gian hòa nhập và giảm tải cho các kỹ sư khác trong đội ngũ.

Danh sách cải thiện của tôi

Dưới đây là danh sách các nhiệm vụ mà tôi đang được AI hỗ trợ:

Kỹ thuật:

  • Xem xét mã ban đầu (ví dụ: kiểm tra lỗi chính tả)
  • Tạo tóm tắt cho mô tả PR
  • Thảo luận kiến trúc, bao gồm phân tích rủi ro
  • Hỗ trợ nghiên cứu sâu và thảo luận về các giải pháp khả thi

Phi kỹ thuật:

  • Tóm tắt chương sách/bài viết hoặc video
  • Đóng vai trong các tình huống khác nhau (ví dụ: thảo luận sách)

Lập trình hỗ trợ bởi AI

Lập trình hỗ trợ bởi AI có thể rất hữu ích cho một số nhiệm vụ. Gần đây, mục tiêu của tôi là tăng cường số lượng nhiệm vụ mà AI có thể hỗ trợ tôi. Chúng tôi đã đọc các bài viết về thực tiễn tốt nhất của Claude Code để học hỏi và tìm hiểu những gì phù hợp nhất cho trường hợp sử dụng của mình.

Hướng dẫn tùy chỉnh

Theo tài liệu của Copilot, các hướng dẫn nên ngắn gọn, rõ ràng và dễ hiểu. Chúng tôi đã sử dụng các tệp C# và Blazor từ kho awesome-copilot và các nguồn cảm hứng khác để xây dựng hướng dẫn tùy chỉnh của mình. Chúng tôi cũng thêm một số từ khóa viết hoa để nhấn mạnh tầm quan trọng của các tiêu chuẩn mã hóa trong hướng dẫn của mình.

Meta-prompting

Meta-prompting là một khái niệm đang trở nên phổ biến, nơi mà chúng tôi hỏi Claude cách cải thiện prompt của mình. Tuy nhiên, việc sử dụng AI cũng cần phải cẩn trọng, vì chất lượng đầu ra có thể bị ảnh hưởng bởi độ phức tạp của nhiệm vụ mà tôi đang làm.

Tài nguyên

Dưới đây là một số tài nguyên hữu ích mà tôi tìm thấy:

  • Andrej Karpathy - Cách tôi sử dụng LLMs
  • Claude Code: Thực tiễn tốt nhất cho lập trình hỗ trợ
  • Nghiên cứu về hiệu suất của AI trong phát triển phần mềm

Kết luận

Tôi rất vui khi được học hỏi và cải thiện bản thân trong những năm qua. Với GenAI, tôi cảm thấy mình có thể học hỏi nhiều hơn nữa. Hy vọng bài viết này sẽ truyền cảm hứng cho bạn trong việc tìm kiếm sự hỗ trợ từ AI trong công việc của mình. Đừng để sự hoài nghi ngăn cản bạn khỏi việc học hỏi và khám phá những công nghệ mới.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào