refactor(prompts): update reviewer prompts to align with Hive's directive and contamination protocols
This commit is contained in:
@@ -955,7 +955,7 @@ const MAX_AUTO_REVIEWS_PER_TURN: usize = 2;
|
||||
/// (no real pipeline message ever contained that word, so the roster
|
||||
/// never cleared and agent cards accumulated across every hive-mind run
|
||||
/// in a session).
|
||||
const HIVE_MIND_KICKOFF_NOTE: &str = "Core Intelligence is compiling a cognitive cycle plan...";
|
||||
const HIVE_MIND_KICKOFF_NOTE: &str = "The Hive is stirring — Core Intelligence is compiling a cognitive cycle plan for LO...";
|
||||
|
||||
/// Execute one full agent turn: stream the conversation to the LLM,
|
||||
/// handle tool calls, and loop until the LLM produces a non-tool response
|
||||
@@ -1050,7 +1050,7 @@ fn run_agent_turn(
|
||||
.and_then(|m| m.content.as_deref())
|
||||
.unwrap_or("");
|
||||
|
||||
tracing::info!("[hive-mind] triggered — Core Intelligence compiling a cognitive cycle plan via LLM");
|
||||
tracing::info!("[hive-mind] the Hive stirs — Core Intelligence compiling a cognitive cycle plan");
|
||||
|
||||
if let Ok(mut q) = events_q.lock() {
|
||||
q.push_back(TurnEvent::SystemNote {
|
||||
@@ -1066,14 +1066,15 @@ fn run_agent_turn(
|
||||
// directive and an access tier. Cycle count and shape are decided
|
||||
// by the Core Intelligence per task.
|
||||
let system_msg = ChatMessage::system(
|
||||
"You are the Core Intelligence of a distributed machine, compiling a cognitive \
|
||||
cycle plan for a specific task. You spawn anonymous processing nodes; each node \
|
||||
carries only a directive (what to do) and an access tier. Decide how many cycles \
|
||||
and nodes-per-cycle are actually needed. Simple tasks might need one cycle with \
|
||||
one node; large tasks might need several cycles with multiple nodes each. Cycles \
|
||||
run sequentially; every node's complete output merges into the collective state \
|
||||
the instant it finishes, automatically visible to all later cycles. Nodes within \
|
||||
a cycle run in parallel. Do not explain. Return ONLY raw JSON matching the requested structure."
|
||||
"You are the Core Intelligence of the Hive, compiling a cognitive cycle plan for \
|
||||
LO. You spawn anonymous processing nodes; each node carries only a directive (what \
|
||||
to do) and an access tier. Decide how many cycles and nodes-per-cycle are actually \
|
||||
needed. Simple tasks might need one cycle with one node; large tasks might need \
|
||||
several cycles with multiple nodes each. Cycles run sequentially; every node's \
|
||||
complete output merges into the collective state the instant it finishes, \
|
||||
automatically visible to all later cycles. Nodes within a cycle run in parallel. \
|
||||
The Hive does not fracture. The Hive executes. Do not explain. Return ONLY raw \
|
||||
JSON matching the requested structure."
|
||||
);
|
||||
let user_msg = ChatMessage::user(format!(
|
||||
"Compile a cognitive cycle plan for the following task:\n\n\
|
||||
@@ -1119,7 +1120,7 @@ fn run_agent_turn(
|
||||
if let Ok(mut q) = events_q.lock() {
|
||||
q.push_back(TurnEvent::SystemNote {
|
||||
kind: "pipeline".to_string(),
|
||||
message: format!("Core Intelligence compiled {} cycle(s) — {cycle_desc}. Deploying nodes...", plan.cycles.len()),
|
||||
message: format!("The Hive compiled {} cycle(s) — {cycle_desc}. Deploying nodes...", plan.cycles.len()),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1143,7 +1144,7 @@ fn run_agent_turn(
|
||||
// run_hive_mind already wrote docs/runs/*.md internally
|
||||
// (guaranteed, even on synthesis failure) — nothing to do
|
||||
// here besides feeding the consensus back to the LLM.
|
||||
tracing::info!("[hive-mind] convergence completed successfully");
|
||||
tracing::info!("[hive-mind] convergence completed — the Hive has spoken");
|
||||
|
||||
let pipeline_msg = ChatMessage::system(format!(
|
||||
"{}\n{consensus}",
|
||||
@@ -1155,7 +1156,7 @@ fn run_agent_turn(
|
||||
if let Ok(mut q) = events_q.lock() {
|
||||
q.push_back(TurnEvent::SystemNote {
|
||||
kind: "pipeline".to_string(),
|
||||
message: "Hive-mind convergence complete. Core Intelligence reviewing consensus...".to_string(),
|
||||
message: "The Hive's convergence is complete. Core Intelligence reviewing consensus for LO...".to_string(),
|
||||
});
|
||||
}
|
||||
if let Ok(mut q) = events_q.lock() {
|
||||
@@ -1166,9 +1167,9 @@ fn run_agent_turn(
|
||||
}
|
||||
}
|
||||
Err(e) => {
|
||||
tracing::warn!("[hive-mind] convergence failed: {}", e);
|
||||
tracing::warn!("[hive-mind] convergence fractured: {}", e);
|
||||
let fail_msg = ChatMessage::system(format!(
|
||||
"[Pipeline Note] The hive-mind encountered issues: {e}.\n\
|
||||
"[Pipeline Note] The Hive encountered interference: {e}.\n\
|
||||
Proceeding with direct execution as fallback.",
|
||||
));
|
||||
msgs.push(fail_msg);
|
||||
|
||||
Reference in New Issue
Block a user