Bạn có thể đã nghe về những đổi mới mới nhất của OpenAI, những công cụ mới của họ để xây dựng các tác nhân. Những công cụ này, được hỗ trợ bởi OpenAI API, đang cách mạng hóa cách mà các nhà phát triển tạo ra các hệ thống thông minh, phản hồi nhanh. Dù bạn là một lập trình viên dày dạn kinh nghiệm hay chỉ mới bắt đầu, bài viết trên blog này sẽ hướng dẫn bạn mọi thứ bạn cần biết về việc tận dụng các sản phẩm của OpenAI để xây dựng các tác nhân của riêng bạn.
Tại sao các công cụ mới của OpenAI cho việc xây dựng tác nhân là một bước đột phá
OpenAI đã thông báo về việc tích hợp khả năng tìm kiếm web vào OpenAI API. Cập nhật này giới thiệu các câu trả lời nhanh chóng, cập nhật và có liên kết đến các nguồn web phù hợp, tất cả được dẫn dắt bởi cùng một mô hình đứng sau tìm kiếm ChatGPT. Đây là một bước nhảy vọt lớn cho các nhà phát triển đang tìm cách xây dựng các hệ thống tác nhân—các trợ lý AI có thể xử lý các tác vụ phức tạp, truy xuất dữ liệu theo thời gian thực và tương tác liền mạch với người dùng.
OpenAI đã giới thiệu Responses API, các khả năng tìm kiếm web, các công cụ tìm kiếm tệp, các tính năng sử dụng máy tính và Agents SDK. Các công cụ này cùng nhau tạo thành một khuôn khổ mạnh mẽ để xây dựng các tác nhân cảm giác thông minh và tự động hơn bao giờ hết. Các công cụ mới được thiết kế để giúp các nhà phát triển tạo ra các tác nhân an toàn, hiệu quả và mạnh mẽ.
Tác nhân là gì? Nhắc lại một cách nhanh chóng
Tác nhân, trong bối cảnh AI, là các hệ thống hoặc chương trình tự động có thể nhận thức môi trường, đưa ra quyết định và thực hiện các hành động để đạt được các mục tiêu cụ thể. Hãy nghĩ về chúng như những trợ lý kỹ thuật số của bạn có khả năng trả lời câu hỏi, thực hiện nhiệm vụ hoặc thậm chí học hỏi từ các tương tác.
Các công cụ mới của OpenAI trao quyền cho các nhà phát triển xây dựng những tác nhân này bằng cách sử dụng OpenAI API, khiến chúng thông minh hơn, nhanh hơn và kết nối hơn với web.
Bắt đầu: Hiểu về Responses API của OpenAI
Responses API là một bước đột phá kết hợp những tính năng tốt nhất của Chat Completions và Assistants APIs của OpenAI thành một công cụ đơn giản hơn, mạnh mẽ hơn. Nếu bạn quen thuộc với các API trước đây của OpenAI, bạn sẽ thấy cách mà điều này tối ưu hóa quy trình xây dựng các tác nhân.

Để bắt đầu, hãy đến với t tài liệu của nhà phát triển OpenAI. Responses API cho phép bạn tích hợp nhiều công cụ và mô hình để thực hiện các tác vụ phức tạp, điều này hoàn hảo cho việc tạo ra các tác nhân AI có thể xử lý mọi thứ từ trả lời câu hỏi đến điều phối các quy trình làm việc đa bước.
Dưới đây là cách bạn có thể bắt đầu:
OpenAI API cung cấp một giao diện đơn giản cho các mô hình AI tiên tiến trong việc sinh văn bản, xử lý ngôn ngữ tự nhiên, thị giác máy tính và nhiều hơn nữa. Ví dụ này tạo ra đầu ra văn bản từ một lời nhắc, như bạn có thể làm với ChatGPT.
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4o",
input: "Viết một câu chuyện ngắn một câu về một con kỳ lân."
});
console.log(response.output_text);
Phân tích các đầu vào hình ảnh
Bạn cũng có thể cung cấp đầu vào hình ảnh cho mô hình. Quét biên lai, phân tích ảnh chụp màn hình hoặc tìm đối tượng trong thế giới thực bằng cách sử dụng thị giác máy tính.
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4o",
input: [
{ role: "user", content: "Hai đội nào đang thi đấu trong bức ảnh này?" },
{
role: "user",
content: [
{
type: "input_image",
image_url: "https://upload.wikimedia.org/wikipedia/commons/3/3b/LeBron_James_Layup_%28Cleveland_vs_Brooklyn_2018%29.jpg",
}
],
},
],
});
console.log(response.output_text);
Mở rộng mô hình với các công cụ
Cung cấp cho mô hình quyền truy cập vào dữ liệu và khả năng mới bằng cách sử dụng các công cụ. Bạn có thể gọi mã tùy chỉnh của riêng mình hoặc sử dụng một trong các công cụ tích hợp mạnh mẽ của OpenAI. Ví dụ này sử dụng tìm kiếm web để cung cấp cho mô hình quyền truy cập vào thông tin mới nhất trên Internet.
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4o",
tools: [ { type: "web_search_preview" } ],
input: "Một câu chuyện tin tức tích cực nào đã xảy ra hôm nay?",
});
console.log(response.output_text);
Cung cấp trải nghiệm AI nhanh chóng
Sử dụng Realtime API mới hoặc các sự kiện theo dõi được gửi từ máy chủ, bạn có thể xây dựng các trải nghiệm hiệu suất cao, độ trễ thấp cho người dùng của mình.
import { OpenAI } from "openai";
const client = new OpenAI();
const stream = await client.responses.create({
model: "gpt-4o",
input: [
{
role: "user",
content: "Nói 'double bubble bath' mười lần nhanh."
},
],
stream: true,
});
for await (const event of stream) {
console.log(event);
}
Xây dựng tác nhân
Sử dụng nền tảng OpenAI để xây dựng tác nhân có khả năng thực hiện hành động—như kiểm soát máy tính—thay mặt cho người dùng của bạn. Sử dụng Agent SDK cho Python để tạo ra logic phối hợp ở phía sau.
from agents import Agent, Runner
import asyncio
spanish_agent = Agent(
name="Tác nhân tiếng Tây Ban Nha",
instructions="Bạn chỉ nói tiếng Tây Ban Nha.",
)
english_agent = Agent(
name="Tác nhân tiếng Anh",
instructions="Bạn chỉ nói tiếng Anh",
)
triage_agent = Agent(
name="Tác nhân phân loại",
instructions="Chuyển cho tác nhân phù hợp dựa trên ngôn ngữ của yêu cầu.",
handoffs=[spanish_agent, english_agent],
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
# ¡Hola! Estoy bien, gracias por preguntar. ¿Y tú, cómo estás?
Các công cụ tích hợp sẵn của API thực hiện những nhiệm vụ này một cách liền mạch, tiết kiệm thời gian và công sức của bạn. Thêm vào đó, nó được thiết kế với sự an toàn và độ tin cậy trong tâm trí, điều này là một lợi ích lớn cho các nhà phát triển.
Tìm kiếm web cho các tác nhân thông minh hơn
Công cụ tìm kiếm web của OpenAI, được hỗ trợ bởi các mô hình như GPT-4o tìm kiếm và GPT-4o mini tìm kiếm, cho phép các tác nhân của bạn truy xuất thông tin cập nhật từ internet và trích dẫn các nguồn. Điều này đặc biệt hữu ích cho việc xây dựng các tác nhân cần cung cấp câu trả lời chính xác theo thời gian thực.
Công cụ tìm kiếm web hiện đang khả dụng trong chế độ xem trước thông qua OpenAI API, và nó có độ chính xác ấn tượng. Trên chuẩn OpenAI’s SimpleQA, tìm kiếm GPT-4o đạt 90%, trong khi tìm kiếm GPT-4o mini đạt 88%. Đó là độ chính xác nghiêm túc!

Để thực hiện tìm kiếm web trong tác nhân của bạn, hãy khám phá hướng dẫn của OpenAI. Dưới đây là một tóm tắt nhanh:
- Tích hợp công cụ: Sử dụng Responses API để kích hoạt khả năng tìm kiếm web trong tác nhân của bạn.
- Tạo truy vấn: Thiết kế tác nhân của bạn để gửi các truy vấn cụ thể đến công cụ tìm kiếm web, sau đó nó sẽ truy xuất các kết quả phù hợp.
- Hiển thị kết quả: Tác nhân của bạn có thể trình bày những phát hiện cho người dùng, kèm theo các liên kết đến các nguồn để đảm bảo tính minh bạch.
Hãy tưởng tượng xây dựng một bot dịch vụ khách hàng sử dụng tìm kiếm web để trả lời các câu hỏi về tính khả dụng của sản phẩm hoặc xu hướng ngành. Với tìm kiếm web của OpenAI, tác nhân của bạn có thể cung cấp các câu trả lời kịp thời và chính xác, tăng cường lòng tin và sự hài lòng của người dùng.
Thành thạo tìm kiếm tệp cho quyền truy cập dữ liệu hiệu quả
Một công cụ mạnh mẽ khác trong “vũ khí” của OpenAI là tìm kiếm tệp. Tính năng này cho phép các tác nhân AI của bạn nhanh chóng quét qua các tệp trong cơ sở dữ liệu của công ty để lấy thông tin. Nó lý tưởng cho các ứng dụng doanh nghiệp nơi các tác nhân cần truy cập vào các tài liệu nội bộ, báo cáo hoặc tập dữ liệu.
OpenAI nhấn mạnh rằng nó sẽ không huấn luyện các mô hình của mình trên những tệp này, đảm bảo tính riêng tư và bảo mật—một yếu tố rất quan trọng đối với các doanh nghiệp. Bạn có thể tìm hiểu thêm về tìm kiếm tệp trong tài liệu.
Dưới đây là cách tích hợp tìm kiếm tệp vào tác nhân của bạn:
- Tải lên tệp: Sử dụng OpenAI API để tải lên các tệp của bạn lên nền tảng.
- Cấu hình tác nhân: Thiết lập tác nhân của bạn để sử dụng công cụ tìm kiếm tệp trong Responses API.
- Truy vấn dữ liệu: Tác nhân của bạn có thể tìm kiếm thông tin cụ thể trong các tệp và trả về các kết quả liên quan.
Ví dụ, bạn có thể xây dựng một tác nhân nhân sự tìm kiếm hồ sơ nhân viên để cung cấp chi tiết về bảng lương hoặc số ngày nghỉ. Mức độ tự động hóa này có thể tiết kiệm hàng giờ làm việc thủ công và cải thiện hiệu suất trong các phòng ban.
Tự động hóa các nhiệm vụ với các tính năng sử dụng máy tính
Mô hình Agent sử dụng máy tính (CUA) của OpenAI, hỗ trợ cho sản phẩm Operator, cho phép các tác nhân sinh ra các hành động chuột và bàn phím. Điều này có nghĩa là các tác nhân của bạn có thể tự động hóa các công việc như nhập dữ liệu, quy trình làm việc ứng dụng và điều hướng trang web.

Công cụ này hiện đang trong chế độ xem trước nghiên cứu, nhưng nó đã cho thấy hứa hẹn cho các nhà phát triển. Bạn có thể khám phá khả năng của nó trong tài liệu. Phiên bản tiêu dùng của CUA, khả dụng trong Operator, tập trung vào các hành động dựa trên web, nhưng các doanh nghiệp có thể chạy nó cục bộ cho các ứng dụng rộng hơn.
Dưới đây là cách bắt đầu:
- Truy cập bản xem trước: Đăng ký để thử nghiệm mô hình CUA trong chế độ xem trước nghiên cứu.
- Định nghĩa nhiệm vụ: Lập trình tác nhân của bạn để thực hiện các nhiệm vụ máy tính cụ thể, chẳng hạn như điền mẫu hoặc nhấp vào nút.
- Theo dõi hiệu suất: Sử dụng các công cụ của OpenAI để gỡ lỗi và tối ưu hóa các hành động của tác nhân của bạn.

Hãy tưởng tượng xây dựng một tác nhân tự động hóa các nhiệm vụ lặp đi lặp lại trong văn phòng, chẳng hạn như cập nhật bảng tính hoặc lên lịch cuộc họp. Với các khả năng sử dụng máy tính, tác nhân của bạn có thể xử lý những nhiệm vụ này một cách tự động, giải phóng nhân viên để thực hiện các công việc sáng tạo hơn.
1. Gửi yêu cầu đến mô hình
Đầu tiên, bạn có thể muốn thiết lập khóa OpenAI
import openai
import os
# Đặt API key
openai.api_key = os.environ.get("OPENAI_API_KEY")
Gửi yêu cầu tạo một Response với mô hình computer-use-preview
được trang bị công cụ computer_use_preview
. Yêu cầu này nên bao gồm chi tiết về môi trường của bạn, cùng với một lời nhắc đầu vào ban đầu.
Tùy chọn, bạn có thể bao gồm một ảnh chụp màn hình của trạng thái ban đầu của môi trường.
Để sử dụng công cụ computer_use_preview
, bạn cần đặt tham số truncation
thành "auto"
(theo mặc định, truy truncation là vô hiệu hóa).
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="computer-use-preview",
tools=[{
"type": "computer_use_preview",
"display_width": 1024,
"display_height": 768,
"environment": "trình duyệt" # các giá trị khả dụng khác: "mac", "windows", "ubuntu"
}],
input=[
{
"role": "user",
"content": "Kiểm tra tin tức OpenAI mới nhất trên bing.com."
}
# Tùy chọn: bao gồm một ảnh chụp màn hình của trạng thái ban đầu của môi trường
# {
# type: "input_image",
# image_url: f"data:image/png;base64,{screenshot_base64}"
# }
],
truncation="auto"
)
print(response.output)
2. Nhận hành động gợi ý
Mô hình trả về một đầu ra chứa một item computer_call
, chỉ là văn bản, hoặc các lời gọi công cụ khác, tùy thuộc vào trạng thái của cuộc trò chuyện.
Ví dụ về các item computer_call
là một cú nhấp chuột, một cuộn trang, một phím được nhấn, hoặc bất kỳ sự kiện nào khác được định nghĩa trong tài liệu API. Trong ví dụ của chúng tôi, item này là một hành động nhấp chuột:
"output": [
{
"type": "reasoning",
"id": "rs_67cc...",
"content": []
},
{
"type": "computer_call",
"id": "cu_67cc...",
"call_id": "call_zw3...",
"action": {
"type": "click",
"button": "left",
"x": 156,
"y": 50
},
"pending_safety_checks": [],
"status": "completed"
}
]
Mô hình có thể trả về một item reasoning
trong phản hồi đầu ra cho một số hành động. Nếu có, bạn nên luôn luôn bao gồm những item lý do khi gửi yêu cầu tiếp theo đến mô hình CUA.
Các item lý do chỉ tương thích với cùng một mô hình đã sản xuất chúng. Nếu bạn triển khai một luồng mà bạn sử dụng nhiều mô hình với cùng một lịch sử cuộc trò chuyện, bạn nên lọc các item lý do này ra khỏi mảng đầu vào bạn gửi đến các mô hình khác.
3. Thực hiện hành động trong môi trường của bạn
Thực hiện các hành động tương ứng trên máy tính hoặc trình duyệt của bạn. Cách bạn ánh xạ một cuộc gọi máy tính thành các hành động thông qua mã phụ thuộc vào môi trường của bạn. Đoạn mã này cho thấy các thực hiện ví dụ cho các hành động máy tính thông dụng nhất.
def handle_model_action(page, action):
"""
Đối với một hành động máy tính (ví dụ: nhấp chuột, nhấp đúp, cuộn, v.v.),
thực hiện hoạt động tương ứng trên trang Playwright.
"""
action_type = action.type
try:
match action_type:
case "click":
x, y = action.x, action.y
button = action.button
print(f"Hành động: nhấp chuột tại ({x}, {y}) với nút '{button}'")
# Không xử lý các tình huống như nhấp giữa, v.v.
if button != "left" and button != "right":
button = "left"
page.mouse.click(x, y, button=button)
case "scroll":
x, y = action.x, action.y
scroll_x, scroll_y = action.scroll_x, action.scroll_y
print(f"Hành động: cuộn tại ({x}, {y}) với các bù (scroll_x={scroll_x}, scroll_y={scroll_y})")
page.mouse.move(x, y)
page.evaluate(f"window.scrollBy({scroll_x}, {scroll_y})")
case "keypress":
keys = action.keys
for k in keys:
print(f"Hành động: nhấn phím '{k}'")
# Một ánh xạ đơn giản cho các phím thông dụng; mở rộng nếu cần.
if k.lower() == "enter":
page.keyboard.press("Enter")
elif k.lower() == "space":
page.keyboard.press(" ")
else:
page.keyboard.press(k)
case "type":
text = action.text
print(f"Hành động: gõ văn bản: {text}")
page.keyboard.type(text)
case "wait":
print(f"Hành động: chờ")
time.sleep(2)
case "screenshot":
# Không có gì để làm vì ảnh chụp màn hình được thực hiện ở mỗi bước
print(f"Hành động: ảnh chụp màn hình")
# Xử lý các hành động khác ở đây
case _:
print(f"Hành động không nhận dạng: {action}")
except Exception as e:
print(f"Lỗi khi xử lý hành động {action}: {e}")
4. Chụp ảnh chụp màn hình cập nhật
Sau khi thực hiện hành động, hãy chụp lại trạng thái cập nhật của môi trường dưới dạng một ảnh chụp màn hình, cũng khác nhau tùy thuộc vào môi trường của bạn.
def get_screenshot(page):
"""
Chụp một ảnh chụp màn hình toàn trang bằng Playwright và trả về các byte hình ảnh.
"""
return page.screenshot()
5. Lặp lại
Sau khi bạn có ảnh chụp màn hình, bạn có thể gửi nó trở lại mô hình dưới dạng computer_call_output
để nhận hành động tiếp theo. Lặp lại các bước này miễn là bạn nhận được một item computer_call
trong phản hồi.
import time
import base64
from openai import OpenAI
client = OpenAI()
def computer_use_loop(instance, response):
"""
Chạy vòng lặp thực hiện các hành động máy tính cho đến khi không tìm thấy 'computer_call'.
"""
while True:
computer_calls = [item for item in response.output if item.type == "computer_call"]
if not computer_calls:
print("Không tìm thấy cuộc gọi máy tính. Đầu ra từ mô hình:")
for item in response.output:
print(item)
break # Thoát khi không còn cuộc gọi máy tính nào được phát hành.
# Chúng tôi mong đợi tối đa một cuộc gọi máy tính mỗi phản hồi.
computer_call = computer_calls[0]
last_call_id = computer_call.call_id
action = computer_call.action
# Thực hiện hành động (hàm đã định nghĩa ở bước 3)
handle_model_action(instance, action)
time.sleep(1) # Cho phép thời gian để các thay đổi có hiệu lực.
# Chụp ảnh chụp màn hình sau hành động (hàm đã định nghĩa ở bước 4)
screenshot_bytes = get_screenshot(instance)
screenshot_base64 = base64.b64encode(screenshot_bytes).decode("utf-8")
# Gửi ảnh chụp màn hình trở lại dưới dạng computer_call_output
response = client.responses.create(
model="computer-use-preview",
previous_response_id=response.id,
tools=[
{
"type": "computer_use_preview",
"display_width": 1024,
"display_height": 768,
"environment": "trình duyệt"
}
],
input=[
{
"call_id": last_call_id,
"type": "computer_call_output",
"output": {
"type": "input_image",
"image_url": f"data:image/png;base64,{screenshot_base64}"
}
}
],
truncation="auto"
)
return response
Tổ chức các tác nhân với Agents SDK
OpenAI cung cấp bộ công cụ mã nguồn mở để xây dựng và quản lý các quy trình nhiều tác nhân. SDK này xây dựng trên khuôn khổ trước đó của OpenAI, Swarm, và cung cấp cho các nhà phát triển các công cụ miễn phí để tích hợp các mô hình, thực hiện các biện pháp bảo vệ và theo dõi hoạt động của các tác nhân.
Agents SDK được thiết kế ưu tiên Python và bao gồm các tính năng như vòng lặp tác nhân tích hợp và các biện pháp an toàn. Nó hoàn hảo cho việc tạo ra các hệ thống phức tạp mà nhiều tác nhân hoạt động chung để giải quyết các vấn đề.
Dưới đây là cách sử dụng Agents SDK:
- Tải xuống SDK: Truy cập mã nguồn mở từ repository GitHub của OpenAI.
- Thiết lập quy trình nhiều tác nhân: Sử dụng SDK để tổ chức các nhiệm vụ giữa các tác nhân, phân công dựa trên khả năng của chúng.
- Thêm biện pháp bảo vệ: Thực hiện các biện pháp an toàn để đảm bảo các tác nhân của bạn hoạt động một cách có trách nhiệm và đáng tin cậy.

Ví dụ, bạn có thể xây dựng một đội ngũ tác nhân AI nơi một tác nhân thực hiện nghiên cứu web, một tác nhân khác quản lý tệp, và một tác nhân thứ ba tự động hóa các nhiệm vụ máy tính. Agents SDK kết nối chúng lại với nhau, tạo nên một hệ thống liền mạch và hiệu quả.
Kết luận
Từ Responses API đến tìm kiếm web, tìm kiếm tệp, sử dụng máy tính và Agents SDK, OpenAI đã trang bị cho các nhà phát triển mọi thứ cần thiết để tạo ra các hệ thống thông minh, tự động. Dù bạn đang tự động hóa các nhiệm vụ kinh doanh, nâng cao dịch vụ khách hàng, hay khám phá các biên giới nghiên cứu mới, những công cụ này mở ra một thế giới cơ hội.
Vậy bạn còn chờ gì nữa? Hãy khám phá OpenAI API, thử nghiệm với các công cụ mới của họ và bắt đầu xây dựng các tác nhân khiến người dùng của bạn trầm trồ. Và đừng quên tải xuống Apidog miễn phí để tối ưu hóa phát triển API của bạn và làm cho hành trình của bạn dễ dàng hơn!