Product Management
Đăng nhập
ESC

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

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

Bài 2 — Thiết lập môi trường & chọn công cụ (LLM, search API, framework)

Đã đọc 0/9 mục · còn khoảng 3 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 2 — Thiết lập môi trường & chọn công cụ

Trước khi viết logic agent, bạn cần 3 mảnh ghép: một LLM để suy luận, một search API để lấy kết quả web, và một cách fetch nội dung trang. Bài này giúp bạn chọn đúng và cấu hình xong trong 30 phút.

1. Chọn LLM

Tiêu chí thực dụng, không sính model:

  • Chất lượng tổng hợp — model có theo được nhiều đoạn context dài không.
  • Chi phí/1M token — research agent đọc rất nhiều, token chồng nhanh.
  • Hỗ trợ tool calling / structured output — bắt buộc để agent gọi công cụ.
Quy tắc thực chiến: dùng model rẻ và nhanh cho khâu trích xuất/lọc (đọc nhiều), dùng model mạnh cho khâu synthesize cuối (viết báo cáo). Đừng dùng model đắt nhất cho mọi bước.

2. Chọn search API

Đừng scrape Google trực tiếp (dễ bị chặn, vi phạm ToS). Dùng search API dành cho developer:

  • Tavily / Brave Search API / SerpAPI / Bing API — trả về JSON gồm title, url, snippet.
  • Nhiều API có sẵn tham số include_domains, time_range rất hợp cho CI.

3. Chọn cách fetch nội dung

Snippet từ search thường không đủ. Bạn cần đọc cả trang:

  • HTML tĩnh: thư viện HTTP + trình bóc tách (readability) để lấy phần text chính.
  • Trang render bằng JS: cần headless browser (Playwright).

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

  • Tạo môi trường cô lập.
python -m venv .venv && source .venv/bin/activate
pip install openai tavily-python httpx trafilatura pydantic python-dotenv
  • Lưu API key vào .env, KHÔNG hardcode.
LLM_API_KEY=sk-...
TAVILY_API_KEY=tvly-...
  • Viết một client cấu hình gọn.
import os
from dotenv import load_dotenv
load_dotenv()

LLM_KEY = os.environ["LLM_API_KEY"]
SEARCH_KEY = os.environ["TAVILY_API_KEY"]
MODEL_FAST = "gpt-4o-mini"   # đọc/lọc nhiều
MODEL_SMART = "gpt-4o"        # tổng hợp cuối
MAX_COST_USD = 0.50          # ngân sách 1 lần chạy
  • Test khói (smoke test) từng công cụ riêng lẻ trước khi ghép:
from tavily import TavilyClient
tv = TavilyClient(SEARCH_KEY)
print(tv.search("vi dien tu Momo phi rut tien", max_results=3))

Nếu bước này chạy, bạn đã có "đôi mắt" của agent.

  • Chọn framework điều phối (orchestration). Bạn có 2 hướng:
- Tự viết loop (khuyên dùng khi học) — kiểm soát hoàn toàn, dễ debug. - Dùng framework (LangGraph, CrewAI...) — nhanh hơn nhưng che mất cơ chế, khó sửa khi lỗi.

Khung quyết định: Build vs Framework

Yếu tốTự viết loopFramework
Học hiểu cơ chếCaoThấp
Tốc độ ra prototypeChậm hơnNhanh
Kiểm soát chi phíDễKhó nhìn
Debug khi lỗiDễKhó
Trong khóa này ta tự viết loop để bạn hiểu ruột gan; framework học sau vẫn kịp.

Sai lầm thường gặp

  • Hardcode API key vào code rồi push lên Git công khai — lộ key, bị bill oan.
  • Dùng một model đắt cho mọi bước — đốt tiền vô ích.
  • Không đặt ngân sách chi phí ngay từ đầu — agent lặp vô hạn.
  • Bỏ qua smoke test — ghép hết rồi mới phát hiện search API trả lỗi 401.
  • Scrape thẳng công cụ tìm kiếm — bị chặn IP và vi phạm điều khoản.

Checklist hoàn thành môi trường

  • [ ] venv tạo xong, thư viện cài đủ
  • [ ] API key nằm trong .env, .env đã vào .gitignore
  • [ ] Smoke test search chạy ra kết quả
  • [ ] Đã chọn MODEL_FAST và MODEL_SMART
  • [ ] Đã đặt MAX_COST_USD

Ví dụ: cấu trúc thư mục dự án gợi ý

ci-agent/
  .env            # key, không commit
  config.py       # model, ngân sách
  tools/
    search.py     # gọi search API
    fetch.py      # tải + làm sạch trang
  extract.py      # trích xuất có schema
  synth.py        # tổng hợp báo cáo
  run_ci.py       # điểm vào, ghép loop

Tách công cụ (search, fetch) khỏi logic (extract, synth) giúp bạn test từng phần độc lập và thay thế nhà cung cấp (đổi từ Tavily sang Brave) mà không đụng phần còn lại. Đây là thói quen kỹ thuật giúp agent dễ bảo trì khi quy mô lớn dần.

Bài 3 ta xây khâu đầu tiên của loop: search và chọn nguồn tốt.

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