Vlad In terms of custom assistants, I guess it depends partly on if there will still be a specific "code" assistant. If there still will be a "code" assistant, then I suggest custom assistants would get accessed in the same way or be placed in the same spot on the UI.
If, as I suspect, the "code" assistant is getting removed, then maybe in the dropdown for "Model" the last section could be called "Custom" and it would list out various custom-tailored assistants (I'm thinking at least up to 5 or maybe even up to 10 or 20 same as with Lenses).
These custom assistants would get set up in the same place in settings (https://kagi.com/settings?p=assistant) but with a UI much more like how lenses are currently set up (https://kagi.com/settings?p=lenses). So just like with lenses, you can rearrange custom assistants, turn them off or on, and edit them.
When you click to edit an assistant, you're given the following options:
- Assistant Name: Name your custom assistant
- Base Model: Select the LLM for your custom assistant
- Assistant Custom Instructions: How would you like Kagi Assistant to respond? (Up to 2000 characters)
- Assistant Shortcut: Set a keyword to use as a bang in the search box
- Internet Access (optional): Allow assistant default access to the web?
- Lens (optional): Choose an optional lens for the assistant to use as default
A few notes:
(A) Internet Access and Lens would just set the defaults for that custom model. This is obviously helpful if using a bang shortcut, but I could see how it might be confusing for a user on the Assistant landing page if the other selections in the model dropdown don't affect the Internet access and Lens selection.
One option is that the Internet Access and Lens selections only apply when using a bang, as that would result in functionality similar to how !chat might be preserved as a bang that always launches with internet access off. This would also have the benefit of maintaining consistency when on the Assistant landing page.
In this case, the last three settings could get be grouped separately as "Shortcut Settings" with the note that "these optional settings allow you to access your custom assistant with a bang shortcut and optional default settings."
(B) Custom instruction length: I think at least 2000 characters, but maybe 5k if you're feeling generous. That vastly opens up the possibilities for custom assistants (see below)
(C) Prebuilt custom assistants: I would suggest having a few prebuilt custom assistants just like with Lenses. In particular, you could have a "Code" assistant, a "Chat" assistant, and a "Research" assistant to minimize the transition shock. Each of these would be bang-addressable and essentially mimic the existing functionality of those modes. For example, "Code" might include whatever initial prompt was used for that mode, and "Research" would take you the Assistant with Internet Access on, etc.
(D) Example use cases:
- Writing Assistant (!write): If I write a lot of English papers, I could write a prompt that seamlessly continues whatever text I input for a few sentences, from the perspective of an English professor and in the style of an academic research paper.
- Summarizer Assistant (!sumz): If I don't like how Universal Summarizer summarizes documents, or if I tend to read more technical documents formatted in a particular way, I can write a custom summarization prompt tailored for the specific kinds of documents I am reading. For example, if it's a legal brief, I can have the prompt make sure it includes specific sections and summarizes them in specific ways.
- Shortener Assistant: Maybe I work in a field like finance where there are a lot of industry-specific abbreviations. This assistant could take in some text (maybe from a press release or transcript) and output a table with all the quantitative data using industry-standard abbreviations, etc.