Thực hành Claude code
Tóm tắt
Bài viết tổng hợp lại hướng dẫn chính thức "Best practices for Claude Code" của Anthropic. Claude Code là một agentic coding environment: khác với chatbot chỉ trả lời rồi chờ, Claude Code có thể đọc file, chạy lệnh, sửa code và tự làm việc xuyên suốt trong khi mình quan sát, điều hướng hoặc rời đi. Toàn bộ best practice trong bài xoay quanh một ràng buộc cốt lõi: context window của Claude đầy rất nhanh, và performance giảm dần khi context đầy lên. Vì vậy quản lý context là tài nguyên quan trọng nhất cần chăm sóc trong suốt phiên làm việc.
Mục lục
- Cho Claude một cách để tự kiểm chứng công việc
- Explore trước, Plan sau, rồi mới Code
- Cung cấp context cụ thể trong prompt
- Cấu hình môi trường làm việc
- Giao tiếp hiệu quả
- Quản lý session
- Tự động hóa và scale
- Tránh các failure pattern phổ biến
- Phát triển trực giác
Cho Claude một cách để tự kiểm chứng công việc
Claude dừng lại khi thấy công việc "trông có vẻ xong". Nếu không có một check nào để chạy, "trông có vẻ xong" là tín hiệu duy nhất, và mình trở thành vòng lặp verification: mọi lỗi phải chờ mình phát hiện ra. Cho Claude một thứ trả về pass/fail thì vòng lặp tự đóng lại: Claude làm việc, chạy check, đọc kết quả, rồi lặp lại đến khi check pass.
Check ở đây là bất kỳ thứ gì trả tín hiệu Claude đọc được trong conversation: test suite, exit code của build, linter, script so sánh output với fixture, hay screenshot trên browser so với design.
Ví dụ cách viết prompt tốt hơn:
- Thay vì "implement a function that validates email addresses", hãy nêu rõ tiêu chí verify: "write a validateEmail function. example test cases: user@example.com is true, invalid is false, user@.com is false. run the tests after implementing".
- Với UI, đưa screenshot design vào rồi yêu cầu Claude chụp lại kết quả để so sánh và liệt kê khác biệt.
- Khi build fail, dán nguyên error message và yêu cầu fix root cause, không suppress lỗi.
Sau khi có check, có thể chọn mức độ "gate" khác nhau:
- Trong một prompt: yêu cầu Claude chạy check và lặp lại ngay trong cùng message.
- Xuyên suốt cả session: đặt check thành điều kiện
/goal: một evaluator riêng sẽ recheck sau mỗi turn, Claude tiếp tục làm đến khi điều kiện đó giữ vững. - Như một deterministic gate: dùng Stop hook để chạy check bằng script, chặn turn kết thúc cho đến khi pass (Claude Code sẽ override hook và kết thúc turn sau 8 lần block liên tiếp).
- Bằng một ý kiến thứ hai: dùng verification subagent hoặc dynamic workflow để một model "tươi" thử bác bỏ kết quả, tránh việc agent làm việc cũng là agent tự chấm điểm mình.
Nên yêu cầu Claude trình bày bằng chứng thay vì chỉ khẳng định đã xong: output của test, lệnh đã chạy và kết quả trả về, hoặc screenshot. Xem bằng chứng nhanh hơn tự chạy lại kiểm chứng, và cách này vẫn hiệu quả với những phiên mình không trực tiếp theo dõi.
Explore trước, Plan sau, rồi mới Code
Để Claude nhảy thẳng vào code có thể ra kết quả giải quyết sai vấn đề. Nên dùng plan mode để tách riêng giai đoạn khám phá khỏi giai đoạn thực thi. Workflow khuyến nghị có 4 bước:
- Explore: vào plan mode, để Claude đọc file và trả lời câu hỏi mà chưa sửa gì. Ví dụ:
read /src/auth and understand how we handle sessions and login. also look at how we manage environment variables for secrets. - Plan: yêu cầu Claude tạo implementation plan chi tiết. Ví dụ:
I want to add Google OAuth. What files need to change? What's the session flow? Create a plan.Có thể nhấnCtrl+Gđể mở plan trong text editor và chỉnh sửa trực tiếp trước khi Claude tiến hành. - Implement: thoát plan mode, để Claude code và verify theo đúng plan đã lập.
- Commit: yêu cầu Claude commit với message mô tả rõ ràng và mở PR.
Plan mode hữu ích nhưng cũng có overhead. Với việc phạm vi rõ ràng và fix nhỏ (sửa typo, thêm log, đổi tên biến) thì nên để Claude làm trực tiếp. Planning phát huy giá trị nhất khi mình chưa chắc về approach, thay đổi ảnh hưởng nhiều file, hoặc chưa quen phần code sẽ sửa. Nếu có thể mô tả diff trong một câu, bỏ qua bước plan.
Cung cấp context cụ thể trong prompt
Claude có thể suy luận ý định nhưng không đọc được suy nghĩ của mình. Nên trỏ đến file cụ thể, nêu rõ ràng buộc, và chỉ ra pattern mẫu có sẵn:
- Scope task rõ ràng: thay vì "add tests for foo.py", viết "write a test for foo.py covering the edge case where the user is logged out. avoid mocks."
- Trỏ đến nguồn: thay vì hỏi chung chung, yêu cầu Claude tự tra: "look through ExecutionFactory's git history and summarize how its api came to be"
- Tham chiếu pattern có sẵn: chỉ Claude xem cách các widget khác được implement, ví dụ file mẫu cụ thể, rồi làm theo pattern đó thay vì tự bịa cách làm mới.
- Mô tả triệu chứng cụ thể: nêu rõ triệu chứng, vị trí nghi ngờ, và "thế nào là đã fix": ví dụ yêu cầu viết failing test tái hiện bug trước khi fix.
Prompt mơ hồ vẫn có ích khi mình đang khám phá và có thể tự điều chỉnh sau: một câu như "what would you improve in this file?" có thể gợi ra những góc nhìn mình chưa nghĩ tới.
Cung cấp rich content
- Reference file bằng
@thay vì mô tả bằng lời code nằm ở đâu. - Paste ảnh trực tiếp (copy/paste hoặc drag-drop).
- Đưa URL tài liệu/API reference: dùng
/permissionsđể allowlist các domain hay dùng. - Pipe data trực tiếp, ví dụ
cat error.log | claude. - Để Claude tự fetch thứ nó cần qua Bash, MCP tools, hoặc đọc file.
Cấu hình môi trường làm việc
Viết CLAUDE.md hiệu quả
CLAUDE.md là file đặc biệt Claude đọc mỗi khi bắt đầu conversation, chứa các Bash command, code style, workflow rule: context bền vững mà Claude không thể tự suy ra từ code. Chạy /init để tạo CLAUDE.md khởi đầu dựa trên cấu trúc project hiện tại, sau đó tinh chỉnh dần.
Ví dụ nội dung CLAUDE.md ngắn gọn:
# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')
# Workflow
- Be sure to typecheck when you're done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance
CLAUDE.md load ở mọi session nên chỉ nên đưa những thứ áp dụng rộng rãi. Với domain knowledge hoặc workflow chỉ thỉnh thoảng cần, nên dùng skills: Claude sẽ load theo yêu cầu mà không làm phình mọi conversation.
Nguyên tắc: với mỗi dòng, tự hỏi "Nếu xóa dòng này, Claude có mắc lỗi không?". Nếu không thì cắt. CLAUDE.md quá dài khiến Claude bỏ qua chỉ dẫn thật sự cần.
| Nên đưa vào | Nên loại bỏ |
|---|---|
| Bash command Claude không thể tự đoán | Thứ Claude tự đọc code cũng biết |
| Code style khác default | Convention ngôn ngữ tiêu chuẩn Claude đã biết |
| Hướng dẫn test, test runner ưa dùng | Tài liệu API chi tiết (nên link ra ngoài) |
| Quy ước repo (branch naming, PR convention) | Thông tin thay đổi thường xuyên |
| Quyết định kiến trúc đặc thù project | Giải thích dài dòng, tutorial |
| Env var đặc thù môi trường dev | Mô tả từng file trong codebase |
| Gotcha hay hành vi không hiển nhiên | Thứ hiển nhiên như "write clean code" |
Nếu Claude vẫn làm điều mình không muốn dù đã có rule cấm, khả năng CLAUDE.md quá dài và rule đó bị chìm nghỉm. Nếu Claude hỏi lại điều đã có trong CLAUDE.md, có thể câu chữ đang mơ hồ. Nên đối xử với CLAUDE.md như code: review khi có sự cố, dọn dẹp định kỳ, và test thay đổi bằng cách quan sát hành vi Claude có đổi thật không. Có thể nhấn mạnh chỉ dẫn bằng "IMPORTANT" hoặc "YOU MUST" để tăng độ tuân thủ. Nên check CLAUDE.md vào git để cả team cùng đóng góp: giá trị file này tích lũy theo thời gian.
CLAUDE.md có thể import file khác bằng cú pháp @path/to/import, ví dụ @README.md, @docs/git-instructions.md, @~/.claude/my-project-instructions.md.
Có thể đặt CLAUDE.md ở nhiều vị trí:
- Home folder (
~/.claude/CLAUDE.md): áp dụng cho mọi session. - Project root (
./CLAUDE.md): check vào git để chia sẻ với team. - Project root (
./CLAUDE.local.md): ghi chú cá nhân riêng cho project, thêm vào.gitignore. - Thư mục cha: hữu ích cho monorepo, cả
root/CLAUDE.mdvàroot/foo/CLAUDE.mdđược load tự động. - Thư mục con: Claude tự load CLAUDE.md ở thư mục con khi đọc file trong đó.
Cấu hình permissions
Mặc định Claude Code hỏi permission cho các hành động có thể thay đổi hệ thống: ghi file, chạy Bash, dùng MCP tools... An toàn nhưng tốn thời gian nếu phải approve liên tục. Có ba cách giảm gián đoạn:
- Auto mode: một classifier model riêng review lệnh, chỉ chặn thứ trông rủi ro (scope escalation, hạ tầng lạ, hành động do nội dung độc hại kích hoạt). Phù hợp khi tin tưởng hướng đi chung của task nhưng không muốn click qua từng bước.
- Permission allowlist: cho phép trước các tool cụ thể đã biết an toàn, ví dụ
npm run linthaygit commit. - Sandboxing: bật cô lập cấp OS, giới hạn filesystem/network access, để Claude làm việc thoải mái hơn trong ranh giới đã định.
Dùng CLI tools
CLI tool là cách context-efficient nhất để tương tác với dịch vụ bên ngoài. Nếu dùng GitHub, nên cài gh CLI: Claude biết cách dùng nó để tạo issue, mở PR, đọc comment. Không có gh, Claude vẫn dùng GitHub API được nhưng dễ dính rate limit vì request không xác thực. Claude cũng học tốt các CLI tool lạ, thử prompt kiểu: Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.
Kết nối MCP servers
Chạy claude mcp add để kết nối các công cụ ngoài như Notion, Figma, database: từ đó có thể nhờ Claude implement feature từ issue tracker, query database, phân tích monitoring data, tích hợp design từ Figma, và tự động hóa workflow.
Thiết lập hooks
Hooks chạy script tự động tại các điểm cụ thể trong workflow của Claude. Khác với chỉ dẫn CLAUDE.md chỉ mang tính khuyến nghị, hooks là deterministic và đảm bảo hành động luôn xảy ra. Claude có thể tự viết hook giúp mình, ví dụ: "Write a hook that runs eslint after every file edit" hoặc "Write a hook that blocks writes to the migrations folder." Có thể sửa trực tiếp .claude/settings.json, và chạy /hooks để xem cấu hình hiện có.
Tạo skills
Skills mở rộng kiến thức của Claude với thông tin riêng của project/team/domain. Claude tự áp dụng khi liên quan, hoặc gọi trực tiếp bằng /skill-name. Tạo skill bằng cách thêm thư mục chứa SKILL.md vào .claude/skills/, ví dụ:
---
name: api-conventions
description: REST API design conventions for our services
---
# API Conventions
- Use kebab-case for URL paths
- Use camelCase for JSON properties
- Always include pagination for list endpoints
- Version APIs in the URL path (/v1/, /v2/)
Skills cũng có thể định nghĩa workflow lặp lại được, gọi trực tiếp qua /fix-issue 1234 chẳng hạn. Dùng disable-model-invocation: true cho các workflow có side-effect muốn kích hoạt thủ công.
Tạo custom subagents
Subagents chạy trong context riêng với tập tool được phép riêng: hữu ích cho task đọc nhiều file hoặc cần tập trung chuyên biệt mà không làm rối conversation chính. Định nghĩa trong .claude/agents/, ví dụ một security-reviewer với tools: Read, Grep, Glob, Bash và model: opus. Nên nói rõ với Claude khi muốn dùng subagent: "Use a subagent to review this code for security issues."
Cài plugins
Plugins đóng gói skills, hooks, subagents và MCP servers thành một unit cài đặt được từ cộng đồng và Anthropic. Chạy /plugin để duyệt marketplace. Nếu làm việc với ngôn ngữ typed, nên cài code intelligence plugin để Claude điều hướng symbol chính xác và tự phát hiện lỗi sau khi sửa code.
Giao tiếp hiệu quả
Hỏi về codebase
Khi onboard vào codebase mới, dùng Claude Code để học và khám phá, hỏi những câu như hỏi một senior engineer: logging hoạt động thế nào, làm sao tạo API endpoint mới, dòng code cụ thể làm gì, edge case nào được xử lý, tại sao chỗ này gọi hàm này thay vì hàm kia... Không cần prompting đặc biệt, hỏi thẳng.
Để Claude phỏng vấn ngược lại
Với feature lớn, nên để Claude phỏng vấn mình trước. Bắt đầu bằng prompt tối giản và yêu cầu Claude dùng AskUserQuestion tool để phỏng vấn:
I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.
Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.
Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.
Sau khi có spec, nên bắt đầu session mới để thực thi: session mới có context sạch, tập trung hoàn toàn vào implementation, và đã có spec viết sẵn để tham chiếu. Spec hữu ích nhất là spec tự đầy đủ: nêu rõ file/interface liên quan, nêu rõ cái gì ngoài phạm vi, và kết thúc bằng bước verify end-to-end chứng minh feature hoạt động. Thời gian đầu tư làm spec chính xác đáng giá hơn thời gian ngồi xem Claude implement.
Quản lý session
Course-correct sớm và thường xuyên
Kết quả tốt nhất đến từ vòng phản hồi chặt (tight feedback loop). Dù Claude đôi khi giải quyết vấn đề hoàn hảo ngay lần đầu, việc sửa sai sớm thường cho ra giải pháp tốt hơn, nhanh hơn.
Esc: dừng Claude giữa chừng, context vẫn giữ nguyên để redirect.Esc + Eschoặc/rewind: mở rewind menu để khôi phục conversation/code về checkpoint trước, hoặc summarize từ một message được chọn.- "Undo that": yêu cầu Claude revert thay đổi.
/clear: reset context giữa các task không liên quan, vì session dài với context không liên quan làm giảm performance.
Nếu đã sửa Claude quá 2 lần cho cùng một vấn đề trong một session, context đang bị nhiễu bởi các approach thất bại. Nên /clear và viết lại prompt cụ thể hơn, tận dụng những gì vừa học được. Session sạch với prompt tốt hơn gần như luôn thắng session dài đã tích lũy nhiều lần sửa sai.
Quản lý context quyết liệt
Claude Code tự động compact lịch sử conversation khi gần chạm giới hạn context, giữ lại code và quyết định quan trọng. Trong session dài, context có thể đầy nội dung không liên quan làm giảm hiệu suất và đôi khi khiến Claude bị phân tâm.
- Dùng
/clearthường xuyên giữa các task để reset hoàn toàn context. - Khi auto compaction kích hoạt, Claude tự tóm tắt phần quan trọng nhất: code pattern, trạng thái file, quyết định chính.
- Muốn kiểm soát nhiều hơn, chạy
/compact <instructions>, ví dụ/compact Focus on the API changes. - Để compact một phần conversation, dùng
Esc + Eschoặc/rewind, chọn checkpoint rồi chọn Summarize from here hoặc Summarize up to here. - Có thể tùy biến hành vi compact qua CLAUDE.md, ví dụ: "When compacting, always preserve the full list of modified files and any test commands".
- Với câu hỏi nhanh không cần lưu vào context, dùng
/btw: câu trả lời hiện trong overlay có thể đóng lại và không bao giờ vào lịch sử conversation.
Dùng subagent để investigate
Vì context là ràng buộc nền tảng, subagent là một trong những công cụ mạnh nhất. Khi Claude research codebase, nó đọc rất nhiều file, tốn context của mình. Subagent chạy trong context riêng và chỉ báo cáo lại tóm tắt:
Use subagents to investigate how our authentication system handles token
refresh, and whether we have any existing OAuth utilities I should reuse.
Subagent tự khám phá codebase, đọc file liên quan, báo cáo lại findings mà không làm rối conversation chính. Cũng có thể dùng subagent để verify sau khi Claude implement xong: "use a subagent to review this code for edge cases".
Rewind bằng checkpoint
Mỗi prompt gửi đi tạo một checkpoint. Claude tự động snapshot file trước mỗi thay đổi để checkpoint có thể khôi phục lại. Nhấn Escape hai lần hoặc chạy /rewind để mở rewind menu: có thể khôi phục riêng conversation, riêng code, cả hai, hoặc summarize từ một message được chọn. Nhờ vậy, thay vì lên kế hoạch cẩn thận từng bước, có thể để Claude thử cách rủi ro hơn, nếu không ổn thì rewind và thử cách khác. Checkpoint tồn tại xuyên session, nên có thể đóng terminal và vẫn rewind lại sau.
Lưu ý: checkpoint chỉ theo dõi thay đổi do Claude thực hiện, không phải thay đổi từ process bên ngoài; đây không thay thế git.
Resume conversation
Claude Code lưu conversation cục bộ, nên task kéo dài nhiều buổi không cần giải thích lại context. Chạy claude --continue để tiếp tục session gần nhất, hoặc claude --resume để chọn từ danh sách. Nên đặt tên session mô tả rõ (/rename), ví dụ oauth-migration, để dễ tìm lại sau, coi mỗi session như một branch riêng.
Tự động hóa và scale
Chạy non-interactive mode
Dùng claude -p "your prompt" để chạy Claude không tương tác, không cần session; cách này để tích hợp Claude vào CI pipeline, pre-commit hook, hay bất kỳ automated workflow nào. Output format cho phép parse kết quả bằng chương trình: plain text, JSON, hoặc streaming JSON.
# One-off queries
claude -p "Explain what this project does"
# Structured output for scripts
claude -p "List all API endpoints" --output-format json
# Streaming for real-time processing
claude -p "Analyze this log file" --output-format stream-json --verbose
Chạy nhiều Claude session song song
Chọn cách parallel phù hợp với mức độ tự điều phối mong muốn:
- Worktrees: chạy các session CLI riêng biệt trong git checkout độc lập để thay đổi không đụng nhau.
- Desktop app: quản lý nhiều session local trực quan, mỗi session một worktree riêng.
- Claude Code on the web: chạy session trên hạ tầng cloud do Anthropic quản lý, trong VM cô lập.
- Agent teams: điều phối tự động nhiều session với task, messaging và team lead chung.
Ngoài việc parallelize công việc, nhiều session còn hỗ trợ workflow tập trung vào chất lượng. Context mới cải thiện code review vì Claude không bị thiên vị với code mình vừa viết. Ví dụ pattern Writer/Reviewer: Session A viết implementation, Session B review diff tìm edge case/race condition/tính nhất quán với pattern hiện có, rồi Session A xử lý feedback đó. Có thể áp dụng tương tự cho test: một Claude viết test, một Claude khác viết code để pass test đó.
Fan out qua nhiều file
Với migration hay phân tích quy mô lớn, có thể phân phối công việc qua nhiều lời gọi Claude song song:
- Yêu cầu Claude liệt kê danh sách file cần migrate, ví dụ "list all 2,000 Python files that need migrating".
- Viết script loop qua danh sách đó:
for file in $(cat files.txt); do
claude -p "Migrate $file from React to Vue. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)"
done
- Test trên vài file trước, tinh chỉnh prompt dựa vào lỗi phát sinh ở 2-3 file đầu, rồi mới chạy full scale. Flag
--allowedToolsgiới hạn hành động của Claude, quan trọng khi chạy unattended.
Cũng có thể tích hợp Claude vào pipeline xử lý dữ liệu có sẵn: claude -p "<your prompt>" --output-format json | your_command. Dùng --verbose khi debug lúc phát triển, tắt đi khi lên production.
Chạy tự động với auto mode
Để chạy uninterrupted với background safety check, dùng auto mode: classifier model review lệnh trước khi chạy, chặn scope escalation, hạ tầng lạ, hành động bị kích hoạt bởi nội dung độc hại, còn công việc thường quy thì không cần prompt:
claude --permission-mode auto -p "fix all lint errors"
Với run non-interactive dùng flag -p, auto mode sẽ abort nếu classifier liên tục chặn hành động, vì không có user để fallback.
Thêm bước adversarial review
Session chạy unattended càng lâu, việc có một check độc lập trước khi coi là "xong" càng quan trọng. Reviewer chạy trong subagent context mới chỉ thấy diff và tiêu chí mình đưa ra, không thấy lý luận dẫn đến thay đổi đó, nên đánh giá kết quả một cách khách quan.
Để check correctness, chạy skill /code-review có sẵn: nó review diff hiện tại tìm bug trong một subagent riêng và trả findings về session. Để check diff so với plan, tự viết review prompt, nêu rõ việc cần check, plan để đối chiếu, và điều gì tính là một finding:
Use a subagent to review the rate limiter diff against PLAN.md. Check that
every requirement is implemented, the listed edge cases have tests, and
nothing outside the task's scope changed. Report gaps, not style preferences.
Vì reviewer chạy như subagent, session implement nhận gap trực tiếp và có thể fix + review lại mà không cần copy findings qua lại giữa các cửa sổ. Với các run tự động dài hơi, agent team có thể duy trì vòng lặp này qua nhiều task trong khi mình chỉ spot-check các finding đã ghi lại.
Lưu ý: một reviewer được yêu cầu tìm gap thường sẽ báo cáo vài gap dù công việc đã ổn, vì đó là nhiệm vụ được giao. Chạy theo mọi finding dẫn đến over-engineering: thêm lớp abstraction thừa, code phòng thủ không cần thiết, test cho case không thể xảy ra. Nên yêu cầu reviewer chỉ flag gap ảnh hưởng đến correctness hoặc requirement đã nêu, phần còn lại coi là optional.
Tránh các failure pattern phổ biến
- Kitchen sink session: bắt đầu một task, rồi hỏi thứ không liên quan, rồi quay lại task đầu, context đầy thông tin không liên quan. →
/cleargiữa các task không liên quan. - Sửa sai lặp đi lặp lại: Claude làm sai, mình sửa, vẫn sai, sửa tiếp, context bị nhiễm các approach thất bại. → Sau 2 lần sửa thất bại,
/clearvà viết prompt ban đầu tốt hơn dựa trên bài học vừa rút ra. - CLAUDE.md quá tải: nếu CLAUDE.md quá dài, Claude bỏ qua một nửa vì rule quan trọng bị chìm trong nhiễu. → Cắt bỏ triệt để; nếu Claude đã tự làm đúng mà không cần chỉ dẫn, xóa đi hoặc chuyển thành hook.
- Khoảng trống trust-rồi-mới-verify: Claude tạo ra implementation trông hợp lý nhưng không xử lý edge case. → Luôn cung cấp cách verify (test, script, screenshot); không verify được thì đừng ship.
- Khám phá vô hạn: yêu cầu Claude "investigate" mà không giới hạn phạm vi khiến nó đọc hàng trăm file, làm đầy context. → Giới hạn phạm vi investigation hẹp lại, hoặc dùng subagent để việc khám phá không tiêu tốn context chính.
Phát triển trực giác
Các pattern trong hướng dẫn này không phải luật bất biến: chúng là điểm khởi đầu hiệu quả nói chung, nhưng chưa chắc tối ưu cho mọi tình huống. Đôi khi nên để context tích lũy vì đang đào sâu một vấn đề phức tạp và lịch sử đó có giá trị. Đôi khi nên bỏ qua planning và để Claude tự tìm hướng vì task mang tính khám phá. Đôi khi một prompt mơ hồ lại đúng đắn vì mình muốn xem Claude diễn giải vấn đề thế nào trước khi ràng buộc nó.
Nên chú ý điều gì đang hiệu quả: khi Claude cho kết quả tốt, để ý cấu trúc prompt, context đã cung cấp, mode đang dùng. Khi Claude gặp khó, tự hỏi vì sao: context quá nhiễu? prompt quá mơ hồ? task quá lớn cho một lượt? Theo thời gian, sẽ hình thành trực giác mà không hướng dẫn nào có thể ghi lại hết: biết khi nào cần cụ thể, khi nào nên để mở; khi nào nên plan, khi nào nên khám phá; khi nào nên clear context, khi nào nên để nó tích lũy.
Liên hệ Tác giả để được tư vấn và hỗ trợ.