Repository navigation
The assistant can search the web and be asked as a persona (M3c) - #61
Merged
Merged
Conversation
…ersonas web_search is a looking tool like the others: the suite runs the search and credits it to the conversation, and what comes back is for the model to read and cite, never a write. A failed search is a result the model reads, not a failed turn. A turn may be asked as one of the suite's personas, chosen in a picker that appears only when the suite has some. The persona is kept on the turn row, so a turn a restart reruns is asked as the same one, and the suite applies its prompt and model; this app only names it. The personas endpoint returns only what a picker shows, never a system prompt, and is empty for any reason at all. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V1geD2ELWgL2sDpxYbx3Aw
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GAM's half of M3c (web search and personas in the assistants; GVC's is a separate PR). No suite change was needed: the suite already served web search and personas to apps and applied a
persona_idin chat. Merging this changes nothing until the assistant is used (it only exists withAI_BACKEND=suite).web_search, a looking tool. The assistant can search the web for what the library can't say (who someone is, what a term means). The suite runs it (its own search backend, else DuckDuckGo), called as GAM for the person and credited to the conversation (subject_ref). What comes back is numbered text for the model to read and cite, capped at one page of results. It never writes: the assistant's rule that only Apply changes the library is untouched, and its prompt now says to use the web sparingly, say where a fact came from, and never present something from the web as if it were in the asset. A failed search is a result the model reads, not a failed turn.chat.assistantin place of the routed one; this app only names it.e8c41a7b2d56), so a turn a restart reruns is asked as the same persona. It belongs to the turn: the next message is asked as whatever the picker then says.GET /api/assistant/personasreturns only what a picker shows (id, name, description, avatar), never a system prompt, and is empty for any reason at all (none made, the suite down, not in suite mode), so a missing picker is never an error.Test plan
cd backend && pytest -q: 1543 passed (7 new: the search end to end (as GAM for the person, credited to the conversation, results numbered, library untouched), a failed search read by the model, an empty query never reaching the suite, the picker without prompts, no personas when none/down/local, a persona sent to the suite and kept per turn, a refused persona's sentence; plus the migration test covers the new column).cd frontend && npm run format:check && npm run lint && npm test && npm run build: 479 tests passed (5 new).Deployment
Merging and redeploying changes nothing until you ask the assistant something.
curl -f http://localhost:${APP_PORT}/api/healthe8c41a7b2d56(add_assistant_persona) runs on container start and adds one nullable column,persona_id, toassistant_turn. Existing turns read as "no persona". It downgrades by dropping the column; nothing needs backing up first.Generated by Claude Code