Đang tải...

Sau Hơn 100 Prompt Với Claude, Đây Là Workflow Giúp Mình Code Nhanh Hơn Rõ Rệt

16/05/2026
5 phút đọc
Sau Hơn 100 Prompt Với Claude, Đây Là Workflow Giúp Mình Code Nhanh Hơn Rõ Rệt
Hơn 1 tháng nay mình dùng Claude khá nặng cho công việc. Chủ yếu là viết Compose, refactor màn hình cũ, debug với mấy cái bug lạ, với review code trước khi push. Ban đ...

Hơn 1 tháng nay mình dùng Claude khá nặng cho công việc. Chủ yếu là viết Compose, refactor màn hình cũ, debug với mấy cái bug lạ, với review code trước khi push.

Ban đầu mình cũng nghĩ sẽ có “prompt thần thánh” nào đó, nhưng càng dùng càng thấy không phải. Thứ quyết định nhiều nhất là context mình đưa cho nó và cách mình iterate sau khi nhận output.


Prompt “ngon” của mình trông như thế nào

Không phải kiểu:

“Bạn là Senior 10 năm kinh nghiệm bla bla…”

Mình thường viết kiểu này:

Context dự án hiện tại:
- Kotlin
- Compose 1.7
- Hilt
- Room
- Single Activity + Navigation
- MVI

Coding style thì giống cái màn hình ProfileFragment đang có
(mình paste luôn 1 file mẫu).

Task:
Làm màn hình Edit Task với offline support.

Nhớ chú ý recomposition với list item,
và đừng có xài mutableStateOf lung tung.

Kết quả thường ổn hơn hẳn so với prompt chung chung.


Những pattern mình hay dùng

  • Refactor XML cũ sang Compose
  • Đề xuất cách debug (liệt kê hypothesis)
  • Sinh test case (đặc biệt edge case)
  • Review code trước khi tạo PR
  • Brainstorm cách implement feature mới

Nhưng không phải lúc nào cũng suôn sẻ.


Cái fail nhớ mãi

Có lần mình bảo Claude refactor một màn hình Notification.

Code nó ra nhìn sạch đẹp, theo MVI chuẩn, state rõ ràng. Mình thấy thích quá nên merge luôn.

Đến lúc test thật mới phát hiện nó làm mất logic:

“Chỉ hiển thị thông báo unread nếu user online”

Logic này nằm ở một chỗ khá sâu, mình không mention trong prompt.

Kết quả là user bị miss thông báo quan trọng. May mà phát hiện sớm, chứ production thì chết.

Từ đó mình học được:

Claude giỏi viết code đẹp, nhưng nó không biết domain/business logic trừ khi mình nói rõ.

Mà nhiều khi mình cũng không nhớ hết, nên phải review như review code của một dev junior khá giỏi nhưng hơi “tự tin quá mức”.


Điều quan trọng nhất mình rút ra

Prompt wording thực ra chỉ là một phần nhỏ.

Phần ảnh hưởng lớn hơn nhiều là:

  • Context dự án (convention, style code, constraint thực tế)
  • Việc paste code mẫu đang có trong project
  • Dùng chung 1 thread chat dài để nó nhớ context
  • Iterate nhiều lần (bảo nó tự review code nó vừa viết)

Mình hay làm thế này:

Sau khi nhận code lần 1, mình hỏi tiếp:

Review lại xem có gì vi phạm convention
hoặc dễ gây bug không,
rồi đưa bản cải tiến.

Output thường tốt hơn khá nhiều.


Kết

Dùng Claude một thời gian mình thấy nó giống như có thêm một thằng dev ngồi cạnh:

  • code rất nhanh
  • chịu khó
  • không ngại boilerplate

Nhưng đôi khi hơi ngây thơ với business logic và edge case thật của dự án.

Nó giúp giảm đáng kể thời gian làm mấy việc máy móc như:

  • boilerplate
  • refactor cơ bản
  • viết test khung
  • brainstorm hướng implement

Còn phần quan trọng nhất — tư duy hệ thống, trade-off, và hiểu domain — vẫn phải là mình chịu trách nhiệm.


Bạn đang dùng Claude (hay Cursor, Gemini…) như thế nào trong công việc?

Có bug hoặc case nào làm bạn “đau đầu” khi dùng AI không?

Mình đang note lại khá nhiều case thực tế kiểu này, càng dùng càng thấy nhiều pattern thú vị.

📚 Nguồn: Viblo

Chia sẻ bài viết

Cần tư vấn?

Liên hệ với chúng tôi để được hỗ trợ

Liên hệ ngay

Bài viết liên quan

FilamentPHP: tuỳ chỉnh từ màu sắc, đường dẫn, sidebar đến custom theme
16/05/2026

FilamentPHP: tuỳ chỉnh từ màu sắc, đường dẫn, sidebar đến custom theme

Trong bài này, mình sẽ hướng dẫn các bạn cách để **tùy chỉnh Filament**, từ màu sắc mặc định, đường dẫn, sidebar cho tới custom theme để thêm css tùy chỉnh...

Đọc thêm
Crypto-Agility: Thiết kế hệ thống thay thuật toán mã hóa chỉ trong vài giờ khi Quantum đến
16/05/2026

Crypto-Agility: Thiết kế hệ thống thay thuật toán mã hóa chỉ trong vài giờ khi Quantum đến

> **TL;DR** — PQC migration sẽ không fail vì thiếu thuật toán. Nó sẽ fail vì không có inventory, không có abstraction layer, và cryptography bị hard-code khắp nơi. --- ## Mụ...

Đọc thêm
Đừng bao giờ Hard Delete: Làm chủ Trait SoftDeletes trong Laravel và những "bãi mìn" thực chiến
16/05/2026

Đừng bao giờ Hard Delete: Làm chủ Trait SoftDeletes trong Laravel và những "bãi mìn" thực chiến

Chào anh em cộng đồng Viblo! Là một Backend Developer làm việc với các hệ thống dữ liệu lớn, chắc hẳn anh em đã từng nghe câu "thần chú" kinh điển của các DB...

Đọc thêm

Bắt đầu dự án của bạn

Hãy để Flash Dev đồng hành cùng bạn

Liên hệ ngay