
This change updates the system prompt to conditionally include `grep`-related instructions based on whether the `grep` tool is enabled. Implementation details: 1. Add a `has_tool` handlebars helper. 2. Pass the `model` to all locations where the prompt is built. 3. Use `{{#if has_tool "grep"}}` in the system prompt to gate `grep`-specific instructions. Testing: - Unit tests for the `hasTool` helper. - Unit tests to verify that `grep`-related instructions are included / omitted from the prompt as appropriate. - Manual agent evaluation: - Setup: Asked the Agent "List all impls of MyTrait in the project" using a custom "No tools" profile (all tools disabled). - Before the change: The Agent attempted to call `grep`, encountered an error, then realized the tool was unavailable. - After the change: The Agent immediately asked to enable a search tool. Note: in principle, `grep`/`read_file` tool descriptions alone might be enough, but to confirm this we need more evaluation. If it turns out to be true, we'll be able to remove grep-specific instructions from the system prompt and undo this change. Release Notes: - N/A
35 lines
718 B
TOML
35 lines
718 B
TOML
[package]
|
|
name = "prompt_store"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/prompt_store.rs"
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
assets.workspace = true
|
|
chrono.workspace = true
|
|
collections.workspace = true
|
|
fs.workspace = true
|
|
futures.workspace = true
|
|
fuzzy.workspace = true
|
|
gpui.workspace = true
|
|
handlebars.workspace = true
|
|
heed.workspace = true
|
|
language.workspace = true
|
|
log.workspace = true
|
|
parking_lot.workspace = true
|
|
paths.workspace = true
|
|
rope.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
text.workspace = true
|
|
util.workspace = true
|
|
uuid.workspace = true
|
|
workspace-hack.workspace = true
|