Skip to content

Agent Types

這按照幾個維度對所有可用代理進行分類。

Intended Model Type

該代理是否適用於聊天模型(接收訊息,輸出訊息)或 LLM(接收字串,輸出字串)。這影響的主要因素是所使用的提示策略。您可以使用具有與預期不同類型模型的代理,但它可能不會產生相同品質的結果。

Supports Chat History

這些代理類型是否支援聊天歷史記錄。如果是,則表示它可以用作聊天機器人。如果沒有,那就意味著它更適合單一任務。支援聊天歷史通常需要更好的模型,因此針對較差模型的早期代理類型可能不支援它。

Supports Multi-Input Tools

這些代理類型是否支援具有多個輸入的工具。如果一個工具只需要一個輸入,法學碩士通常更容易知道如何調用它。因此,針對較差模型的幾種早期代理類型可能不支援它們。

Supports Parallel Function Calling

讓 LLM 同時調用多個工具可以大大加快代理的速度,無論是否有任務需要這樣做。然而,對於 LLM 來說,做到這一點更具挑戰性,因此某些代理類型不支持這一點。

Required Model Params

該代理是否需要模型支援任何附加參數。某些代理類型利用 OpenAI 函數呼叫等功能,這需要其他模型參數。如果不需要,則表示一切都是透過提示完成的

When to Use

我們對何時應考慮使用此代理類型的評論。

Agent Type Intended Model Type Supports Chat History Supports Multi-Input Tools Supports Parallel Function Calling Required Model Params When to Use API
OpenAI Tools Chat tools If you are using a recent OpenAI model (1106 onwards) Ref
OpenAI Functions Chat functions If you are using an OpenAI model, or an open-source model that has been finetuned for function calling and exposes the same functions parameters as OpenAI Ref
XML LLM If you are using Anthropic models, or other models good at XML Ref
Structured Chat Chat If you need to support tools with multiple inputs Ref
JSON Chat Chat If you are using a model good at JSON Ref
ReAct LLM If you are using a simple model Ref
Self Ask With Search LLM If you are using a simple model and only have one search tool Ref