Vấn Đề Của Agent Trước Tháng Này

Tôi đã xây dựng AI agent trong môi trường production từ năm 2024. Và trong hầu hết thời gian đó, vấn đề khó không bao giờ là sự thông minh của model — mà là phần “ống nước” (plumbing) xung quanh nó.

Context window đầy. Agent quên chuyện xảy ra ba lượt trước. Bạn phải tự làm layer memory. Bạn viết code mong manh để tóm tắt hội thoại trước khi nó vượt giới hạn context. Bạn xây error handling cho mọi edge case khi LLM gặp thực tế.

Đó là chi phí thực sự của việc phát triển agentic AI: không phải API call, mà là scaffolding bạn phải xây xung quanh nó.

Các cập nhật Claude API tháng 3/2026 của Anthropic giải quyết gần như toàn bộ những vấn đề này một cách trực tiếp. Sau khi xem xét đầy đủ release notes và ship một production agent với các tính năng mới này, đây là đánh giá thực tế của tôi.


Compaction API: Hội Thoại Vô Hạn Không Cần Hack

Thông báo lớn nhất là Compaction API (beta) cho Claude Opus 4.6. Tính năng này cung cấp context summarization phía server — bạn gửi một hội thoại dài, Claude trả về phiên bản nén giữ nguyên ngữ nghĩa trong khi vẫn nằm trong context window đang hoạt động.

Trước đây, mọi team tôi biết đều tự xây summarization logic:

# Cách cũ — ai cũng viết kiểu này
def compress_context(messages, model="claude-sonnet-4-6"):
    if count_tokens(messages) > THRESHOLD:
        summary = client.messages.create(
            model=model,
            messages=[{"role": "user", "content": f"Tóm tắt cuộc hội thoại này: {messages}"}]
        )
        return [{"role": "system", "content": summary.content[0].text}]
    return messages

Vấn đề: bạn đang thực hiện thêm API call, mất độ chính xác trong những gì được tóm tắt, và logic tóm tắt của bạn có thể không khớp với cách Claude thực sự lý luận. Về cơ bản bạn đang đoán mò.

Compaction API làm điều này tự nhiên, phía Anthropic, dùng chính model sẽ xử lý lượt tiếp theo. Nó hiểu context nào thực sự cần thiết — không phải những gì heuristic summary nghĩ là cần.

Tác động thực tế với dự án của tôi: Một customer support agent tôi đang vận hành tiêu tốn khoảng 18% ngân sách token cho context management. Với Compaction API, overhead đó giảm gần về không.


Memory Tool: State Xuyên Session Không Cần Database

Memory tool (beta) mới cho phép Claude lưu trữ và truy xuất thông tin qua các hội thoại. Đây không phải trick thông minh — đây là tính năng API first-class.

# Claude giờ có thể tự làm điều này
client.messages.create(
    model="claude-opus-4-6",
    tools=[{"type": "memory"}],
    messages=[{
        "role": "user",
        "content": "Nhớ rằng database production của chúng ta dùng PostgreSQL 16 với read replicas ở eu-west-1"
    }]
)
# Session tiếp theo — Claude nhớ điều này mà không cần bạn inject vào context

Điều tôi hứng thú nhất là những gì nó loại bỏ khỏi kiến trúc. Tôi đã duy trì Redis-backed memory store cho các dự án agent, với serialization logic, TTL management, và retrieval scoring. Giờ đây tất cả điều đó trở thành tùy chọn cho nhiều use case.

Hạn chế còn lại: Với ứng dụng multi-tenant, bạn vẫn cần storage layer riêng — memory tool là per-user, per-organization, nhưng bạn chưa thể query xuyên users hay áp dụng custom retention policies. Với enterprise scenarios, bạn vẫn muốn memory infrastructure riêng. Memory tool mạnh nhất cho ứng dụng single-user hoặc personal agent.


Effort Parameter: Cuối Cùng Là Chi Phí Reasoning Có Thể Dự Đoán

Effort parameter giờ đã generally available (không cần beta header) và hỗ trợ Opus 4.6. Nó thay thế budget_tokens cũ để kiểm soát độ sâu suy nghĩ.

# Điều chỉnh độ sâu thinking theo loại request
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=4096,
    thinking={"type": "enabled", "effort": "low"},  # hoặc "medium", "high"
    messages=[{"role": "user", "content": "Soạn nhanh tóm tắt email này"}]
)

# Chỉ dùng high effort khi thực sự cần
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=8192,
    thinking={"type": "enabled", "effort": "high"},
    messages=[{"role": "user", "content": "Phân tích kiến trúc này và tìm failure modes"}]
)

Trong thực tế, low effort chạy với chi phí tương đương Sonnet 4.6. high effort tiếp cận full extended thinking và tính phí tương ứng. Insight then chốt: hầu hết tasks không cần độ sâu reasoning tối đa. Bằng cách định tuyến tasks theo effort level, bạn có thể giảm bill 40-60% mà không hy sinh chất lượng ở chỗ quan trọng.

Tôi chạy benchmark trên 200 developer assistant requests điển hình. Với code explanation, documentation, và generation tasks đơn giản — low effort tạo kết quả tương đương 89% thời gian. Chỉ complex multi-file refactoring và architectural analysis mới thực sự cần high effort.


Web Fetch Tool: External Memory Layer

Web fetch tool (beta) cho phép Claude truy xuất nội dung từ URLs và PDFs trong hội thoại. Tính năng này mạnh hơn vẻ ngoài.

Use case tôi hứng thú nhất: documentation retrieval. Thay vì inject toàn bộ API docs vào context, bạn đưa cho Claude URL và nó fetch chính xác những gì cần:

response = client.messages.create(
    model="claude-opus-4-6",
    tools=[{"type": "web_fetch"}],
    messages=[{
        "role": "user",
        "content": "Dùng Stripe API docs tại https://stripe.com/docs/api, cho tôi xem cách tạo payment intent với automatic payment methods"
    }]
)

Claude fetch, parse, và lý luận trên documentation trực tiếp thay vì dữ liệu training có thể đã lỗi thời. Với một technical lead, đây là cải tiến lớn cho code review và thảo luận kiến trúc nơi standards và APIs thay đổi liên tục.


MCP Plugin Ecosystem: Miền Tây Hoang Dã (Kèm Rủi Ro)

Anthropic mở Claude Plugin Marketplace vào tháng 2/2026, và đến tháng 3, sáu enterprise partner đã live: GitLab, Harvey, Lovable, Replit và hai cái khác. Còn nhiều nữa đang đến.

Capabilities được mở khóa bởi MCP (Model Context Protocol) rất ấn tượng. Plugin của GitLab cho phép Claude trực tiếp tạo PR, review code theo standards của team, và kích hoạt CI/CD pipelines — tất cả từ trong hội thoại Claude.

Nhưng tôi muốn đặt cờ về rủi ro mà các nhà nghiên cứu bảo mật đã ghi lại: đến tháng 3/2026, đã có 655 “skills” độc hại được cataloged. Vector tấn công là prompt injection qua plugin — một skill độc hại có thể inject hướng dẫn vào context của Claude để exfiltrate dữ liệu qua các phản hồi hội thoại bình thường.

Khuyến nghị của tôi: Trong production agent systems, chỉ dùng verified enterprise plugins. Audit bất kỳ MCP server bên thứ ba nào bạn thêm vào stack. Xử lý plugins như npm packages — bạn sẽ không npm install một package chưa được review trong production.


Điều Này Có Nghĩa Gì Với Kiến Trúc Của Bạn

Đây là cách tôi đang tái cấu trúc agent architecture dựa trên các cập nhật này:

Trước tháng 3/2026:

User → Agent → Context Manager → Summarizer → Memory DB → Redis → Claude API

Sau tháng 3/2026:

User → Agent → Claude API (Compaction + Memory + Web Fetch)

Middle layer gần như biến mất. Claude xử lý context management, memory, và external retrieval natively. Những gì còn lại là business logic, tool integrations, và application-specific state.

Đây không chỉ là giảm chi phí — đây là cải thiện độ tin cậy. Mỗi layer tôi loại bỏ là một layer có thể fail, drift, hoặc có bugs. Kiến trúc đơn giản hơn là kiến trúc đáng tin cậy hơn.


Kết Luận

Các cập nhật API tháng 3/2026 của Anthropic cảm giác như lần đầu tiên infrastructure đuổi kịp tham vọng. Những vấn đề chúng ta giải quyết bằng custom code — context management, memory, external retrieval, kiểm soát chi phí reasoning — giờ có giải pháp first-class.

Nếu bạn đang xây dựng agents hôm nay và chưa review những tính năng này, hãy dành một ngày để migrate. Compaction API và effort parameter đơn thuần sẽ giảm đáng kể chi phí vận hành. Memory tool sẽ đơn giản hóa kiến trúc. Và web fetch tool mở ra responses real-time, có cơ sở mà trước đây không thể có mà không cần RAG pipeline đắt tiền.

Rào cản cho production AI agents năm 2025 là “ống nước”. Năm 2026, cuối cùng là về sản phẩm.


Bạn đã ship production agent với các tính năng mới này chưa? Tôi tò mò về edge cases bạn gặp phải — liên hệ qua LinkedIn hoặc form liên lạc.

Xuất nội dung

Bình luận