fix: use instructions for system prompt and prompt for user message in subagents (#6121)
This commit is contained in:
@@ -117,11 +117,11 @@ fn get_agent_messages(
|
||||
cancellation_token: Option<CancellationToken>,
|
||||
) -> AgentMessagesFuture {
|
||||
Box::pin(async move {
|
||||
let text_instruction = recipe
|
||||
.instructions
|
||||
let system_instructions = recipe.instructions.clone().unwrap_or_default();
|
||||
let user_task = recipe
|
||||
.prompt
|
||||
.clone()
|
||||
.or(recipe.prompt.clone())
|
||||
.ok_or_else(|| anyhow!("Recipe has no instructions or prompt"))?;
|
||||
.unwrap_or_else(|| "Begin.".to_string());
|
||||
|
||||
let agent_manager = AgentManager::instance()
|
||||
.await
|
||||
@@ -160,7 +160,7 @@ fn get_agent_messages(
|
||||
.max_turns
|
||||
.expect("TaskConfig always sets max_turns"),
|
||||
subagent_id: session_id.clone(),
|
||||
task_instructions: text_instruction.clone(),
|
||||
task_instructions: system_instructions,
|
||||
tool_count: tools.len(),
|
||||
available_tools: tools
|
||||
.iter()
|
||||
@@ -172,7 +172,7 @@ fn get_agent_messages(
|
||||
.map_err(|e| anyhow!("Failed to render subagent system prompt: {}", e))?;
|
||||
agent.override_system_prompt(subagent_prompt).await;
|
||||
|
||||
let user_message = Message::user().with_text(text_instruction);
|
||||
let user_message = Message::user().with_text(user_task);
|
||||
let mut conversation = Conversation::new_unvalidated(vec![user_message.clone()]);
|
||||
|
||||
if let Some(activities) = recipe.activities {
|
||||
|
||||
Reference in New Issue
Block a user