Skip to content

tool use without auto execution - #162

Merged
michaelwasserman merged 32 commits into
webmachinelearning:mainfrom
jingyun19:patch-1
Oct 6, 2026
Merged

michaelwasserman merged 32 commits into
webmachinelearning:mainfrom
jingyun19:patch-1

Conversation

@jingyun19

@jingyun19 jingyun19 commented Nov 19, 2025 •

Copy link
Copy Markdown
Contributor

Update explainer and spec to support tool use functionalities without automatic execution.

Explainer: added an example and explained how to make tool calls
Spec: reflect IDL changes in https://chromium-review.googlesource.com/c/chromium/src/+/7092943


Preview | Diff

Added detailed explanations for tool use modes, including examples for open loop and closed loop execution.
Updated README to clarify tool-call and tool-result usage.
Added new types and enums for tool calls and responses.
@jingyun19

Copy link
Copy Markdown
Contributor Author

@tomayac tomayac left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried to make the code samples more readable and correct. Maybe consider running them all through a tool like prettier, which catches typos like missing commas or parentheses.

As general feedback, could the explainer outline why developers would choose closed vs. open?

Comment thread README.md Outdated
Comment thread README.md
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
jingyun19 and others added 5 commits November 26, 2025 09:08
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
Added explanation about automatic execution and constraints in planner loop.
@jingyun19

jingyun19 commented Dec 1, 2025 •

Copy link
Copy Markdown
Contributor Author

I added a new section to describe use cases where open loop is preferred. cc @tomayac

@reillyeon

Copy link
Copy Markdown
Collaborator

I hadn't previously considered the context compression use case. That's interesting and motivating to enable developers to manipulate the conversation at this low level.

@nico-martin nico-martin left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this implementation has a few weaknesses when it comes to distinguishing between a Message and a Message.Content element:
Message: Can have a specific role (whether it comes from the user, the assistant, or a tool call); it essentially describes the sender.
Message.Content: There can be multiple instances per Message; it describes the type of content.
I tried to make this concrete with a couple of comments.

Comment thread index.bs Outdated
Comment thread index.bs
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
@anssiko

anssiko commented Aug 14, 2026

Copy link
Copy Markdown
Member

@jingyun19 does the current PR reflect the Chromium implementation? The initial CL was merged. Remaining work?

@jingyun19

Copy link
Copy Markdown
Contributor Author

@jingyun19 does the current PR reflect the Chromium implementation? The initial CL was merged. Remaining work?

Yes it reflects the Chromium implementation. I believe the only remaining work is to support ToolCall type in input.

However, for us to do a dev trial, we also have the remaining work to fully support parsing and formatting tool types in the inference engine infrastructure.

jingyun19 and others added 10 commits September 28, 2026 14:43
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
Co-authored-by: Thomas Steiner <tomac@google.com>
@jingyun19

Copy link
Copy Markdown
Contributor Author

The updated spec is ready for review.

@reillyeon @michaelwasserman

Comment thread index.bs
Comment thread index.bs
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread index.bs
Comment thread index.bs
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread index.bs

@michaelwasserman michaelwasserman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for picking up this complex and important spec work again!

Comment thread index.bs Outdated
Comment thread index.bs
Comment thread index.bs
Comment thread index.bs
Comment thread index.bs Outdated
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread index.bs Outdated
Comment thread index.bs Outdated
Comment thread README.md Outdated
@michaelwasserman

Copy link
Copy Markdown
Collaborator

FYI @FrankLi-MSFT and @sushraja-msft

Comment thread README.md Outdated
Comment thread README.md Outdated
@michaelwasserman
michaelwasserman merged commit 8040b81 into webmachinelearning:main Oct 6, 2026
2 checks passed
github-actions Bot added a commit that referenced this pull request Oct 6, 2026
SHA: 8040b81
Reason: push, by michaelwasserman

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

8 participants