Cách Chặn Việc Trông Trẻ Các AI Agent

Ashley Innocent

Ashley Innocent

24 tháng 3 2026

Cách Chặn Việc Trông Trẻ Các AI Agent

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

TÓM TẮT

Bạn ngừng "chăm sóc" các tác nhân AI bằng cách xây dựng ba thứ: rào chắn (guardrails - các ràng buộc ngăn ngừa lỗi thảm khốc), khả năng quan sát (observability - nhật ký và chỉ số cho biết điều gì đã xảy ra), và các điểm kiểm tra (checkpoints - tạm dừng tự động để con người xác minh các quyết định). Thiết lập những điều này một lần, và các tác nhân của bạn có thể tự chạy trong hàng giờ thay vì vài phút. Các công cụ như Apidog giúp ích bằng cách cho phép bạn định nghĩa các hợp đồng API mà tác nhân không thể vi phạm, biến lớp API của bạn thành một mạng lưới an toàn.

Giới thiệu

Tuần trước, tôi đã chứng kiến một nhà phát triển dành 4 giờ để giám sát một tác nhân AI đáng lẽ ra phải giúp anh ta tiết kiệm thời gian. Cứ vài phút, anh ta lại ngắt lời, sửa lỗi và khởi động lại. Cuối cùng, anh ta đã làm nhiều việc thủ công hơn so với việc tự viết mã.

Đây là vấn đề "chăm sóc trẻ con", và đó là lý do hàng đầu khiến các tác nhân AI không thực hiện được lời hứa của mình. Các công cụ hoạt động. Các mô hình có khả năng. Nhưng hầu hết các nhóm không bao giờ vượt qua được giai đoạn giám sát liên tục.

Đây là điều đang xảy ra: hầu hết các thiết lập tác nhân AI coi LLM như một nhà phát triển cấp dưới cần được hướng dẫn tận tình trong mọi nhiệm vụ. Nhưng LLM không phải là cấp dưới. Chúng giống như những thực tập sinh cực kỳ nhanh, đôi khi tạo ra thông tin sai lệch nhưng vẫn tự tin làm sai nếu bạn không đặt ra ranh giới.

💡
Nếu bạn đang xây dựng API hoặc làm việc với các tác nhân AI gọi API, Apidog sẽ giúp bạn xác định các ranh giới đó. Bằng cách chỉ định chính xác lược đồ yêu cầu/phản hồi, bạn tạo ra các hợp đồng mà tác nhân không thể vô tình vi phạm. Điều này giống như việc bạn đưa cho tác nhân của mình một bản đồ thay vì để chúng tự do lang thang.
nút

Xác định các hợp đồng API mà tác nhân AI của bạn có thể tuân theo

Đến cuối hướng dẫn này, bạn sẽ có:

Tại sao các tác nhân cần được giám sát liên tục

Các tác nhân AI thất bại theo những cách có thể dự đoán được. Hiểu rõ các chế độ lỗi này là bước đầu tiên để khắc phục chúng.

Chế độ lỗi 1: Lạm dụng phạm vi (Scope creep)

Bạn yêu cầu một tác nhân "thêm xác thực vào điểm cuối API." Nó thêm xác thực. Sau đó, nó thêm giới hạn tốc độ. Sau đó, nó tái cấu trúc lược đồ cơ sở dữ liệu. Sau đó, nó xóa những gì nó cho là các tệp "không sử dụng", hóa ra lại rất quan trọng.

Tác nhân cứ tiếp tục vì không ai bảo nó dừng lại. LLM không có ý thức bẩm sinh về việc "hoàn thành". Chúng sẽ tiếp tục thực hiện thay đổi cho đến khi đạt đến giới hạn token hoặc bạn ngắt lời chúng.

Chế độ lỗi 2: Trừu tượng hóa sai (Wrong abstractions)

Một tác nhân được giao nhiệm vụ "cải thiện xử lý lỗi" có thể thêm các khối try-catch ở khắp mọi nơi. Về mặt kỹ thuật là đúng. Nhưng thực tế lại tệ hại. Mã trở nên khó đọc, việc ghi nhật ký không nhất quán và các trường hợp lỗi thực tế không được xử lý.

Tác nhân hiểu yêu cầu theo nghĩa đen nhưng lại bỏ lỡ ý định. Nếu không có ví dụ về cách xử lý lỗi tốt, nó sẽ mặc định chọn cách giải thích rõ ràng nhất (và tồi tệ nhất).

Chế độ lỗi 3: Lỗi tầng (Cascading failures)

Một tác nhân mắc một lỗi nhỏ ở bước 1. Đến bước 10, lỗi đó đã lan truyền qua mọi quyết định tiếp theo. Điều bắt đầu bằng một lỗi đánh máy trong tên hàm trở thành một API bị hỏng, các bài kiểm tra bị lỗi và một nhà phát triển bối rối cố gắng tìm hiểu điều gì đã xảy ra.

Đây là chế độ lỗi nguy hiểm nhất vì tác nhân không biết mình đã thất bại. Mỗi bước đều có vẻ hợp lý khi đứng một mình. Chỉ kết quả cuối cùng mới tiết lộ vấn đề.

Chế độ lỗi 4: Cạn kiệt tài nguyên (Resource exhaustion)

Nếu không được giám sát, một số tác nhân sẽ lặp vô thời hạn. Chúng sẽ thử lại các lệnh gọi API thất bại không ngừng, tạo ra các tác nhân phụ mới không giới hạn hoặc tiếp tục tạo mã cho đến khi đạt đến giới hạn thanh toán của bạn.

Nếu không có ràng buộc về tài nguyên, các tác nhân không biết khi nào phải dừng lại.

Khung quyền tự chủ: rào chắn, khả năng quan sát, điểm kiểm tra

Bạn giải quyết những vấn đề này bằng ba lớp. Hãy hình dung chúng như một kim tự tháp: rào chắn ở dưới cùng (ngăn ngừa thất bại), khả năng quan sát ở giữa (phát hiện thất bại), và các điểm kiểm tra ở trên cùng (khôi phục sau thất bại).

Lớp 1: Rào chắn (ngăn ngừa)

Rào chắn là những ràng buộc ngăn ngừa các lỗi thảm khốc. Chúng là các quy tắc mà tác nhân của bạn không thể vi phạm, được thực thi bằng mã, chứ không phải bằng các lời nhắc.

Các ràng buộc cứng thông qua mã:

# Không nên: Tin tưởng tác nhân tuân thủ hướng dẫn
agent.run("Only modify files in the src/ directory")

# Nên: Áp dụng các ràng buộc trong mã
import os
from pathlib import Path

ALLOWED_DIRECTORIES = {"src", "tests", "docs"}

def validate_file_path(path: str) -> bool:
    """Tác nhân không thể ghi ra ngoài các thư mục được phép."""
    abs_path = Path(path).resolve()
    return any(
        str(abs_path).startswith(str(Path(d).resolve()))
        for d in ALLOWED_DIRECTORIES
    )

# Use in your agent's file operations
def agent_write_file(path: str, content: str):
    if not validate_file_path(path):
        raise ValueError(f"Không thể ghi vào {path}: ngoài các thư mục được phép")
    with open(path, 'w') as f:
        f.write(content)

Các ràng buộc lược đồ API:

Khi tác nhân của bạn gọi API, hãy sử dụng lược đồ để ngăn chặn các yêu cầu không đúng định dạng. Đây là lúc Apidog phát huy tác dụng. Định nghĩa hợp đồng API của bạn một lần, và tác nhân của bạn không thể gửi dữ liệu sai định dạng.

// apidog-schema.ts
export const CreateUserSchema = {
  type: 'object',
  required: ['email', 'name'],
  properties: {
    email: { type: 'string', format: 'email' },
    name: { type: 'string', minLength: 1, maxLength: 100 },
    role: { type: 'string', enum: ['user', 'admin', 'guest'] }
  },
  additionalProperties: false
}

// Tác nhân phải xác thực trước khi gọi API
function validateRequest(schema: object, data: unknown): void {
  const valid = ajv.validate(schema, data)
  if (!valid) {
    throw new Error(`Yêu cầu không hợp lệ: ${JSON.stringify(ajv.errors)}`)
  }
}

Các ràng buộc về ngân sách:

import time
from dataclasses import dataclass

@dataclass
class AgentBudget:
    max_steps: int = 50
    max_tokens: int = 100000
    max_time_seconds: int = 600  # 10 phút
    max_api_calls: int = 100

class BudgetEnforcer:
    def __init__(self, budget: AgentBudget):
        self.budget = budget
        self.start_time = time.time()
        self.steps = 0
        self.tokens_used = 0
        self.api_calls = 0
    
    def check(self) -> bool:
        """Trả về False nếu vượt quá ngân sách."""
        elapsed = time.time() - self.start_time
        
        if self.steps >= self.budget.max_steps:
            raise RuntimeError(f"Đã đạt giới hạn bước: {self.steps}")
        if self.tokens_used >= self.budget.max_tokens:
            raise RuntimeError(f"Đã đạt giới hạn token: {self.tokens_used}")
        if elapsed >= self.budget.max_time_seconds:
            raise RuntimeError(f"Đã đạt giới hạn thời gian: {elapsed:.0f}s")
        if self.api_calls >= self.budget.max_api_calls:
            raise RuntimeError(f"Đã đạt giới hạn lệnh gọi API: {self.api_calls}")
        
        return True
    
    def record_step(self, tokens: int, api_calls: int = 0):
        self.steps += 1
        self.tokens_used += tokens
        self.api_calls += api_calls
        self.check()

Lớp 2: Khả năng quan sát (phát hiện)

Khi các tác nhân chạy trong nhiều giờ, bạn cần biết chúng đang làm gì mà không cần theo dõi từng bước. Khả năng quan sát cung cấp cho bạn một dòng thời gian các quyết định.

Ghi nhật ký có cấu trúc:

import json
from datetime import datetime
from typing import Any

class AgentLogger:
    def __init__(self, log_file: str = "agent_trace.jsonl"):
        self.log_file = log_file
        self.entries = []
    
    def log(self, event: str, data: dict[str, Any] | None = None):
        entry = {
            "timestamp": datetime.utcnow().isoformat(),
            "event": event,
            "data": data or {}
        }
        self.entries.append(entry)
        
        # Ghi vào tệp ngay lập tức (không làm mất nhật ký khi gặp sự cố)
        with open(self.log_file, 'a') as f:
            f.write(json.dumps(entry) + '\n')
    
    def log_decision(self, decision: str, reasoning: str, confidence: float):
        """Ghi nhật ký khi tác nhân đưa ra một quyết định quan trọng."""
        self.log("decision", {
            "decision": decision,
            "reasoning": reasoning,
            "confidence": confidence
        })
    
    def log_action(self, action: str, params: dict, result: str):
        """Ghi nhật ký các hành động của tác nhân và kết quả của chúng."""
        self.log("action", {
            "action": action,
            "params": params,
            "result": result[:200]  # Cắt bớt kết quả dài
        })
    
    def log_error(self, error: str, context: dict):
        """Ghi nhật ký lỗi với đầy đủ ngữ cảnh."""
        self.log("error", {
            "error": error,
            "context": context
        })

# Cách sử dụng trong tác nhân
logger = AgentLogger()
logger.log_decision(
    decision="Add rate limiting to API",
    reasoning="Current endpoint has no protection against abuse",
    confidence=0.85
)
logger.log_action(
    action="write_file",
    params={"path": "src/middleware/rate-limit.ts"},
    result="Successfully wrote 45 lines"
)

Bảng điều khiển chỉ số:

Đối với các tác nhân chạy lâu hơn, bạn muốn các chỉ số tổng hợp, chứ không chỉ các nhật ký riêng lẻ.

from collections import Counter
from dataclasses import dataclass, field

@dataclass
class AgentMetrics:
    actions_taken: Counter = field(default_factory=Counter)
    files_modified: list[str] = field(default_factory=list)
    api_calls: dict[str, int] = field(default_factory=dict)
    errors: list[str] = field(default_factory=list)
    decisions_by_confidence: dict[str, int] = field(default_factory=lambda: {
        "high (>0.9)": 0,
        "medium (0.7-0.9)": 0,
        "low (<0.7)": 0
    })
    
    def record_action(self, action: str):
        self.actions_taken[action] += 1
    
    def record_file_modification(self, path: str):
        if path not in self.files_modified:
            self.files_modified.append(path)
    
    def record_api_call(self, endpoint: str):
        self.api_calls[endpoint] = self.api_calls.get(endpoint, 0) + 1
    
    def record_error(self, error: str):
        self.errors.append(error)
    
    def record_decision(self, confidence: float):
        if confidence > 0.9:
            self.decisions_by_confidence["high (>0.9)"] += 1
        elif confidence >= 0.7:
            self.decisions_by_confidence["medium (0.7-0.9)"] += 1
        else:
            self.decisions_by_confidence["low (<0.7)"] += 1
    
    def summary(self) -> str:
        return f"""
Tóm tắt chỉ số tác nhân
=====================
Hành động: {dict(self.actions_taken)}
Tệp đã sửa đổi: {len(self.files_modified)}
Lệnh gọi API: {self.api_calls}
Lỗi: {len(self.errors)}
Quyết định theo độ tin cậy: {self.decisions_by_confidence}
"""

Lớp 3: Điểm kiểm tra (khôi phục)

Các điểm kiểm tra là những lần tạm dừng tự động nơi tác nhân chờ xác minh từ con người. Chúng cho phép bạn phát hiện vấn đề sớm mà không cần giám sát liên tục.

Các điểm kiểm tra tự động:

from enum import Enum
from typing import Callable

class CheckpointTrigger(Enum):
    BEFORE_FILE_WRITE = "before_file_write"
    BEFORE_API_CALL = "before_api_call"
    BEFORE_GIT_COMMIT = "before_git_commit"
    BEFORE_DELETE = "before_delete"
    AFTER_N_STEPS = "after_n_steps"

@dataclass
class Checkpoint:
    trigger: CheckpointTrigger
    description: str
    data: dict
    requires_approval: bool = True

class CheckpointManager:
    def __init__(self, auto_approve: set[CheckpointTrigger] | None = None):
        self.auto_approve = auto_approve or set()
        self.pending: list[Checkpoint] = []
    
    def create_checkpoint(
        self, 
        trigger: CheckpointTrigger, 
        description: str, 
        data: dict
    ) -> bool:
        """Trả về True nếu được phê duyệt, False nếu bị từ chối."""
        
        # Tự động phê duyệt một số tác nhân kích hoạt nhất định
        if trigger in self.auto_approve:
            return True
        
        checkpoint = Checkpoint(
            trigger=trigger,
            description=description,
            data=data
        )
        self.pending.append(checkpoint)
        
        # Trong một hệ thống thực tế, điều này sẽ thông báo cho con người và chờ đợi
        # Hiện tại, chúng ta trả về False để tạm dừng thực thi
        return False
    
    def approve(self, checkpoint_id: int) -> None:
        """Con người phê duyệt một điểm kiểm tra đang chờ xử lý."""
        if 0 <= checkpoint_id < len(self.pending):
            self.pending.pop(checkpoint_id)
    
    def reject(self, checkpoint_id: int) -> None:
        """Con người từ chối một điểm kiểm tra đang chờ xử lý."""
        raise RuntimeError(f"Điểm kiểm tra bị từ chối: {self.pending[checkpoint_id]}")

# Cách sử dụng trong tác nhân
checkpoints = CheckpointManager(
    auto_approve={CheckpointTrigger.BEFORE_FILE_WRITE}  # Tin tưởng việc ghi tệp
)

# Trước hành động phá hủy
if not checkpoints.create_checkpoint(
    trigger=CheckpointTrigger.BEFORE_DELETE,
    description="About to delete src/legacy/ directory",
    data={"path": "src/legacy/", "files": ["old_handler.ts", "deprecated.ts"]}
):
    # Chờ phê duyệt từ con người
    agent.pause("Đang chờ phê duyệt để xóa tệp")

Xây dựng các tác nhân tự chủ với Apidog

Khi tác nhân AI của bạn tương tác với API, rủi ro lớn nhất là các yêu cầu không đúng định dạng gây ra lỗi downstream. Apidog giúp ích bằng cách cho phép bạn định nghĩa các lược đồ API chính xác mà tác nhân của bạn phải tuân theo.

Thiết lập các hợp đồng API:

  1. Nhập hoặc định nghĩa thông số kỹ thuật OpenAPI của bạn trong Apidog
  2. Tạo mã máy khách với xác thực tích hợp
  3. Cung cấp cho tác nhân của bạn máy khách đã được xác thực thay vì HTTP thô
// Thay vì để tác nhân gọi API trực tiếp
const response = await fetch('/api/users', {
  method: 'POST',
  body: JSON.stringify(data)  // Không có xác thực
})

// Cung cấp cho tác nhân một máy khách đã được xác thực
import { UsersApi } from './generated/apidog-client'

const usersApi = new UsersApi()
// Tác nhân chỉ có thể gửi các yêu cầu hợp lệ - lược đồ được thực thi
const response = await usersApi.createUser({
  email: 'user@example.com',
  name: 'Test User',
  role: 'user'  // Phải là giá trị enum hợp lệ
})

Điều này biến lớp API của bạn thành một rào chắn. Tác nhân không thể gửi dữ liệu không hợp lệ vì máy khách từ chối nó trước khi yêu cầu được gửi đi.

Tạo các máy khách API đã được xác thực cho tác nhân AI của bạn

Các mẫu đã được chứng minh và những sai lầm phổ biến

Mẫu 1: Quy trình phê duyệt hai lớp (Approval sandwich)

Đối với các hoạt động rủi ro, yêu cầu phê duyệt TRƯỚC VÀ SAU khi thực hiện.

def risky_operation(agent, operation):
    # Phê duyệt trước
    if not agent.checkpoint(f"About to: {operation.description}"):
        return "Cancelled by user"
    
    # Thực hiện thao tác
    result = operation.execute()
    
    # Phê duyệt sau (xác minh kết quả)
    if not agent.checkpoint(f"Verify result of: {operation.description}"):
        operation.rollback()
        return "Rolled back by user"
    
    return result

Mẫu 2: Ngưỡng tin cậy (Confidence thresholds)

Đừng để tác nhân hành động dựa trên các quyết định có độ tin cậy thấp.

MIN_CONFIDENCE = 0.75

def agent_decide(options: list[dict]) -> dict:
    best = max(options, key=lambda x: x.get('confidence', 0))
    
    if best['confidence'] < MIN_CONFIDENCE:
        # Chuyển lên người quản lý
        return {
            'action': 'escalate',
            'reason': f"Best option has confidence {best['confidence']:.2f} < {MIN_CONFIDENCE}",
            'options': options
        }
    
    return best

Mẫu 3: Các hoạt động bất biến (Idempotent operations)

Thiết kế các hành động của tác nhân để có thể lặp lại mà không gây ra tác dụng phụ.

import hashlib

def idempotent_write(path: str, content: str) -> bool:
    """Chỉ ghi nếu nội dung thay đổi."""
    content_hash = hashlib.sha256(content.encode()).hexdigest()
    
    existing_hash = None
    if os.path.exists(path):
        with open(path, 'r') as f:
            existing_hash = hashlib.sha256(f.read().encode()).hexdigest()
    
    if content_hash == existing_hash:
        logger.log_action("write_file", {"path": path}, "Đã bỏ qua - không có thay đổi")
        return False
    
    with open(path, 'w') as f:
        f.write(content)
    logger.log_action("write_file", {"path": path}, f"Đã ghi {len(content)} byte")
    return True

Những sai lầm phổ biến cần tránh

Tin tưởng các lời nhắc như ràng buộc. "Đừng xóa tệp" trong lời nhắc không phải là một ràng buộc. Quyền tệp mới là ràng buộc.

Không có kế hoạch khôi phục. Khi một tác nhân mắc lỗi, bạn cần hoàn tác nó. Nếu bạn không sử dụng git hoặc các bản sao lưu, bạn đang tin tưởng tác nhân với những hành động không thể khôi phục.

Bỏ qua điểm số tin cậy. Hầu hết các LLM đều xuất ra độ tin cậy hoặc có thể được nhắc để làm điều đó. Độ tin cậy thấp = tạm dừng và hỏi con người.

Giám sát quá mức. Nếu bạn đang theo dõi mọi bước, bạn chưa xây dựng một hệ thống tự chủ. Bạn đã xây dựng một hệ thống thủ công chậm chạp.

Chỉ định không rõ ràng về thành công. Tác nhân cần biết khi nào nó hoàn thành. "Sửa lỗi" không có điều kiện kết thúc. "Sửa lỗi VÀ tất cả các bài kiểm tra đều vượt qua" thì có.


Các lựa chọn thay thế và so sánh

Cách tiếp cận Khả năng tự chủ Rủi ro Tốt nhất cho
Viết mã thủ công Không Thấp Công việc phức tạp, quan trọng
Lập trình cặp với AI Thấp Thấp Học tập, khám phá
Các tác nhân được giám sát Trung bình Trung bình Các nhiệm vụ định kỳ
Các tác nhân tự chủ có rào chắn Cao Được kiểm soát Các thao tác hàng loạt, di chuyển dữ liệu
Các tác nhân hoàn toàn tự chủ Rất cao Rất cao Các quy trình làm việc đáng tin cậy, đã được kiểm tra kỹ

Hầu hết các nhóm nên hướng tới "tự chủ có rào chắn." Đây là điểm lý tưởng nơi bạn tiết kiệm 80% thời gian với 10% rủi ro.


Các trường hợp sử dụng thực tế

Di chuyển cơ sở mã. Một nhóm đã sử dụng một tác nhân tự chủ để di chuyển 200 điểm cuối API từ REST sang GraphQL. Các rào chắn đã ngăn chặn thay đổi lược đồ. Các điểm kiểm tra yêu cầu phê duyệt trước khi xóa các điểm cuối cũ. Việc di chuyển mất 3 ngày thay vì 3 tuần, với không có sự cố sản xuất nào.

Tạo tài liệu. Một tác nhân tự động tạo tài liệu API từ mã. Các rào chắn đảm bảo nó chỉ đọc từ các thư mục cụ thể. Các điểm kiểm tra tạm dừng trước khi xuất bản. Nhóm xem xét tài liệu mỗi tuần một lần thay vì viết thủ công.

Độ bao phủ kiểm thử. Một tác nhân phân tích mã và viết các bài kiểm thử còn thiếu. Các ràng buộc ngân sách ngăn chặn việc tạo ra các bài kiểm thử không kiểm soát. Ngưỡng tin cậy gắn cờ các bài kiểm thử không chắc chắn để con người xem xét. Độ bao phủ đã tăng từ 60% lên 85% trong một tháng.

Tóm tắt

Đây là những gì bạn đã học:

nút

Các bước tiếp theo của bạn:

  1. Xác định nhiệm vụ hỗ trợ AI lặp đi lặp lại nhất của bạn
  2. Xác định rào chắn: điều gì mà tác nhân không bao giờ được làm?
  3. Thêm ghi nhật ký có cấu trúc để xem điều gì đang xảy ra
  4. Tạo các điểm kiểm tra cho các hoạt động rủi ro cao
  5. Hãy để nó chạy trong 30 phút và kiểm tra nhật ký

Mục tiêu không phải là loại bỏ con người khỏi vòng lặp. Mà là đặt con người vào đúng vị trí trong vòng lặp: đưa ra các quyết định cấp cao thay vì sửa chữa các lỗi cấp thấp.

Xây dựng rào chắn API cho tác nhân AI của bạn - miễn phí

Câu hỏi thường gặp

Sự khác biệt giữa tác nhân AI và trợ lý AI là gì? Một trợ lý phản hồi các yêu cầu của bạn và chờ hướng dẫn tiếp theo của bạn. Một tác nhân nhận một mục tiêu và tự chủ lập kế hoạch và thực hiện các bước để đạt được nó. Trợ lý cần bạn trong mọi vòng lặp. Các tác nhân chạy cho đến khi chúng đạt đến một điểm kiểm tra hoặc hoàn thành.

Làm thế nào để tôi biết tác nhân của mình đã sẵn sàng chạy tự chủ chưa? Hãy chạy nó ở chế độ giám sát trong 10 phiên. Theo dõi mỗi lần bạn phải can thiệp. Nếu số lần can thiệp giảm xuống dưới 2 lần mỗi phiên và tất cả đều là nhỏ (làm rõ, không phải sửa lỗi), thì nó đã sẵn sàng. Nếu các can thiệp thường xuyên hoặc yêu cầu hoàn tác công việc, hãy thêm nhiều rào chắn hơn.

Rủi ro lớn nhất với các tác nhân tự chủ là gì? Các lỗi tầng mà tác nhân không nhận ra. Một lỗi nhỏ ban đầu trở thành một vấn đề lớn sau này, và tác nhân tiếp tục vì mỗi bước đều có vẻ hợp lý khi đứng một mình. Các điểm kiểm tra phá vỡ những lỗi tầng này bằng cách buộc phải xác minh.

Tôi có thể sử dụng các mẫu này với bất kỳ LLM nào không? Có. Các mẫu (rào chắn, khả năng quan sát, điểm kiểm tra) không phụ thuộc vào mô hình. Chúng hoạt động với Claude, GPT-4, Gemini hoặc bất kỳ mô hình nào khác. Các chi tiết triển khai cụ thể có thể khác nhau, nhưng các khái niệm thì tương tự.

Khả năng quan sát làm chậm tác nhân đến mức nào? Không đáng kể. Ghi vào tệp nhật ký mất vài micro giây. Sự chậm lại đến từ các điểm kiểm tra chờ đợi đầu vào của con người. Đối với các lần chạy thực sự tự chủ, bạn chỉ kiểm tra tại những thời điểm rủi ro cao, chứ không phải mọi bước.

Nếu tác nhân đưa ra một quyết định mà tôi không đồng ý thì sao? Đó là mục đích của các điểm kiểm tra. Khi bạn thấy một quyết định mà bạn không đồng ý, hãy từ chối điểm kiểm tra đó. Tác nhân sẽ hoàn tác hoặc thử một cách tiếp cận khác. Tốt hơn nữa: đưa sở thích của bạn vào hướng dẫn của tác nhân để nó học hỏi phong cách của bạn theo thời gian.

Tôi nên bắt đầu với tác nhân được giám sát hay tác nhân tự chủ? Luôn bắt đầu với tác nhân được giám sát. Chạy tác nhân với các điểm kiểm tra trên mọi hành động quan trọng cho đến khi bạn tin tưởng nó. Dần dần loại bỏ các điểm kiểm tra cho các hành động rủi ro thấp. Điều này giúp xây dựng sự tự tin dần dần thay vì mạo hiểm một thất bại thảm khốc trong lần chạy tự chủ đầu tiên của bạn.

Apidog giúp ích cụ thể như thế nào với các tác nhân AI? Apidog tạo ra các máy khách API đã được xác thực từ các lược đồ của bạn. Khi một tác nhân sử dụng các máy khách này, các yêu cầu không đúng định dạng sẽ bị từ chối trước khi chúng đến phần phụ trợ của bạn. Điều này ngăn chặn toàn bộ một lớp lỗi trong đó tác nhân gửi dữ liệu sai định dạng hoặc giá trị không hợp lệ.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API