Add agent sub-package for composable LLM agents
Introduces v2/agent with a minimal API: Agent, New(), Run(), and AsTool(). Agents wrap a model + system prompt + tools. AsTool() turns an agent into a llm.Tool, enabling parent agents to delegate to sub-agents through the normal tool-call loop — no channels, pools, or orchestration needed. Also exports NewClient(provider.Provider) for custom provider integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,7 @@ func OpenAI(apiKey string, opts ...ClientOption) *Client {
|
||||
for _, opt := range opts {
|
||||
opt(cfg)
|
||||
}
|
||||
return newClient(openaiProvider.New(apiKey, cfg.baseURL))
|
||||
return NewClient(openaiProvider.New(apiKey, cfg.baseURL))
|
||||
}
|
||||
|
||||
// Anthropic creates an Anthropic client.
|
||||
@@ -30,7 +30,7 @@ func Anthropic(apiKey string, opts ...ClientOption) *Client {
|
||||
opt(cfg)
|
||||
}
|
||||
_ = cfg // Anthropic doesn't support custom base URL in the SDK
|
||||
return newClient(anthProvider.New(apiKey))
|
||||
return NewClient(anthProvider.New(apiKey))
|
||||
}
|
||||
|
||||
// Google creates a Google (Gemini) client.
|
||||
@@ -44,5 +44,5 @@ func Google(apiKey string, opts ...ClientOption) *Client {
|
||||
opt(cfg)
|
||||
}
|
||||
_ = cfg // Google doesn't support custom base URL in the SDK
|
||||
return newClient(googleProvider.New(apiKey))
|
||||
return NewClient(googleProvider.New(apiKey))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user