Xây Dựng Hệ Thống Sales Agent Thông Minh với OpenAI SDK

Trong OpenAI Agent SDK, bạn có thể biến một Agent thành một Tool, nghĩa là Agent này có thể được gọi bởi Agent khác như một công cụ chuyên trách — mở ra khả năng phối hợp nhiều Agent để tự động hóa quy trình bán hàng thông minh.

Ý tưởng:

image.png

Cập nhật code: Biến Agent thành Tool

Bước 1: Cập nhật agents.py
from openai import Agent
from tools import get_sales_products, send_sales_email

# 3 agents như trước
agent_professional = Agent(
    instructions="Bạn là nhân viên bán hàng chuyên nghiệp. Hãy viết email chào hàng chuyên nghiệp và gửi đi.",
    tools=[get_sales_products, send_sales_email],
)

agent_funny = Agent(
    instructions="Bạn là nhân viên bán hàng hài hước. Hãy viết email sáng tạo và vui nhộn để thu hút khách hàng.",
    tools=[get_sales_products, send_sales_email],
)

agent_direct = Agent(
    instructions="Bạn là nhân viên bán hàng ngắn gọn. Hãy viết email ngắn, đúng trọng tâm và gửi đi.",
    tools=[get_sales_products, send_sales_email],
)

# Biến các Agent thành công cụ
tool_professional = agent_professional.as_tool(
    name="SalesAgentProfessional",
    description="Viết email chào hàng chuyên nghiệp và gửi đi"
)

tool_funny = agent_funny.as_tool(
    name="SalesAgentFunny",
    description="Viết email chào hàng hài hước và gửi đi"
)

tool_direct = agent_direct.as_tool(
    name="SalesAgentDirect",
    description="Viết email chào hàng ngắn gọn, đi thẳng vào vấn đề và gửi đi"
)
Bước 2: Tạo Agent Điều Phối (Orchestrator)
orchestrator = Agent(
    instructions="""
    Bạn là điều phối viên bán hàng. Tùy theo phong cách khách hàng yêu cầu, hãy gọi đúng agent tương ứng
    để viết email chào hàng và gửi đi.
    """,
    tools=[tool_professional, tool_funny, tool_direct]
)
Bước 3: Tự động chạy Agent Điều Phối trong main.py
import asyncio
from dotenv import load_dotenv
from openai import trace
from agents import orchestrator

load_dotenv()

async def run_orchestration():
    customer_input = """
    Khách hàng muốn mua smartphone. Gửi email tới hoang@example.com.
    Phong cách: hài hước.
    """
    runner = orchestrator.runner()
    async for chunk in runner.run_stream(customer_input):
        print(chunk.delta, end="", flush=True)

asyncio.run(run_orchestration())

Kết quả kỳ vọng:

Orchestrator phân tích đầu vào:

"Phong cách: hài hước"
→ Gọi tool_funny
→ Gọi get_sales_products("smartphone")
→ Soạn email hài hước
→ Gọi send_sales_email()
→ Trả kết quả

Lợi ích:

Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft


Phiên bản #2
Được tạo 30 tháng 4 2025 02:28:45 bởi Đỗ Ngọc Tú
Được cập nhật 2 tháng 5 2025 07:45:21 bởi Đỗ Ngọc Tú