Skip to content

Development roadmap #8

@JasonTheAdams

Description

@JasonTheAdams

I think it would be helpful to take the requirements doc and derive a development roadmap. I think what exactly is the MVP can be defined as this is thought through, but isn't my initial intent to define. The phases are prioritized based on the greater WP AI initiative, with the goal being that we can move to other projects within that effort faster, without having to wait for this to be done in its entirety. Lastly, this is intended to be iterative with no backwards compatibility issues.

I'm not sure if we want to update the requirements doc with any/all of this, or if it's best to consider them separate. I'm good either way.

Phase 1: Basic Universal Client

Goal: Client is capable of registering providers, models, providing a uniform UI regardless of the model being used, and make the fundamental requests with the model.

  • Client provides a unified API for interacting with various models
  • Basic model parameters (e.g. temperature and top P) are standardized
  • Providers and models can be registered
  • Basic AI modalities
    • Text
    • Image

Phase 2: Agent Flows

Goal: Client is capable of providing a chat experience

  • Response streaming is supported to provide fluid UX
  • Client can receive a chat history

Phase 3: Agentic tooling

Goal: The client is capable of dynamic agentic capabilities with the introduction of tooling, opening it up to WP capabilities

  • Tools can be defined and passed to the model
  • Resources can be defined and passed to the model
  • Registered models can specify whether they support tools and/or resources
  • Model prompts support tool calls and results

Phase 4: Advanced features

Goal: Expand the capabilities of the client to include additional modalities and multi-modal

  • Add more advanced modalities
    • Audio
    • Video
  • Long-running operations are supported
  • Structured output from AI

No Gos

The following are ideas and directions we are intentionally not taking at this time. Some indefinitely and others in the meantime

  • The client is not responsible for persisting chat history in any way. It can receive chat history for context, but it's up to the implementing code to persist it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    [Type] DiscussionFor issues that are high-level and not yet ready to implement.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions