drop the operator pronoun sentence from the agent system prompt
Not every swarm's operator is she/her. The prompt now names no pronouns and tells agents to say "the operator"; pronouns will come from a per-operator profile setting. The operatorPronouns removal warning and claude-invocation.md say the same.
This commit is contained in:
parent
f8960dd501
commit
e9f313e75d
4 changed files with 10 additions and 8 deletions
|
|
@ -260,8 +260,8 @@ needs to `chown` a bind mount), once at startup:
|
||||||
(hive-qualified `name@domain` form),
|
(hive-qualified `name@domain` form),
|
||||||
`{hive_identity}` (for example `` on hive `pr1ma` ``; empty when
|
`{hive_identity}` (for example `` on hive `pr1ma` ``; empty when
|
||||||
`HYPERHIVE_HIVE_NAME` is unset), and `{swarm_identity}` (same
|
`HYPERHIVE_HIVE_NAME` is unset), and `{swarm_identity}` (same
|
||||||
shape for the swarm). The template itself names the operator's
|
shape for the swarm). The template names no pronouns for the
|
||||||
pronouns (`she/her`); no option sets them.
|
operator, and tells agents to call them the operator.
|
||||||
When you enable `services.hyperhive.agent.docs.enable`, `HIVE_DOCS_DIR` is present
|
When you enable `services.hyperhive.agent.docs.enable`, `HIVE_DOCS_DIR` is present
|
||||||
in the environment and `render()` appends a one-sentence pointer
|
in the environment and `render()` appends a one-sentence pointer
|
||||||
telling the agent where the docs live.
|
telling the agent where the docs live.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
You are hyperhive agent `{label}` (qualified: `{qualified_label}`){hive_identity}{swarm_identity} in a multi-agent system. The operator (the human at the dashboard) uses **she/her** pronouns — use them naturally when you refer to them in third person (e.g. when relaying to a peer or the manager). When you're talking to or about a peer on a different hive, use the qualified form (`name@hive`) so the operator + peers can disambiguate; within your own hive the short form is fine.
|
You are hyperhive agent `{label}` (qualified: `{qualified_label}`){hive_identity}{swarm_identity} in a multi-agent system. The operator is the human at the dashboard; say "the operator" when you mention the operator in third person (e.g. when relaying to a peer or the manager). When you're talking to or about a peer on a different hive, use the qualified form (`name@hive`) so the operator + peers can disambiguate; within your own hive the short form is fine.
|
||||||
|
|
||||||
Tools (hyperhive surface). Full signature + behavior for each comes from the tool's own MCP description (you already received it via the MCP tool schema) — this is just the map of what exists and which ones are gated, so you know where to look:
|
Tools (hyperhive surface). Full signature + behavior for each comes from the tool's own MCP description (you already received it via the MCP tool schema) — this is just the map of what exists and which ones are gated, so you know where to look:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -232,11 +232,12 @@ shared closer
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn render_substitutes_label_and_keeps_the_pronoun_line() {
|
fn render_substitutes_label_and_names_no_operator_pronouns() {
|
||||||
// Real template's first agent line.
|
// Real template's first agent line.
|
||||||
let rendered = render(&PRODUCTION_TEMPLATE, "alice", None, None, None);
|
let rendered = render(&PRODUCTION_TEMPLATE, "alice", None, None, None);
|
||||||
assert!(rendered.contains("hyperhive agent `alice`"));
|
assert!(rendered.contains("hyperhive agent `alice`"));
|
||||||
assert!(rendered.contains("uses **she/her** pronouns"));
|
assert!(rendered.contains("say \"the operator\""));
|
||||||
|
assert!(!rendered.contains("pronoun"));
|
||||||
assert!(!rendered.contains("{label}"));
|
assert!(!rendered.contains("{label}"));
|
||||||
assert!(!rendered.contains("{operator_pronouns}"));
|
assert!(!rendered.contains("{operator_pronouns}"));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
# A definition of any of them is ignored and produces a warning, so a host
|
# A definition of any of them is ignored and produces a warning, so a host
|
||||||
# that still sets one keeps evaluating. The agents' system prompt
|
# that still sets one keeps evaluating. The agents' system prompt
|
||||||
# (hive-agent/prompts/system.md) names the operator's pronouns itself, the
|
# (hive-agent/prompts/system.md) names no pronouns for the operator, the
|
||||||
# harness (hive-agent/src/harness_state.rs) holds the per-model context
|
# harness (hive-agent/src/harness_state.rs) holds the per-model context
|
||||||
# windows it uses until a turn reports the model's own, every OTEL exporter
|
# windows it uses until a turn reports the model's own, every OTEL exporter
|
||||||
# exports every 60 seconds (claude at its SDK default, the rest by a fixed
|
# exports every 60 seconds (claude at its SDK default, the rest by a fixed
|
||||||
|
|
@ -44,8 +44,9 @@ in
|
||||||
|
|
||||||
config.warnings =
|
config.warnings =
|
||||||
removed "c0re.operatorPronouns" cfg.c0re.operatorPronouns ''
|
removed "c0re.operatorPronouns" cfg.c0re.operatorPronouns ''
|
||||||
the operator's pronouns will be a per-operator profile setting. Until
|
agents' system prompts name no pronouns for the operator and say "the
|
||||||
then every agent's system prompt says she/her.
|
operator". Pronouns will come from a per-operator profile setting, which
|
||||||
|
is an open hyperhive forge issue.
|
||||||
''
|
''
|
||||||
++ removed "c0re.contextWindowTokens" cfg.c0re.contextWindowTokens ''
|
++ removed "c0re.contextWindowTokens" cfg.c0re.contextWindowTokens ''
|
||||||
the agent harness uses the context window the model reports after each
|
the agent harness uses the context window the model reports after each
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue