Skip to content

[FR] Dynamic Tool Management #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
AdamSobieski opened this issue Apr 2, 2025 · 1 comment
Closed

[FR] Dynamic Tool Management #96

AdamSobieski opened this issue Apr 2, 2025 · 1 comment

Comments

@AdamSobieski
Copy link

AdamSobieski commented Apr 2, 2025

Introduction

What if sessions' system prompts (or their tools-related sections) could be modified after they were created?

Presently, developers can provide immutable system prompts when creating sessions – the set of available tools is static. In theory, developers could modify system prompts (or their tools-related sections) at later points in time after creating sessions – the set of available tools would then be dynamic.

Should this be possible, a new parameter, e.g., a Boolean, could be provided for developers to use to indicate whether a created session's system prompt (or that prompt's tools-related section) could be modified later.

Use Cases

Digital Textbooks

A first use case involves digital textbooks. A digital textbook for biology, for example, might contain a large number of interactive 3D widgets. One such widget might depict a 3D model of a plant or animal cell. The set of tools available to an interoperating AI assistant might vary based on which interactive widgets were navigated to, scrolled to, and displayed.

Text Adventures, Interactive Fiction, and Videogames

A second use case involves text adventures, interactive fiction, and videogames. An AI agent, a player character, could be navigated between rooms by a player and the set of tools available to the AI agent would depend upon which room that the player character was in and the contents of that room.

Computer-aided Design and Engineering

A third use case involves computer-aided design or engineering applications providing hybrid graphical and conversational user interfaces. Such applications could present AI assistants with a very large number of tools. Perhaps only some of these tools need to be instantaneously available to an AI assistant. The set of tools available to an AI assistant could vary as applications' states changed and end-users' selections of content changed.

Related Issues

@AdamSobieski
Copy link
Author

AdamSobieski commented Apr 15, 2025

While looking again at the Prompt API documentation – sections on System Prompts and N-shot Prompting – I observed that, by not passing a system prompt when creating a language-model session, one can provide a runtime dynamic initial prompt, a system prompt, as that first prompt in a chat-history array of prompts provided to the session via the Prompt API. That is, it appears that dynamic tool management would already be possible with the Prompt API if it supported function calling.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant