Skip to main content

Feature request: Set default agent for projects

Now we have the agent structure, we should be able to set a default agent for a project. The project would then automatically inherit the system prompt, parameters and so on from the agent. It could also be still possible to add project-level config such as files.

At the moment, you have to either manually set the agent each chat within the project, or copy and paste the system message and so on from the agent to the project config.

Status: Completed10 comments

Log in to comment and vote

Comments10

  • Maximilian Christl

    •

    May 4

    @Daniel Nguyen

    Thank you for looking into this.

    I see the issue here. With the new instruction merging, this feature would not be necessary for my use case, but I understand that others might need it.

    I treat Projects and Agents as entirely separate. The agent knows what to do, and the project provides context, such as files, instructions about which Notion pages to fetch, Airtable rows to fetch, and so on. That is why I needed the merging; otherwise, the agent would not have the necessary context.

    That said, I can imagine cases where you use one specific agent in 99% of chats. So I think the best outcome would be the same as creating a chat in a project and then manually selecting the referenced agent. In that case, the instructions should be merged, and all files and context should be preserved for the agent, right?

    • Daniel Nguyen

      Team•

      May 4

      Oh good point re “use one specific agent in 99% of chats”. In this case, I think a static, one-time action to copy configuration from Agent to Project as the base default would be a better fit.

      I would avoid dynamic config resolution in this case.

  • Daniel Nguyen

    Team•

    Sep 15

    I added this in v2.16. You can do it in Project Settings > General > New Chats (see screenshot)

  • Maximilian Christl

    •

    Mar 23

    Yes, would be absolutetly great. V1 had this.

  • Daniel Nguyen

    Team•

    May 2

    Hmmm. The project & agent configuration is on a different level. I recently added the ability to merge agent instruction with project instructions.

    If we then force the project to always resolve to a certain agent configuration, it might end up in a config infinite loop (project resolves to agent resolves back to that project). And it’s more complicated than needed.

    I think a reasonable implementation here is simply to set a new chat to use that agent config profile. Does that make sense?

    Maybe not. So let me explain.

    So BoltAI operates on multiple different levels of configuration “profiles”: global, project, agent and chat. With chat profile is the highest level where if you customize a params, it would ignore all other config profiles and always use that.

    So implementation wise, I would not build a system to dynamically resolve config between a project and an agent. Instead it would auto set a new chat to use the agent profile instead (it still can use project’s attachments etc)

    What do you think? cc @Maximilian Christl

  • Matt

    •

    May 6

    Hi @Daniel Nguyen,

    I think a reasonable implementation here is simply to set a new chat to use that agent config profile. Does that make sense?

    If what you’re suggesting is allowing each project to have a default agent for new chats without forcing the project to always use that agent, that sounds perfect for me.

    And it works well with the merging of agent + project prompts. In this scenario, it will be possible to script those prompts to complement each other.

    In this case, I think a static, one-time action to copy configuration from Agent to Project as the base default would be a better fit.

    This, on the other hand, sounds a bit messy. Ideally, you’d always want to be able to edit an agent once and have that change apply everywhere. Also, although you might want the same agent 90-99% of the time in one project, that isn’t the same as 100% of the time.

    • Daniel Nguyen

      Team•

      May 7

      I think the end result is the same. New chat within the project will use that agent’s config profile automatically. But it’s completely separated from the project’s config profile.

      So if you change the config of the agent, it won’t affect the project, and in turn won’t affect the chats within the project that does not use that agent profile (for example, you added before — or you simply change it after)

      Does that make sense?

  • Nigel Protter

    •

    Jun 8

    New to this app, however I immediately noticed the inability to duplicate a project with its settings: instructions, files, model settings, plugins. If you archive and reload it fails probably because UUIDs match existing objects. You can only assign an AI agent to new chats. There seems to be no way to assign an AI agent definition to a project, such that new chats out of the project inherit those settings. I might be misunderstanding the workflow concept but at the moment I don’t see significant utility of AI agents. Freedom to assign settings embedded in agents as overrides, and similarly to assign them to projects such that project children can inherit would seem to be foundational usability features. All the pieces are there, I hope they can be hooked up together!

    • Daniel Nguyen

      Team•

      Jul 19

      I added the Project Duplication feature recently. Give it a try.

      • Nigel Protter

        •

        Jul 24

        Works well! thx!