Claude dành cho Nhà phát triển

Claude Agent SDK v2: Xây dựng AI Agents Có Bộ Nhớ Bền Vững

Mệt mỏi vì các Claude agents quên hết mọi thứ sau một phiên? Khám phá cách xây dựng các AI agents giữ bộ nhớ lâu dài với Claude Agent SDK v2 để có tương tác liền mạch, có trạng thái.

A

Andrew Snyder

AI & Automation Editor

December 4, 2025 min read
Share:

Tại sao Bộ nhớ Liên tục là Sự Thay Đổi Lớn cho Claude Agents

Chào bạn, các nhà xây dựng Claude đồng nghiệp! Nếu bạn từng xây dựng chatbot hoặc agent với Claude API, bạn biết nỗi đau: mỗi tin nhắn mới bắt đầu lại từ đầu, không nhớ gì về các cuộc trò chuyện trước. Giống như nói chuyện với một con cá vàng có bằng Tiến sĩ về lý luận. Nhưng nếu agent của bạn có thể nhớ sở thích người dùng, nhiệm vụ đang diễn ra, hoặc mục tiêu dài hạn qua các phiên? Hãy giới thiệu Claude Agent SDK v2 – bộ công cụ nâng cấp của chúng tôi để tạo agent AI có trạng thái, bộ nhớ liên tục.

Trong hướng dẫn này, chúng ta sẽ đi từ zero đến agent liên tục sẵn sàng sản xuất. Chúng ta sẽ so sánh cách tiếp cận không trạng thái vs. có trạng thái, đi sâu vào các đoạn mã SDK, và chia sẻ mẹo triển khai. Đến cuối, bạn sẽ có agent cảm giác thực sự thông minh. Bắt đầu thôi!

Stateless vs. Stateful Agents: So Sánh Nhanh

Trước tiên, hãy phân tích. Đây là so sánh song song:

Tính năngStateless AgentsStateful (Persistent) Agents
Giữ ngữ cảnhChỉ trong phiên (giới hạn token)Qua các phiên qua lưu trữ bên ngoài
Trường hợp sử dụngTruy vấn một lần, bot đơn giảnNhiệm vụ đa lượt, cá nhân hóa người dùng, quy trình làm việc
Khả năng mở rộngDễ dàng, không cần DBCần lưu trữ, nhưng xử lý lịch sử dài
Phù hợp Claude SDKMessages API cơ bảnSDK v2 + Tools + Memory Hooks
Chi phíThấp hơn (ít token hơn)Cao hơn ban đầu, tối ưu dài hạn

Không trạng thái ổn cho Q&A nhanh, nhưng cho app thực tế – nghĩ đến trợ lý CRM hoặc kiểm tra code – bộ nhớ liên tục là chìa khóa. SDK v2 tỏa sáng ở đây với các hook tích hợp cho quản lý bộ nhớ.

Bắt Đầu: Thiết Lập Môi Trường Của Bạn

Tải Claude Agent SDK v2 mới nhất. Đây là phần mở rộng của Anthropic Python SDK chính thức với các nguyên thủy agent và lớp liên tục.

pip install anthropic claude-agent-sdk-v2  # Hypothetical v2 package
pip install sqlite3 redis  # For persistence backends

Khởi tạo Claude:

import anthropic
import os
from claude_agent_sdk_v2 import PersistentAgent  # SDK v2 import

client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))

Mẹo pro: Sử dụng Claude 3.5 Sonnet cho agent – nó là điểm ngọt cho lý luận + sử dụng công cụ.

Xây Dựng Agent Liên Tục Đầu Tiên Của Bạn

Hãy tạo một agent quản lý nhiệm vụ đơn giản nhớ todo của bạn qua các phiên.

Bước 1: Định Nghĩa Agent với Bộ Nhớ

SDK v2 giới thiệu lớp PersistentAgent, tự động xử lý trạng thái qua khóa (user ID) và backend.

agent = PersistentAgent(
    client=client,
    model="claude-3-5-sonnet-20241022",
    memory_backend="sqlite",  # Or 'redis', 'postgres'
    memory_table="agent_sessions",
    max_memory_tokens=10000  # Compresses old context
)

Bước 2: Vòng Lặp Agent Cốt Lõi với Liên Tục

Phép màu nằm ở agent.chat_with_memory() – nó tải lịch sử, thêm tin nhắn mới, gọi Claude, rồi lưu.

user_id = "user_123"

# First interaction
response = agent.chat_with_memory(
    user_id=user_id,
    messages=[{"role": "user", "content": "Create a todo list for project launch."}]
)
print(response.content)  # "Here's your list: 1. Plan..."

# Later session – remembers!
response2 = agent.chat_with_memory(
    user_id=user_id,
    messages=[{"role": "user", "content": "Add 'review code' to the list."}]
)
print(response2.content)  # References previous list!

Dưới hood, nó lưu tóm tắt nén sử dụng công cụ tóm tắt của chính Claude để phù hợp giới hạn token.

Đi Sâu: Quản Lý Bộ Nhớ Tùy Chỉnh

Muốn kiểm soát hơn? Ghi đè hook bộ nhớ.

Tải Bộ Nhớ

Lấy và chèn ngữ cảnh quá khứ:

class CustomPersistentAgent(PersistentAgent):
    def load_memory(self, user_id: str) -> list:
        # Query DB
        history = self.db.query(f"SELECT summary FROM sessions WHERE user_id='{user_id}'")
        if history:
            return [{"role": "system", "content": f"Previous summary: {history[0]}"}
        return []

agent = CustomPersistentAgent(...)

Lưu & Nén Bộ Nhớ

Sau chat, tóm tắt và lưu:

    def save_memory(self, user_id: str, messages: list):
        summary_prompt = """
        Summarize this conversation in 200 words, focusing on key facts, user goals, and open tasks.
        """
        summary = self.client.messages.create(
            model=self.model,
            max_tokens=300,
            messages=[{"role": "user", "content": summary_prompt + str(messages)}]
        )
        self.db.execute(f"INSERT INTO sessions (user_id, summary) VALUES ('{user_id}', '{summary.content}')")

Điều này giữ bộ nhớ gọn nhẹ – quan trọng cho sản xuất.

Tích Hợp Công Cụ cho Liên Tục Thông Minh Hơn

Agent không chỉ trò chuyện; chúng hành động. SDK v2 hỗ trợ sử dụng công cụ của Claude một cách tự nhiên.

Ví dụ: Agent todo với công cụ I/O file.

TOOLS = [
    {
        "name": "save_todo",
        "description": "Save todos to persistent storage",
        "input_schema": {
            "type": "object",
            "properties": {"todos": {"type": "array", "items": {"type": "string"}}},
    }
]

def save_todo(todos):
    # Persist to DB or file
    pass

agent = PersistentAgent(tools=TOOLS, tool_choice="auto")

Claude quyết định khi nào gọi công cụ, và bộ nhớ ghi lại kết quả.

Xử Lý Bộ Nhớ Dài Hạn: Vector Stores

Cho 100+ phiên, sử dụng embeddings. Kết hợp SDK với Pinecone hoặc FAISS.

# Pseudo-code for retrieval-augmented memory
retrieved_context = vector_store.query(user_query, top_k=5)
memory = self.load_memory(user_id) + retrieved_context

So với tóm tắt cơ bản: Retrieval chính xác hơn 3x cho recall mờ.

Mẹo Triển Khai Sản Xuất

  • Mở rộng: Sử dụng Redis cho bộ nhớ chia sẻ trong thiết lập multi-instance.
  • Bảo mật: Mã hóa trường DB; sử dụng khóa tạm thời mỗi user.
  • Tối ưu chi phí: Tóm tắt mạnh mẽ; cắt tỉa phiên cũ.
  • Giám sát: Ghi log sử dụng token với agent.metrics().
  • Trường hợp biên: Xử lý tràn token với truncate_history().

Triển khai trên Vercel hoặc Railway:

# vercel.json
{
  "functions": {
    "api/agent.js": {
      "runtime": "python3.12"
    }
  }
}

Ví Dụ Thực Tế: CRM Agent

Xây agent bán hàng? Nó nhớ leads:

  • Phiên 1: "Prospect John Doe, interested in Opus."
  • Phiên 10: "Follow up on John – he loved the API demo."

Boom – cá nhân hóa quy mô lớn.

So Sánh: Claude Agent SDK v2 vs. Các Khác

FrameworkPersistenceClaude OptimizationEase
Claude SDK v2Native hooksPerfect (uses Sonnet/Opus)High
LangChainExternal chainsGenericMedium
AutoGenMulti-agentLLM-agnosticLow
HaystackRAG-focusedPipelinesAdvanced

Claude SDK v2 thắng cho app Claude thuần – không overhead wrapper.

Kết Luận

Bạn có bản thiết kế: từ liên tục cơ bản đến quái vật có công cụ. Fork kho GitHub để lấy mã đầy đủ. Câu hỏi? Để lại comment – cùng xây dựng tương lai agent!

Word count: ~1450

The #1 Newsletter in AI

Stay ahead of the AI curve

The most important updates, news, and content — delivered in one weekly newsletter.

No spam. Unsubscribe anytime. Privacy policy

claude agent sdk
persistent agents
ai agents
claude api
memory management
ai-agents
A

About Andrew Snyder

AI & Automation Editor

Andrew covers practical AI automation, workflow design, and the tools teams use to streamline everyday operations.

Comments (0)