Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 3 — Thiết lập môi trường: từ tài khoản Zapier đến bộ công cụ agent

Đã đọc 0/9 mục · còn khoảng 4 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Bài này bạn dựng xong bàn làm việc: chọn nền tảng, lấy API key, kết nối tools, và tạo agent "hello world" đầu tiên. Ta đi con đường thực dụng nhất cho người đang dùng Zapier.

Chọn con đường triển khai

Có ba lựa chọn, từ ít code đến nhiều code:

  • No-code trong Zapier/Make: dùng bước "AI by Zapier" hoặc "Run agent". Nhanh, nhưng kiểm soát vòng lặp/tool còn hạn chế.
  • Nền tảng agent chuyên dụng (n8n AI Agent node, Make + OpenAI): kéo thả nhưng cho phép tool-calling và loop thật.
  • Code (Python): dùng SDK của nhà cung cấp LLM. Kiểm soát tối đa. Đây là con đường ta dùng để dạy nguyên lý.
Khuyến nghị: học nguyên lý bằng code ở mức tối giản, rồi mang tư duy đó về n8n/Zapier khi cần triển khai nhanh.

Các bước thiết lập

  • Tạo tài khoản nhà cung cấp LLM và lấy API key.
  • Lưu key vào biến môi trường, không hardcode.
  • Cài SDK (ví dụ Python) và thư viện HTTP cho các tool bên ngoài.
  • Chuẩn bị credential cho tools bạn sẽ dùng lại từ Zapier (Google Sheets, Slack...).
  • Viết một agent nhỏ gọi được đúng 1 tool để kiểm tra đường ống.
# Lưu key an toàn
export LLM_API_KEY="sk-..."
export SLACK_WEBHOOK="https://hooks.slack.com/..."

pip install openai requests

Agent "hello world" với một tool

Dưới đây là khung tối giản: một tool tính thời tiết giả lập, agent tự quyết định có gọi hay không.

import os, json
from openai import OpenAI

client = OpenAI(api_key=os.environ["LLM_API_KEY"])

tools = [{
  "type": "function",
  "function": {
    "name": "get_weather",
    "description": "Lấy thời tiết hiện tại của một thành phố",
    "parameters": {
      "type": "object",
      "properties": {"city": {"type": "string"}},
      "required": ["city"]
    }
  }
}]

def get_weather(city):
    return {"city": city, "temp": 31, "sky": "nắng"}

msg = [{"role": "user", "content": "Đà Nẵng giờ thời tiết sao?"}]
resp = client.chat.completions.create(model="gpt-4o-mini", messages=msg, tools=tools)
call = resp.choices[0].message.tool_calls[0]
args = json.loads(call.function.arguments)
print(get_weather(**args))  # {'city': 'Đà Nẵng', 'temp': 31, 'sky': 'nắng'}

Điểm mấu chốt: bạn không viết if city then.... LLM tự trích city từ câu hỏi tự nhiên và chọn tool. Đó là bước nhảy khỏi tư duy Zapier.

Khung quyết định: no-code hay code?

  • Cần ship trong hôm nay, logic đơn giản → no-code (Zapier/n8n).
  • Cần tool-calling nhiều bước, kiểm soát loop → n8n hoặc code.
  • Cần bảo mật/tùy biến/tối ưu chi phí cao → code.

Kết nối lại tools cũ từ Zapier

Bạn không cần bỏ Zapier. Cách lai phổ biến: agent (code hoặc n8n) là "não", còn Zapier giữ vai trò cầu nối tới hàng nghìn app. Agent gọi một Zapier Webhook như một tool, Zap thực thi hành động (tạo sự kiện Calendar, gửi SMS...). Tận dụng thứ bạn đã dựng.

Chọn model khởi đầu cho đúng túi tiền

Đừng vội dùng model mạnh nhất. Với hầu hết tác vụ phân loại và trích xuất, một model nhỏ, rẻ đã đủ tốt và nhanh hơn nhiều. Chiến lược thực dụng: bắt đầu bằng model rẻ, đo chất lượng bằng vài ca thật, chỉ nâng lên model mạnh khi thấy agent suy luận sai ở các tình huống phức tạp. Bạn có thể dùng model mạnh cho bước 'lập kế hoạch' và model rẻ cho các bước thực thi lặp lại — cách phối này tiết kiệm đáng kể mà không hy sinh chất lượng.

# Định tuyến model theo độ khó của bước
def pick_model(step_kind):
    if step_kind == "reasoning_hard":
        return "gpt-4o"        # suy luận sâu, ít gọi
    return "gpt-4o-mini"      # phân loại/trích xuất, gọi nhiều

Ghi lại chi phí mỗi lần chạy ngay từ ngày đầu. Thói quen này giúp bạn phát hiện sớm khi một thay đổi prompt vô tình làm agent gọi tool nhiều hơn cần thiết.

Sai lầm thường gặp

  • Hardcode API key rồi commit lên git — rò rỉ, tốn tiền, mất an toàn.
  • Chọn code khi no-code là đủ: kéo dài thời gian ra mắt vô ích.
  • Không test đường ống tool trước: nhảy thẳng vào agent phức tạp rồi loay hoay không biết lỗi ở LLM hay ở tool.
  • Dùng model quá mạnh/quá đắt cho task đơn giản: bắt đầu bằng model rẻ, nâng cấp khi cần.

Tổng kết

Bạn đã có môi trường, key an toàn, và một agent gọi được tool đầu tiên. Bài 4 ta biến workflow Zapier thật thành agent — bước chuyển đổi cốt lõi của khóa học.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi