Bỏ qua để đến nội dung

Output styles

Bài viết được dịch tự động từ bài viết gốc, chưa được kiểm tra lại bởi con người. Chỉ những bài viết có dấu tick xanh cạnh tiêu đề là đã được kiểm tra.

Output style thay đổi cách Claude phản hồi, không phải những gì Claude biết. Nó sửa system prompt để đặt vai trò, giọng điệu, và định dạng output. Dùng khi bạn phải nhắc lại cùng một giọng điệu hoặc định dạng ở mỗi lượt, hoặc khi bạn muốn Claude đóng vai gì đó khác ngoài software engineer.

Một output style tuỳ chỉnh thêm instruction của bạn vào system prompt và cho bạn chọn có giữ lại instruction software engineering có sẵn của Claude Code hay không. Giữ lại khi bạn chỉ đổi cách Claude giao tiếp nhưng vẫn đang coding, ví dụ luôn trả lời kèm diagram. Bỏ đi khi Claude hoàn toàn không làm software engineering, ví dụ trợ lý viết lách hoặc phân tích dữ liệu.

Với instruction về project, quy ước, hoặc codebase, dùng CLAUDE.md thay vì output style.

Output style Default của Claude Code chính là system prompt hiện tại, thiết kế để giúp bạn hoàn thành task software engineering hiệu quả.

Có thêm ba output style built-in:

  • Proactive: Claude thực thi ngay, đưa ra giả định hợp lý thay vì dừng lại hỏi các quyết định thường quy, và ưu tiên hành động hơn lên kế hoạch. Đây là hướng dẫn tự chủ mạnh hơn cả auto mode, và hoạt động mà không cần đổi permission mode - bạn vẫn thấy prompt phê duyệt trước khi tool chạy.
  • Explanatory: Cung cấp “Insights” mang tính giáo dục xen giữa lúc giúp bạn hoàn thành task. Giúp bạn hiểu các lựa chọn triển khai và pattern trong codebase.
  • Learning: Chế độ học-qua-làm hợp tác, nơi Claude không chỉ chia sẻ “Insights” khi coding mà còn yêu cầu bạn tự viết một số đoạn code nhỏ, chiến lược. Claude Code sẽ thêm marker TODO(human) trong code để bạn tự triển khai.

Chạy /config và chọn Output style để chọn từ menu. Lựa chọn được lưu vào .claude/settings.local.jsoncấp project local.

Để đặt style không qua menu, sửa trực tiếp field outputStyle trong settings file:

{
"outputStyle": "Explanatory"
}

Output style là một phần của system prompt, được Claude Code đọc một lần lúc session bắt đầu. Thay đổi có hiệu lực sau /clear hoặc session mới.

Output style tuỳ chỉnh là một file Markdown: frontmatter cho metadata, rồi đến instruction thêm vào system prompt.

  1. Tạo file Markdown - lưu ở một trong ba cấp. Tên file trở thành tên style trừ khi bạn đặt name trong frontmatter.

    • User: ~/.claude/output-styles
    • Project: .claude/output-styles
    • Managed policy: .claude/output-styles trong managed settings directory
  2. Thêm frontmatter và instruction - quyết định có giữ instruction software engineering của Claude Code hay không. Đặt keep-coding-instructions: true nếu bạn chỉ đổi cách Claude giao tiếp nhưng vẫn muốn nó coding theo cách cũ. Bỏ nếu Claude sẽ không làm software engineering.

    ---
    name: Diagrams first
    description: Lead every explanation with a diagram
    keep-coding-instructions: true
    ---
    When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.
    ## Diagram conventions
    Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.
  3. Chuyển sang style của bạn - chạy /config và chọn style dưới Output style. Có hiệu lực sau /clear hoặc session tiếp theo.

Plugin cũng có thể đóng gói output style trong thư mục output-styles/.

FrontmatterMục đíchMặc định
nameTên output style, nếu khác tên fileKế thừa từ tên file
descriptionMô tả style, hiện trong picker /configKhông có
keep-coding-instructionsGiữ instruction software engineering có sẵn của Claude Codefalse
force-for-pluginChỉ cho plugin output style: tự động áp dụng style này bất cứ khi nào plugin được bật, không cần user chọn. Ghi đè outputStyle của userfalse

Output style sửa trực tiếp system prompt của Claude Code.

  • Claude Code thêm instruction tuỳ chỉnh của mỗi output style vào cuối system prompt.
  • Mọi output style kích hoạt nhắc nhở để Claude tuân theo instruction của style trong suốt cuộc trò chuyện.
  • Output style tuỳ chỉnh bỏ instruction software engineering có sẵn của Claude Code (cách scope thay đổi, viết comment, xác minh công việc…) trừ khi keep-coding-instructions được đặt true.

Output style chỉ áp dụng cho cuộc trò chuyện chính: subagent chạy system prompt riêng nên style không đổi cách subagent phản hồi. Fork là ngoại lệ, vì nó kế thừa toàn bộ system prompt của parent.

Token usage phụ thuộc style. Thêm instruction vào system prompt tăng input token, dù prompt caching giảm chi phí này sau request đầu tiên trong session. Style Explanatory và Learning có sẵn tạo phản hồi dài hơn Default theo thiết kế, làm tăng output token.

Tính năngCách hoạt độngDùng khi
Output stylesSửa system promptBạn muốn vai trò, giọng điệu, hoặc định dạng output mặc định khác ở mỗi lượt
CLAUDE.mdThêm một user message sau system promptClaude nên luôn biết quy ước project và context codebase
--append-system-promptThêm vào system prompt mà không xoá gìBạn muốn bổ sung một lần cho một lần chạy duy nhất
AgentsChạy subagent với system prompt, model, tool riêngBạn muốn một helper có scope riêng cho task tập trung
SkillsNạp instruction theo task khi được gọi hoặc phù hợpBạn có một workflow tái sử dụng
  • Settings: nơi field outputStyle nằm và cách settings precedence hoạt động
  • Permissions: so sánh style Proactive với auto mode
  • Extending Claude Code: đóng gói và phân phối output style cùng skill, hook, agent