{"product_id":"extended-thinking-dể-claude-suy-luận-từng-bước-minh-bạch","title":"Extended Thinking — Để Claude suy luận từng bước minh bạch","description":"\n\u003cp\u003eMột trong những hạn chế lớn nhất của LLM truyền thống là \u003cstrong\u003ehộp đen\u003c\/strong\u003e — bạn đặt câu hỏi, nhận câu trả lời, nhưng không biết Claude đã suy nghĩ gì ở giữa. \u003cstrong\u003eExtended Thinking\u003c\/strong\u003e phá vỡ rào cản đó: Claude hiển thị toàn bộ quá trình suy luận trước khi đưa ra kết luận cuối cùng.\u003c\/p\u003e\n\n\u003cp\u003eTính năng này đặc biệt mạnh mẽ với các bài toán đòi hỏi multi-step reasoning: toán học, logic, phân tích dữ liệu, hoặc bất kỳ tình huống nào mà \"suy nghĩ to\" dẫn đến kết quả tốt hơn.\u003c\/p\u003e\n\n\u003ch2\u003eExtended Thinking là gì?\u003c\/h2\u003e\n\n\u003cp\u003eExtended Thinking (còn gọi là \"thinking blocks\") là tính năng cho phép Claude dành một phần token budget để \u003cstrong\u003esuy nghĩ nội bộ\u003c\/strong\u003e trước khi trả lời. Khi bạn bật tính năng này:\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003eClaude tạo ra một \"thinking block\" chứa quá trình suy luận thô\u003c\/li\u003e\n  \u003cli\u003eThinking block này được hiển thị tách biệt với response chính thức\u003c\/li\u003e\n  \u003cli\u003eFinal answer dựa trên reasoning đã được thực hiện trong thinking block\u003c\/li\u003e\n  \u003cli\u003eBạn có thể đọc thinking block để hiểu tại sao Claude đưa ra kết luận đó\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eĐiều quan trọng: thinking tokens \u003cstrong\u003ekhông tính vào context window của conversation\u003c\/strong\u003e theo cách thông thường — chúng là \"scratch space\" riêng của Claude.\u003c\/p\u003e\n\n\u003ch2\u003eKích hoạt Extended Thinking qua API\u003c\/h2\u003e\n\n\u003cp\u003eĐể bật Extended Thinking, thêm tham số \u003ccode\u003ethinking\u003c\/code\u003e vào API call:\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003eimport anthropic\n\nclient = anthropic.Anthropic()\n\nresponse = client.messages.create(\n    model=\"claude-opus-4-5\",\n    max_tokens=16000,\n    thinking={\n        \"type\": \"enabled\",\n        \"budget_tokens\": 10000  # Số token dành cho suy luận\n    },\n    messages=[{\n        \"role\": \"user\",\n        \"content\": \"Giải bài toán này: Một đoàn tàu dài 200m chạy với vận tốc 60km\/h. Hỏi tàu mất bao nhiêu giây để qua một cây cầu dài 1.5km?\"\n    }]\n)\n\n# Response chứa cả thinking blocks và text blocks\nfor block in response.content:\n    if block.type == \"thinking\":\n        print(\"=== THINKING ===\")\n        print(block.thinking)\n    elif block.type == \"text\":\n        print(\"=== ANSWER ===\")\n        print(block.text)\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003cp\u003eOutput sẽ trông như thế này:\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003e=== THINKING ===\nBài toán này liên quan đến chuyển động đều.\n- Chiều dài đoàn tàu: 200m = 0.2km\n- Chiều dài cầu: 1.5km\n- Tổng quãng đường tàu cần đi để HOÀN TOÀN qua cầu =\n  chiều dài cầu + chiều dài tàu = 1.5 + 0.2 = 1.7km\n- Vận tốc: 60km\/h = 60000m\/3600s = 16.67 m\/s\n- Thời gian = quãng đường \/ vận tốc = 1700m \/ 16.67 m\/s ≈ 102 giây\n\n=== ANSWER ===\nĐoàn tàu mất khoảng **102 giây** để qua cầu hoàn toàn.\n\nCách tính:\n- Tổng quãng đường = 1.5km + 0.2km = 1.7km = 1700m\n- Vận tốc = 60km\/h ≈ 16.67 m\/s\n- Thời gian = 1700 ÷ 16.67 ≈ 102 giây\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eBudget Tokens — Điều chỉnh độ sâu suy luận\u003c\/h2\u003e\n\n\u003cp\u003eTham số \u003ccode\u003ebudget_tokens\u003c\/code\u003e quyết định \"ngân sách tư duy\" của Claude. Đây là trade-off giữa chất lượng và chi phí:\u003c\/p\u003e\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n\u003cth\u003eBudget Tokens\u003c\/th\u003e\n\u003cth\u003eUse Case\u003c\/th\u003e\n\u003cth\u003eChi phí tương đối\u003c\/th\u003e\n\u003c\/tr\u003e\n  \u003c\/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003e1,000 - 3,000\u003c\/td\u003e\n\u003ctd\u003eCâu hỏi đơn giản, cần một chút reasoning\u003c\/td\u003e\n\u003ctd\u003eThấp\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e5,000 - 10,000\u003c\/td\u003e\n\u003ctd\u003ePhân tích trung bình, toán học cơ bản\u003c\/td\u003e\n\u003ctd\u003eTrung bình\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e10,000 - 32,000\u003c\/td\u003e\n\u003ctd\u003eBài toán phức tạp, multi-step logic\u003c\/td\u003e\n\u003ctd\u003eCao\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e32,000+\u003c\/td\u003e\n\u003ctd\u003eResearch-level problems, proofs, architecture\u003c\/td\u003e\n\u003ctd\u003eRất cao\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003cp\u003e\u003cstrong\u003eLưu ý quan trọng:\u003c\/strong\u003e \u003ccode\u003emax_tokens\u003c\/code\u003e phải lớn hơn \u003ccode\u003ebudget_tokens\u003c\/code\u003e — vì \u003ccode\u003emax_tokens\u003c\/code\u003e bao gồm cả thinking tokens lẫn response tokens.\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003e# Đúng: max_tokens \u0026gt; budget_tokens\nresponse = client.messages.create(\n    model=\"claude-opus-4-5\",\n    max_tokens=20000,      # Tổng token tối đa\n    thinking={\n        \"type\": \"enabled\",\n        \"budget_tokens\": 15000   # Token dành cho thinking\n    },\n    ...\n)\n\n# Sai: sẽ gây lỗi\nresponse = client.messages.create(\n    max_tokens=5000,\n    thinking={\"type\": \"enabled\", \"budget_tokens\": 10000},  # Lỗi!\n    ...\n)\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eĐọc và xử lý Thinking Content\u003c\/h2\u003e\n\n\u003cp\u003eResponse từ Extended Thinking có cấu trúc phức tạp hơn. Bạn cần xử lý nhiều loại block:\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003edef process_thinking_response(response):\n    thinking_content = []\n    text_content = []\n\n    for block in response.content:\n        if block.type == \"thinking\":\n            thinking_content.append({\n                \"type\": \"thinking\",\n                \"text\": block.thinking,\n                \"tokens\": len(block.thinking.split())  # Ước tính\n            })\n        elif block.type == \"text\":\n            text_content.append({\n                \"type\": \"text\",\n                \"text\": block.text\n            })\n\n    return {\n        \"thinking\": thinking_content,\n        \"answer\": text_content,\n        \"total_thinking_chars\": sum(\n            len(t[\"text\"]) for t in thinking_content\n        )\n    }\n\nresult = process_thinking_response(response)\nprint(f\"Claude đã suy nghĩ {result['total_thinking_chars']} ký tự\")\nprint(f\"Câu trả lời: {result['answer'][0]['text']}\")\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eUse Cases tốt nhất cho Extended Thinking\u003c\/h2\u003e\n\n\u003ch3\u003e1. Toán học và khoa học\u003c\/h3\u003e\n\u003cp\u003eExtended Thinking shine nhất với bài toán nhiều bước:\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003eproblem = \"\"\"\nMột bể nước hình trụ có đường kính 3m và chiều cao 4m.\nNước được bơm vào với tốc độ 500 lít\/phút.\nNước chảy ra qua van đáy với tốc độ phụ thuộc độ cao:\nQ_out = 200 * sqrt(h) lít\/phút (h là chiều cao nước tính bằng mét).\n\nHỏi: Mực nước ổn định (equilibrium) là bao nhiêu?\n\"\"\"\n\nresponse = client.messages.create(\n    model=\"claude-opus-4-5\",\n    max_tokens=8000,\n    thinking={\"type\": \"enabled\", \"budget_tokens\": 5000},\n    messages=[{\"role\": \"user\", \"content\": problem}]\n)\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003e2. Logic và Reasoning\u003c\/h3\u003e\n\n\u003cpre\u003e\u003ccode\u003elogic_puzzle = \"\"\"\nCó 5 người sống trong 5 căn nhà màu khác nhau.\nMỗi người có quốc tịch khác nhau, uống loại đồ uống khác nhau,\nhút loại thuốc khác nhau, và nuôi con vật khác nhau.\n\n1. Người Anh sống trong nhà màu đỏ.\n2. Người Thụy Điển nuôi chó.\n3. Người Đan Mạch uống trà.\n[... các gợi ý tiếp theo ...]\n\nAi nuôi cá?\n\"\"\"\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003e3. Code Review và Architecture\u003c\/h3\u003e\n\n\u003cpre\u003e\u003ccode\u003ecode_review_prompt = \"\"\"\nReview kiến trúc microservices này và chỉ ra:\n1. Single points of failure\n2. Bottlenecks tiềm ẩn\n3. Security vulnerabilities\n4. Cải tiến đề xuất\n\n[Paste system diagram hoặc code ở đây]\n\"\"\"\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch3\u003e4. Phân tích văn bản phức tạp\u003c\/h3\u003e\n\n\u003cpre\u003e\u003ccode\u003eanalysis_prompt = \"\"\"\nPhân tích hợp đồng pháp lý này và xác định:\n- Các điều khoản bất lợi cho bên B\n- Ambiguities có thể gây tranh chấp\n- Missing clauses thông thường trong loại hợp đồng này\n- Rủi ro pháp lý chính\n\n[Nội dung hợp đồng]\n\"\"\"\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eStreaming với Extended Thinking\u003c\/h2\u003e\n\n\u003cp\u003eExtended Thinking hỗ trợ streaming để hiển thị quá trình suy luận real-time:\u003c\/p\u003e\n\n\u003cpre\u003e\u003ccode\u003ewith client.messages.stream(\n    model=\"claude-opus-4-5\",\n    max_tokens=16000,\n    thinking={\"type\": \"enabled\", \"budget_tokens\": 10000},\n    messages=[{\"role\": \"user\", \"content\": \"Phân tích chiến lược kinh doanh...\"}]\n) as stream:\n    for event in stream:\n        if hasattr(event, 'type'):\n            if event.type == 'content_block_start':\n                if hasattr(event.content_block, 'type'):\n                    if event.content_block.type == 'thinking':\n                        print(\"\n[Bắt đầu suy luận...]\")\n                    elif event.content_block.type == 'text':\n                        print(\"\n[Câu trả lời:]\")\n            elif event.type == 'content_block_delta':\n                if hasattr(event.delta, 'thinking'):\n                    print(event.delta.thinking, end='', flush=True)\n                elif hasattr(event.delta, 'text'):\n                    print(event.delta.text, end='', flush=True)\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003ch2\u003eKhi nào KHÔNG nên dùng Extended Thinking?\u003c\/h2\u003e\n\n\u003cp\u003eExtended Thinking không phải silver bullet. Tránh dùng khi:\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCâu hỏi đơn giản\u003c\/strong\u003e — \"Thủ đô Việt Nam là gì?\" không cần 10,000 thinking tokens\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLatency critical\u003c\/strong\u003e — Chatbot real-time, autocomplete — thinking thêm delay đáng kể\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eBudget nhạy cảm\u003c\/strong\u003e — Thinking tokens tốn kém như output tokens; với volume cao, chi phí tăng gấp đôi\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSimple extraction tasks\u003c\/strong\u003e — Extract JSON từ text, format conversion — không cần reasoning\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eTổng kết\u003c\/h2\u003e\n\n\u003cp\u003eExtended Thinking là công cụ mạnh mẽ khi bạn cần Claude xử lý các bài toán phức tạp với độ chính xác cao. Key takeaways:\u003c\/p\u003e\n\n\u003cul\u003e\n  \u003cli\u003eBật bằng tham số \u003ccode\u003ethinking: {type: \"enabled\", budget_tokens: N}\u003c\/code\u003e\n\u003c\/li\u003e\n  \u003cli\u003e\n\u003ccode\u003emax_tokens\u003c\/code\u003e phải lớn hơn \u003ccode\u003ebudget_tokens\u003c\/code\u003e\n\u003c\/li\u003e\n  \u003cli\u003eThinking blocks tách biệt với response — bạn có thể đọc hoặc bỏ qua\u003c\/li\u003e\n  \u003cli\u003eHiệu quả nhất với: toán học, logic, phân tích phức tạp, code review\u003c\/li\u003e\n  \u003cli\u003eKhông cần thiết cho câu hỏi đơn giản hoặc latency-critical apps\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eBước tiếp theo: Khám phá \u003ca href=\"\/collections\/nang-cao\"\u003eExtended Thinking kết hợp Tool Use\u003c\/a\u003e — khi Claude vừa suy luận sâu vừa gọi external tools để giải quyết bài toán phức tạp hơn.\u003c\/p\u003e\n\n\u003chr\u003e\n\u003ch3\u003eBài viết liên quan\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"\/products\/extended-thinking-tool-use-suy-lu%E1%BA%ADn-sau-k%E1%BA%BFt-h%E1%BB%A3p-cong-c%E1%BB%A5\"\u003eExtended Thinking + Tool Use — Suy luận sâu kết hợp công cụ\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/calculator-tool-bai-h%E1%BB%8Dc-d%E1%BA%A7u-tien-v%E1%BB%81-tool-use-v%E1%BB%9Bi-claude\"\u003eCalculator Tool — Bài học đầu tiên về Tool Use với Claude\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/b%E1%BA%AFt-d%E1%BA%A7u-v%E1%BB%9Bi-claude-vision-g%E1%BB%ADi-hinh-%E1%BA%A3nh-qua-api\"\u003eBắt đầu với Claude Vision — Gửi hình ảnh qua API\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/extended-thinking-ultrathink-khai-thac-suy-lu%E1%BA%ADn-sau-c%E1%BB%A7a-claude\"\u003eExtended Thinking \u0026amp; Ultrathink — Khai thác suy luận sâu của Claude\u003c\/a\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ca href=\"\/products\/claude-cho-data-t%E1%BA%A1o-bi%E1%BB%83u-d%E1%BB%93-va-visualization\"\u003eClaude cho Data: Tạo biểu đồ và visualization\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Minh Tuấn","offers":[{"title":"Default Title","offer_id":47721896542420,"sku":null,"price":0.0,"currency_code":"VND","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0821\/0264\/9044\/files\/extended-thinking-d_-claude-suy-lu_n-t_ng-b_c-minh-b_ch_45bb96cb-fead-4c02-8e2a-1531fec5db39.jpg?v=1774521753","url":"https:\/\/claude.vn\/products\/extended-thinking-d%e1%bb%83-claude-suy-lu%e1%ba%adn-t%e1%bb%abng-b%c6%b0%e1%bb%9bc-minh-b%e1%ba%a1ch","provider":"CLAUDE.VN","version":"1.0","type":"link"}