Làm thế nào để sử dụng AI hiệu quả trong embedded development

 


Hôm nay mình sẽ chia sẻ về cách dùng AI trong embedded cho hiệu quả hơn: AI-Assisted development.
AI ngày càng phát triển và đã dần thay thế một số công việc. Là kỹ sư lập trình, chúng ta không cần phải sợ AI thay thế mà hãy học cách sử dụng và tận dụng sức mạnh của AI. Hãy coi AI như là 1 người đồng nghiệp, một người trợ lý, một người hướng dẫn và đưa cho ta những ý tưởng mới

I. Hardware constraints

    - Hệ thống embedded sẽ khác so với các các sản phẩm khác, bạn cần cung cấp các ràng buộc đặc thù để AI có thể hỗ trợ bạn tốt hơn. Cụ thể chúng ta sẽ có các ràng buộc cơ bản sau:

II. Prompt Pattern

1. Giải thích code cơ bản


- Ngoài ra bạn có thể dùng 1 vài dạng prompt mẫu cho các trường hợp cụ thể

2. Giải thích control flow



3. Ngắt và xử lý đồng thời


4. Generate một code mới

    - Khi tạo 1 code mới ta cần chú ý những điều sau:


    - Ví dụ:

5. Generate một peripheral driver


6. Configuration code


7. Refactoring firmware

    - Khi refactor thì những behavior không được thay đổi


    - Ví dụ:



8. Gen test case từ requirement


9. Test and validation


10. Cải thiện khả năng đọc hiểu code


11. Check code smell


III. Prompt checklist

- những check list này sẽ giúp AI thực hiện chính xác hơn và ít lỗi


IV. Kiểm tra lại kết quả của AI

- Khi compile code, không bao giờ ignore các warning từ AI nếu chúng ta chưa check nó kỹ càng, bạn cần check lại vì đó có khả năng sinh ra bug trong tương lai

- Luôn kiểm tra lại với reference manual và datasheet

- Một vài lỗi phổ biến của AI:

    1. Sai thanh ghi vì AI học theo data của nhiều mcu families, cần phải check


    2. Sai timing và clock


    3. ABI và memory layout


V. Setup môi trường 

    - vscode và github copilot


VI. Mode

    - Agent: gợi ý sửa code và hiển thị các sửa đổi vào các file source

    - Ask: chỉ hỏi trong chat

    - Plan: đề xuất trước sau đó start implementation vào file source


VII. Write code

    - Sử dụng tab để hoàn thành code gợi ý

    - Ctrl + I: generate code hoặc hỏi ngay trong file source mà không cần hỏi trong chat

    - Add selection to chat: thêm những đoạn code cần hỏi vào trong chat

    - explain: giải thích những đoạn code

    - review: review code

    - fix

    - refactor

    - @workspace:

    - /help:

    - #fetch/link web:


Bài chia sẻ đến đây là hết. Chúc các bạn học tập tốt!



Đăng nhận xét

0 Nhận xét