Claude Managed Agents là gì? Xây dựng AI agent tự động với Anthropic
"Nếu AI không chỉ trả lời câu hỏi, mà còn tự lập kế hoạch và thực hiện nhiều bước tác vụ thì sao?"
Đó chính là thế giới của AI agent.
Với Claude API, bạn có thể xây dựng "AI agent tự chủ" vượt xa chatbot Q&A thông thường. Bài viết này giải thích cơ chế hoạt động của Claude Managed Agents và cách triển khai cơ bản.
Xem tổng quan về Claude tại Claude là gì.
AI Agent là gì?
Định nghĩa AI Agent
AI Agent là hệ thống AI có thể tự lên kế hoạch và thực hiện các hành động để đạt mục tiêu một cách tự chủ. Từ khóa là "tự chủ" — không cần con người chỉ đạo từng bước.
Sự khác biệt giữa chatbot và AI agent
| Đặc điểm | Chatbot thông thường | AI Agent |
|---|---|---|
| Cách hoạt động | Input → Trả lời (1 bước) | Mục tiêu → Lập kế hoạch → Nhiều hành động |
| Dùng tools | Không | Tìm kiếm web, thao tác file, gọi API |
| Tự chủ | Không | Có (AI tự quyết định hành động tiếp theo) |
Claude Managed Agents là gì?
Kiến trúc Managed Agents
Yêu cầu người dùng
↓
Orchestrator Agent (Chỉ huy — Claude đảm nhiệm)
↓ Phân tích và chia nhỏ thành subtask
↓ ↓ ↓
Sub-agent 1 Sub-agent 2 Sub-agent 3
↓ ↓ ↓
Tools Tools Tools
(tìm kiếm) (tính toán) (thao tác file)
↓ ↓ ↓
Tổng hợp kết quả
↓
Phản hồi cuối cùng
Tại sao Anthropic phát triển Managed Agents?
Để vượt qua giới hạn của một LLM đơn lẻ: xử lý song song nhiều tác vụ, chia nhỏ bài toán phức tạp, lấy thông tin thời gian thực qua tools bên ngoài.
Các thành phần của Claude Managed Agents
Orchestrator Agent
"Chỉ huy" nhận yêu cầu, phân tích tác vụ, ủy thác cho sub-agent và tổng hợp kết quả. Thường dùng model mạnh nhất (Sonnet hoặc Opus).
Subagent
Agent thực thi tác vụ cụ thể theo chỉ đạo của Orchestrator. Dùng Haiku cho tác vụ đơn giản để tiết kiệm chi phí.
Tool Use (Function Calling)
Cơ chế cho Claude gọi chức năng bên ngoài qua API. Định nghĩa tool theo JSON Schema:
tools = [
{
"name": "search_web",
"description": "Tìm kiếm thông tin trên internet",
"input_schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Từ khóa tìm kiếm"
}
},
"required": ["query"]
}
}
]
Cách hoạt động của Claude Managed Agents
Quy trình step-by-step
- Nhận yêu cầu người dùng
- Claude phán đoán cần dùng tool → trả về block
tool_use - App thực thi tool thực tế
- Trả kết quả về Claude dưới dạng
tool_result - Claude tạo phản hồi cuối dựa trên kết quả
Ví dụ thực tế: Agent nghiên cứu web
Request "Nghiên cứu mức lương kỹ sư Việt Nam và tạo bảng so sánh" → Orchestrator chia thành WebSearch, TextAnalysis, TableGeneration → Kết quả trong vài phút thay vì 30 phút làm thủ công.
Ví dụ code: Xây dựng agent đơn giản
Thiết lập môi trường
pip install anthropic python-dotenv requests
Cách lấy và cấu hình API key xem tại bài Claude API là gì.
Định nghĩa tools
import anthropic
import os
from dotenv import load_dotenv
load_dotenv()
client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
tools = [
{
"name": "get_current_weather",
"description": "Lấy thông tin thời tiết hiện tại cho một thành phố",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Tên thành phố tiếng Việt"
}
},
"required": ["city"]
}
},
{
"name": "calculate",
"description": "Thực hiện phép tính toán học",
"input_schema": {
"type": "object",
"properties": {
"expression": {"type": "string", "description": "Biểu thức toán học"}
},
"required": ["expression"]
}
}
]
Chạy agent
def execute_tool(tool_name, tool_input):
if tool_name == "get_current_weather":
city = tool_input["city"]
return f"Thời tiết tại {city}: 32°C, trời nắng"
elif tool_name == "calculate":
try:
result = eval(tool_input["expression"])
return f"Kết quả: {result}"
except:
return "Lỗi tính toán"
return f"Tool {tool_name} không được hỗ trợ"
def run_agent(user_message):
messages = [{"role": "user", "content": user_message}]
while True:
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
tools=tools,
messages=messages
)
if response.stop_reason == "end_turn":
for block in response.content:
if hasattr(block, "text"):
return block.text
if response.stop_reason == "tool_use":
messages.append({"role": "assistant", "content": response.content})
tool_results = []
for block in response.content:
if block.type == "tool_use":
result = execute_tool(block.name, block.input)
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
messages.append({"role": "user", "content": tool_results})
answer = run_agent("Thời tiết Hà Nội hôm nay thế nào? Và 25 * 4 = ?")
print(answer)
Use case phổ biến
Tự động hóa công việc văn phòng
- Đọc email → ưu tiên hóa → tóm tắt → tạo bản nháp trả lời
- Thu thập tin tức mỗi sáng → tóm tắt → thông báo lên Slack
Phân tích dữ liệu tự động
- Upload file CSV → agent tự phân tích → tạo biểu đồ và báo cáo
- Lấy dữ liệu từ database → phân tích thống kê → đề xuất insight
Chatbot thông minh cho website
Kết hợp tool tra cứu DB sản phẩm + kiểm tra đơn hàng + tạo ticket hỗ trợ → agent chăm sóc khách hàng thông minh.
So sánh với Claude Code
| Đặc điểm | Claude Code | Claude Managed Agents |
|---|---|---|
| Mục đích chính | Phát triển phần mềm | Tự động hóa tác vụ tổng quát |
| Môi trường | Terminal/IDE | Ứng dụng Python hay Node.js |
| Phù hợp với | Dev muốn tự động hóa lập trình | Dev muốn xây dựng ứng dụng |
Tìm hiểu thêm về Claude Code tại bài Claude Code là gì.
FAQ
Managed Agents khác LangChain thế nào?
LangChain là framework bên thứ ba. Managed Agents là cách tiếp cận native của Anthropic — code đơn giản hơn, ít abstraction hơn.
Có dùng miễn phí không?
Claude API tính phí theo lượng dùng — khác với claude.ai gói Free.
Có hỗ trợ tiếng Việt không?
Có. Claude hỗ trợ đa ngôn ngữ. Câu lệnh tiếng Anh thường cho độ chính xác cao hơn.
Kết luận
Với Claude Managed Agents, bạn có thể xây dựng AI tự chủ thực hiện nhiều bước, kết nối tools bên ngoài và xử lý tác vụ phức tạp theo kiến trúc Orchestrator + Subagent.
Hướng dẫn triển khai chi tiết xem tại bài xây dựng AI agent với Claude.
Quay lại bài Claude là gì để xem tổng quan.