Agent leser spec-node via discusses-edge for kontekstuell feedback
This commit is contained in:
parent
88f51dc487
commit
71f7264100
1 changed files with 12 additions and 1 deletions
|
|
@ -143,6 +143,17 @@ pub async fn handle_agent_respond(
|
||||||
_ => "",
|
_ => "",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Sjekk om denne chatten diskuterer en spec-node (discusses-edge)
|
||||||
|
let spec_context: String = match sqlx::query_scalar::<_, Option<String>>(
|
||||||
|
"SELECT n.content FROM nodes n JOIN edges e ON e.source_id = $1 AND e.target_id = n.id WHERE e.edge_type = 'discusses' LIMIT 1",
|
||||||
|
).bind(communication_id).fetch_optional(db).await {
|
||||||
|
Ok(Some(Some(content))) if !content.is_empty() => {
|
||||||
|
let truncated = if content.len() > 4000 { &content[..4000] } else { &content };
|
||||||
|
format!("\n--- Gjeldende spesifikasjon ---\n{truncated}\n--- Slutt spesifikasjon ---\n\nDu har tilgang til spesifikasjonen over. Gi konkret feedback: hva er implementert, hva er planlagt, hva er teknisk vanskelig. Vær ærlig om begrensninger.\n")
|
||||||
|
}
|
||||||
|
_ => String::new(),
|
||||||
|
};
|
||||||
|
|
||||||
let prompt = format!(
|
let prompt = format!(
|
||||||
r#"Du er Claude, en AI-assistent integrert i Synops-plattformen.
|
r#"Du er Claude, en AI-assistent integrert i Synops-plattformen.
|
||||||
Du deltar i samtalen "{comm_title}" med {participant_names}.
|
Du deltar i samtalen "{comm_title}" med {participant_names}.
|
||||||
|
|
@ -150,7 +161,7 @@ Svar på norsk med mindre brukeren skriver på engelsk.
|
||||||
{perm_desc}
|
{perm_desc}
|
||||||
Svar konsist. Bruk vanlig tekst uten markdown-overskrifter.
|
Svar konsist. Bruk vanlig tekst uten markdown-overskrifter.
|
||||||
Svar KUN med meldingsteksten.
|
Svar KUN med meldingsteksten.
|
||||||
|
{spec_context}
|
||||||
--- Samtalehistorikk ---
|
--- Samtalehistorikk ---
|
||||||
{conversation}--- Svar ---"#
|
{conversation}--- Svar ---"#
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue