Cách biến script Python thành AI Agent
Mua gói Thành viên QuanTriMang Pro để trải nghiệm website không quảng cáo và sử dụng các tiện ích AI trên QuanTriMang.
Bạn không cần phải viết lại các ứng dụng Python của mình để bắt đầu sử dụng những AI agent.
Nếu script của bạn đã có sẵn các hàm hữu ích, bạn có thể biến chúng thành những công cụ và để mô hình ngôn ngữ lớn (LLM) quyết định thời điểm gọi hàm, các tham số cần truyền vào cũng như cách sử dụng kết quả trả về.
Trong bài hướng dẫn này, bạn sẽ lấy một script giám sát trang web đơn giản và chuyển đổi nó thành một AI agent sử dụng OpenAI Agents SDK.
Mục lục bài viết
Bắt đầu với một script Python thông thường
Trước khi xây dựng AI agent, hãy bắt đầu với một chương trình Python thông thường.
Giả sử bạn muốn kiểm tra xem một trang web có đang phản hồi hay không và đo thời gian thực hiện yêu cầu:
from time import perf_counter
import requests
def check_website(url: str) -> str:
start = perf_counter()
try:
response = requests.get(url, timeout=10)
latency = perf_counter() - start
return (
f"{url}\n"
f"Status: {response.status_code}\n"
f"Response time: {latency:.2f}s"
)
except requests.RequestException as error:
return f"{url}\nError: {error}"
print(check_website("https://www.python.org"))
Đầu ra:
https://www.python.org
Status: 200
Response time: 0.99s
Script này thực hiện chính xác những gì bạn đã lập trình: Gửi yêu cầu HTTP, thu thập mã trạng thái, đo thời gian phản hồi và trả về kết quả.
Điều này rất hữu ích, nhưng workflow lại hoàn toàn cố định:

Nếu muốn kiểm tra 5 trang web, so sánh thời gian phản hồi của chúng hoặc xác định trang nào có dấu hiệu hoạt động không ổn định, bạn sẽ phải tự viết logic xử lý cho các tác vụ đó.
Đây chính là lúc AI agent thay đổi workflow.
Thay vì phải lập trình cứng mọi quyết định bằng Python, bạn có thể cung cấp hàm check_website() như một công cụ và giao cho mô hình AI một mục tiêu cụ thể. Khi đó, mô hình có thể tự quyết định thời điểm gọi công cụ, chọn URL cần kiểm tra, số lần thực hiện cũng như cách xử lý các kết quả thu được.

Bước 1: Cài đặt Agents SDK
Trước tiên, hãy thiết lập một dự án Python và cài đặt các gói cần thiết để xây dựng cũng như vận hành agent.
Tạo dự án mới:
mkdir website-agent
cd website-agent
uv init
uv add openai-agents requests
Hoặc sử dụng pip:
pip install openai-agents requests
Thiết lập OpenAI API key của bạn:
export OPENAI_API_KEY="api-key-của-bạn"
Agents SDK cung cấp một môi trường thực thi gọn nhẹ hỗ trợ các agent, công cụ, cơ chế chuyển giao (handoff), phiên làm việc và tính năng theo dõi.
Bước 2: Chuyển đổi hàm Python thành một công cụ
Tiếp theo, hãy biến hàm Python hiện có thành một công cụ mà mô hình có thể lựa chọn gọi.
Bạn có thể giữ lại gần như toàn bộ hàm hiện có.
Thay đổi chính là việc thêm @function_tool:
from time import perf_counter
import requests
from agents import function_tool
@function_tool
def check_website(url: str) -> str:
"""Check a website's HTTP status and response time."""
start = perf_counter()
try:
response = requests.get(url, timeout=10)
latency = perf_counter() - start
return (
f"URL: {url}\n"
f"Status: {response.status_code}\n"
f"Response time: {latency:.2f}s"
)
except requests.RequestException as error:
return f"URL: {url}\nError: {error}"
OpenAI Agents SDK tự động chuyển đổi chữ ký hàm thành JSON schema mà mô hình yêu cầu. Nó cũng sử dụng tên hàm và chuỗi tài liệu để mô tả công cụ.
Bạn không cần phải tự tạo schema công cụ theo cách thủ công.
Bước 3: Tạo Agent
Bây giờ, hãy tạo một Agent, xác định các tác vụ mà nó cần thực hiện và cấp cho nó quyền truy cập vào công cụ check_website() của bạn.
from agents import Agent, Runner
agent = Agent(
name="Website Monitor",
model="gpt-5.6-luna",
instructions="""
Monitor websites using the available tool.
Compare results and explain problems clearly.
""",
tools=[check_website],
)
Chạy agent:
result = Runner.run_sync(
agent,
"Check python.org, github.com, and openai.com. "
"Which one has the slowest response?"
)
print(result.final_output)
Đầu ra:
python.org is the slowest, responding in **1.59 seconds**.
- github.com: 0.83s
- openai.com: 0.49s
All returned HTTP 200.
Trước đây, bạn sẽ phải tự viết logic vòng lặp và so sánh:
for url in urls:
check_website(url)
Giờ đây, mô hình sẽ tự diễn giải yêu cầu, gọi hàm check_website() cho ba trang web, nhận kết quả, so sánh chúng và đưa ra câu trả lời.
Cách thức hoạt động của Agent Loop
Ở phía sau, thành phần Runner sẽ quản lý sự tương tác giữa mô hình và các công cụ.
Về mặt khái niệm, vòng lặp này hoạt động như sau:

Nếu cần thêm thông tin, mô hình có thể gọi lại công cụ. Vòng lặp sẽ tiếp tục cho đến khi thu thập đủ thông tin để đưa ra phản hồi cuối cùng.
Đây chính là yếu tố tạo nên tính chất "agentic" (tự chủ) cho workflow. Thay vì tuân theo một trình tự cố định được viết hoàn toàn bằng Python, mô hình sẽ tự quyết định hành động cần thực hiện dựa trên yêu cầu và các kết quả nhận được.
Các script Python khác có thể chuyển đổi thành agent
Mô hình tương tự cũng áp dụng được cho hầu hết các quy trình tự động hóa bằng Python hiện có. Bạn vẫn giữ lại các hàm Python thực hiện công việc chính, đồng thời để agent quyết định hàm nào cần gọi và cách kết hợp những kết quả lại với nhau.
Ví dụ:
- Công cụ phân tích CSV: Các hàm thực hiện lọc dòng, tính toán chỉ số và xác định xu hướng. Agent sẽ trả lời những câu hỏi bằng ngôn ngữ tự nhiên về dữ liệu đó.
- Công cụ giám sát máy chủ: Các hàm kiểm tra CPU, bộ nhớ, ổ đĩa và các tiến trình. Agent sẽ điều tra nguyên nhân khi máy chủ có dấu hiệu hoạt động không ổn định.
- Công cụ phân tích log: Các hàm tìm kiếm trong log, đếm lỗi và trích xuất sự kiện. Agent sẽ điều tra sự cố và tóm tắt lại những gì đã xảy ra.
- Tự động hóa API: Các hàm thực hiện lấy dữ liệu, cập nhật bản ghi hoặc tạo báo cáo. Agent sẽ quyết định các thao tác cần thiết và thứ tự thực hiện chúng.
Với OpenAI Agents SDK, bạn có thể khai báo các hàm Python hiện có bằng @function_tool và thêm chúng vào danh sách công cụ của agent.
Code Python vẫn đảm nhận việc thực thi công việc; trong khi đó, agent bổ sung khả năng hiểu ngôn ngữ tự nhiên, lựa chọn công cụ và điều phối quy trình.
Kết luận
AI dạng Agent đang trở thành một phương thức thiết thực để tự động hóa workflow, khi ngày càng nhiều công ty sử dụng agent để xử lý những tác vụ gồm nhiều bước thay vì phụ thuộc vào các script cố định. Đồng thời, các mô hình có chi phí thấp hơn như GPT-5.6 Luna giúp việc vận hành các hệ thống sử dụng công cụ – hay thậm chí là hệ thống multi-agent – ở quy mô lớn trở nên hợp lý hơn nhiều về mặt chi phí.
Trong hướng dẫn này, bạn đã bắt đầu với một hàm Python thông thường, chuyển đổi nó thành một công cụ, kết nối với một agent, và để thành phần Runner quản lý vòng lặp ra quyết định.
Đó chính là ý tưởng cốt lõi đằng sau các ứng dụng agentic: Cung cấp cho mô hình một mục tiêu cùng các công cụ phù hợp, sau đó để mô hình tự quyết định cách thức hoàn thành nhiệm vụ.
Bạn nên đọc
-
Hướng dẫn dùng Lovable AI trên ChatGPT tạo website cực nhanh
-
Tài liệu tham khảo toàn diện về các lệnh Codex
-
Giải thích các loại AI agent: Cách thức hoạt động và thời điểm sử dụng từng loại
-
10 framework Agentic AI đáng chú ý nhất năm 2026 mà lập trình viên AI nên biết
-
Hướng dẫn toàn diện về các loại AI agent
-
OpenClaw hay Nanobot là AI agent framework bạn nên sử dụng vào năm 2026?
-
Cách cải thiện hiệu suất AI agent
-
Cách sử dụng Kimi K3: Mô hình trọng số mở 2.8T của Moonshot AI
-
8 trường hợp sử dụng và ví dụ AI agent trong môi trường làm việc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
Hướng dẫn AI
AI Tools
Học IT
Hàm Excel