Skip to content

Support source attribution in agent responses #452

Description

@lramos15

Problem

An agent can explain an answer using web pages, files, or retrieved documents, but AHP has no shared way to say which sources support which parts of that answer.

Ordinary Markdown links help people open sources, but they do not give clients enough information to show a source preview or highlight the text it supports. Information attached only to a live action is also missing when another client joins or loads the conversation history.

Proposal

Add an optional attribution response part to the chat channel. It would identify an earlier text part, list its sources, and link text ranges to those sources.

This should work with any agent or harness. It should not require a particular model, search tool, website, local filesystem, or user interface.

Expected behavior

  • The host can stream the answer first and add attribution before the turn ends.
  • Sources can describe web pages, files, and documents, with optional titles, excerpts, and locations.
  • Text ranges have a precise, language-independent meaning, including for non-ASCII text.
  • Attribution survives turn completion, snapshots, reconnection, and history loading.
  • A client that does not show attribution can still display the original answer normally.
  • Attribution does not grant permission to fetch a resource or claim that the answer has been independently verified.

Scope

Add the protocol types, explain the behavior with a small example, regenerate the client libraries and schemas, and cover the wire format and shared-state behavior with the existing cross-language tests.

Search planning, search progress, ranking, and the appearance of citation badges or source panels are outside this change.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions