Cách biến script Python thành AI Agent

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.

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ụ.

Thứ Tư, 30/09/2026 16:02
5 ★ 1 👨
Xác thực tài khoản!

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:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ AI cho Lập trình