Closed flynntsang closed 1 week ago
Implementation:
Create a new property on simple agent prompt_variables
: List[Reference[PromptVariable]]
Prompt variable has two properties, key and value
Prompt variables can be defined in external resource files (just like any other reference)
the keys then become jinja2 keys that are injected into the template.
Note, value does not need to be a plain string. It can be an any so that devs can create jinja templates however they want
@LukeLalor @parmi02 Another thought. Perhaps we require the extension to include the word "prompt" so they get picked up by the watcher. E.g. claude_info.prompt
, claude_image.prompt
. If this makes sense (meaning they don't need to be formatted YAML) then the docs can refer to them as dot prompt
or .prompt
files.
@flynntsang , that would mean introducing a new concept for users. We don't want to create yet another corner case for users to need to understand.
Making these claude_prompt.eidolon.yaml
with the content
kind: reference
metadata:
name: claude_prompt
spec:
value: "long claude prompt here"
Is going to be a much simpler experience. This entirely reuses existing concepts, and can work within the system. Otherwise we would need to explain to users that they need to build these files into their docker images, how to mount them to kubernetes, etc. Better to keep it simple.
User Story
AND
Acceptance Criteria
Additional context As of 2024-11-08 the system prompt for the Github Assistant includes two sections specific to Claude. (Note that and are not line-wrapping -- they are both very long.) If this could be externalized (for easy updates) and referenced, the system prompt would be much easier to understand in the context of this specific agent.