google / google/adk-go

Finalize tool.Tool interface

Open
#292 3 comments 3 reactions 0 assignees View on GitHub
breaking change
Dominant language
Go
Stars
8.8k
Forks
1k
Avg merge
3d 18h
Merged PRs (30d)
88

Description

Currently is serves as a placeholder type to pass tools to LLMAgent.

It's not possible to implement `tool.Tool` directly with a custom type (technically possible, but this tool won't work). The only way right now to create tool -- using adk-provided constructors (e.g. functiontool.New, loadartifacttool.New).

We need to finalize `tool.Tool` interface (and maybe even expose any extra interfaces if needed), to allow standard implicit interface implementation of a tool by custom types.

Contributor guide

Open the contributing guide

Research direction

Start by reading the tool.Tool definition, its LLMAgent integration, and the existing constructors such as functiontool.New and loadartifacttool.New. Clarify the interfaces required for custom tool types; done means a custom type can implement tool.Tool implicitly and function correctly when passed to LLMAgent.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ai-infra-agents
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.