Extended Thinking & Ultrathink — Khai thác suy luận sâu của Claude
Extended Thinking là gì
Extended Thinking là tính năng cho phép Claude dành thời gian suy nghĩ sâu trước khi đưa ra câu trả lời cuối cùng. Thay vì trả lời ngay lập tức dựa trên pattern recognition, Claude sẽ thực hiện một quá trình internal reasoning — giống như một chuyên gia ngồi viết nháp, suy nghĩ nhiều góc độ, kiểm tra lỗi logic, trước khi đưa ra kết luận.
Về mặt kỹ thuật, Extended Thinking hoạt động thông qua "thinking tokens" — một loại token đặc biệt không xuất hiện trong conversation bình thường nhưng được dùng để Claude "làm việc bên trong" trước khi tạo ra response cuối. Người dùng và developer có thể chọn xem hay không xem nội dung thinking này.
Cơ chế hoạt động — Thinking Tokens
Khi Extended Thinking được bật, Claude tạo ra hai loại output:
- Thinking block: Quá trình reasoning nội tâm — đây là nơi Claude "làm bài nháp", thử các hướng tiếp cận, phát hiện lỗi, và tự sửa
- Response block: Câu trả lời cuối cùng, được rút ra từ quá trình thinking ở trên
// Response structure khi dùng Extended Thinking
{
"content": [
{
"type": "thinking",
"thinking": "Hãy để tôi phân tích bài toán này...
Đầu tiên, tôi cần xem xét...
Hmm, cách tiếp cận A có vấn đề vì...
Thử cách B: ..."
},
{
"type": "text",
"text": "Câu trả lời cuối cùng của tôi là..."
}
]
}
Quan trọng: Thinking tokens thường không được cache trong hầu hết trường hợp và chi phí cao hơn regular tokens. Đây là lý do tại sao cần cân nhắc kỹ khi nào nên bật tính năng này.
Bật Extended Thinking qua API
Extended Thinking được cấu hình thông qua tham số thinking trong API call, với tham số quan trọng nhất là budget_tokens — giới hạn tối đa số thinking tokens Claude có thể dùng:
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic();
const response = await client.messages.create({
model: "claude-opus-4",
max_tokens: 16000,
thinking: {
type: "enabled",
budget_tokens: 10000 // Cho phép tối đa 10K thinking tokens
},
messages: [
{
role: "user",
content: "Thiết kế kiến trúc microservices cho hệ thống e-commerce xử lý 1 triệu đơn hàng/ngày. Yêu cầu: high availability, eventual consistency, và cost-effective trên AWS."
}
]
});
Đọc thinking content
for (const block of response.content) {
if (block.type === 'thinking') {
console.log('Claude đang suy nghĩ:', block.thinking);
} else if (block.type === 'text') {
console.log('Câu trả lời:', block.text);
}
}
Ultrathink — Reasoning ở mức tối đa
Ultrathink không phải là một API tham số riêng — đây là cách cộng đồng gọi việc set budget_tokens ở mức rất cao (32.000 tokens trở lên) để Claude có đủ không gian suy nghĩ cho các vấn đề cực kỳ phức tạp.
Khi dùng Ultrathink với Claude Opus, bạn đang khai thác full reasoning capacity của model — phù hợp cho:
- Bài toán toán học nâng cao (số học, tổ hợp, xác suất phức tạp)
- Thiết kế hệ thống lớn với nhiều ràng buộc
- Phân tích chiến lược kinh doanh phức tạp
- Debug lỗi khó trong hệ thống phức tạp
- Viết code architecture với nhiều edge cases
// Ultrathink configuration
const response = await client.messages.create({
model: "claude-opus-4",
max_tokens: 32000,
thinking: {
type: "enabled",
budget_tokens: 31000 // Gần như toàn bộ tokens dành cho thinking
},
messages: [/* complex task */]
});
Khi nào nên dùng Extended Thinking
Extended Thinking không phải "luôn tốt hơn". Nó là công cụ cho đúng hoàn cảnh:
Nên dùng khi:
- Toán học và logic phức tạp: Bài toán có nhiều bước, dễ sai nếu không theo dõi cẩn thận. Extended Thinking giúp Claude không "nhảy" đến kết luận sai
- Code architecture decisions: Khi cần cân nhắc nhiều trade-offs (performance vs. maintainability, monolith vs. microservices)
- Phân tích multi-variable: Khi có nhiều yếu tố tác động qua lại nhau
- Brainstorming sâu: Khi bạn muốn Claude khám phá corner cases và edge scenarios
- Fact-checking quan trọng: Khi accuracy là critical và bạn muốn Claude double-check reasoning
Không nên dùng khi:
- Tasks đơn giản: Dịch một câu, format lại text, trả lời câu hỏi fact đơn giản — thinking tokens chỉ tốn tiền không cần thiết
- Ứng dụng real-time: Chatbot cần phản hồi trong 1-2 giây — Extended Thinking thêm 5-30 giây latency
- High-volume, low-complexity requests: Khi bạn cần xử lý hàng nghìn requests/ngày với nội dung tương tự
- Creative writing: Văn phong và sáng tạo không cần thinking tokens — đây là domain Claude đã giỏi sẵn
Tối ưu Thinking Token Budget
Chọn budget_tokens phù hợp là cả nghệ thuật lẫn khoa học:
| Budget range | Phù hợp cho | Latency thêm |
|---|---|---|
| 1.000 - 3.000 tokens | Tasks trung bình — cần chút suy nghĩ thêm nhưng không quá phức tạp | +3-8 giây |
| 5.000 - 10.000 tokens | Tasks phức tạp — code architecture, phân tích chiến lược | +10-20 giây |
| 16.000 - 32.000 tokens | Ultrathink — bài toán cực kỳ phức tạp, không giới hạn thời gian | +30-90 giây |
Claude không bắt buộc phải dùng hết budget_tokens — nó dừng thinking khi cảm thấy đã đủ. Vì vậy, set budget cao hơn cần thiết không nhất thiết tốn thêm chi phí nếu task không đủ phức tạp.
Chi phí và Implications
Thinking tokens được tính phí như input tokens nhưng ở mức cao hơn. Với Claude Opus:
- Regular input: ~$15 / 1M tokens
- Thinking tokens: ~$15 / 1M tokens (tính vào tổng input)
- Output tokens: ~$75 / 1M tokens
Một Ultrathink request với 30.000 thinking tokens + 2.000 output = khoảng $0.45-0.60 per request. Đắt hơn nhiều so với regular Opus call (~$0.10), nhưng cho kết quả có thể thay thế nhiều giờ làm việc của chuyên gia.
So sánh có/không có Extended Thinking
Bài toán: Tìm lỗi trong algorithm
Không có Extended Thinking: Claude thường nhận diện được lỗi rõ ràng nhưng có thể bỏ qua edge cases tinh tế, đặc biệt trong những thuật toán có nhiều state transitions.
Với Extended Thinking (5K budget): Claude trace qua từng bước execution với test cases khác nhau, phát hiện cả lỗi hiển nhiên lẫn lỗi chỉ xuất hiện với input đặc biệt. Thinking block thường chứa quá trình "chạy thử" algorithm trong đầu.
Bài toán: System design
Không có Extended Thinking: Câu trả lời đầy đủ về các components cần thiết nhưng có thể thiếu sót về failure modes, network partition handling, hay data consistency edge cases.
Với Extended Thinking (10K budget): Claude tự challenge assumptions của mình, xem xét failure scenarios, so sánh trade-offs của các design choices một cách systematic trước khi đưa ra recommendation.
Prompt Patterns hiệu quả với Extended Thinking
Một số prompt patterns giúp khai thác Extended Thinking tốt nhất:
Pattern 1: Explicit constraint listing
Thiết kế hệ thống với các constraints sau:
- Throughput: 100.000 req/s
- Latency: p99 dưới 50ms
- Budget: dưới $5.000/tháng
- Team size: 3 backend engineers
Phân tích trade-offs và đề xuất kiến trúc phù hợp nhất.
Pattern 2: Multi-perspective analysis
Đánh giá quyết định kinh doanh sau từ 3 góc độ:
1. Financial: ROI, cash flow, risk
2. Operational: implementation complexity, team capability
3. Strategic: market positioning, competitive advantage
Quyết định: [mô tả quyết định]
Pattern 3: Step-by-step verification
Giải bài toán sau và verify từng bước:
[Bài toán]
Sau khi giải, hãy:
1. Kiểm tra lại từng bước
2. Test với boundary cases
3. Confirm kết quả cuối cùng
Extended Thinking trong Agentic Workflows
Extended Thinking đặc biệt mạnh khi kết hợp với agentic workflows. Thay vì bật thinking cho mọi step, chỉ bật cho các "decision points" quan trọng:
async function agentWithSelectiveThinking(task) {
// Bước planning: cần thinking sâu
const plan = await claude.complete({
messages: [{ role: 'user', content: 'Lên kế hoạch cho: ' + task }],
thinking: { type: 'enabled', budget_tokens: 8000 }
});
// Bước execution: không cần thinking (actions rõ ràng)
for (const step of plan.steps) {
const result = await executeStep(step); // Không dùng thinking
}
// Bước reflection cuối: cần thinking để đánh giá
const review = await claude.complete({
messages: [{ role: 'user', content: 'Review kết quả: ' + results }],
thinking: { type: 'enabled', budget_tokens: 4000 }
});
}
Thực tế: Khi nào Extended Thinking thực sự tạo ra sự khác biệt
Qua thực tế sử dụng, Extended Thinking tạo ra sự khác biệt lớn nhất trong các tình huống:
- Code review phức tạp: Phát hiện race conditions và security vulnerabilities tinh tế mà không-thinking Claude bỏ qua
- Financial modeling: Đảm bảo tất cả assumptions được explicit và consistent
- Legal/compliance analysis: Xem xét nhiều tình huống áp dụng luật và edge cases
- Competitive analysis: Phân tích second-order effects của các quyết định chiến lược
Extended Thinking không phải là phép màu — nó là công cụ mạnh khi dùng đúng chỗ. Hiểu rõ khi nào cần suy nghĩ sâu và khi nào chỉ cần trả lời nhanh là kỹ năng quan trọng để tối ưu cả chất lượng lẫn chi phí khi làm việc với Claude.
Bài viết liên quan
Bai viet co huu ich khong?
Bản quyền thuộc về tác giả. Vui lòng dẫn nguồn khi chia sẻ.






