feat(piagent): give image generator inline reference placement context
Derive an ordered map of each inline reference image to the surrounding prompt text describing its role, and feed it into the decision, research, task-plan, conversation and image-prompt builders. The image prompt now carries this placement so reference roles are not swapped. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -577,6 +577,9 @@ func buildDecisionPrompt(req design.AgentDecisionRequest) string {
|
||||
"",
|
||||
"Input summary:",
|
||||
agentMessageContentSummary(req.Messages),
|
||||
"",
|
||||
"Inline reference placement:",
|
||||
inlineReferencePlacementContext(req.Prompt, req.Messages),
|
||||
}, "\n")
|
||||
}
|
||||
|
||||
@@ -598,6 +601,9 @@ func buildResearchDecisionPrompt(req design.AgentResearchDecisionRequest) string
|
||||
req.Prompt,
|
||||
agentMessageContentSummary(req.Messages),
|
||||
"",
|
||||
"Inline reference placement:",
|
||||
inlineReferencePlacementContext(req.Prompt, req.Messages),
|
||||
"",
|
||||
"Mode: " + req.Mode,
|
||||
}, "\n")
|
||||
}
|
||||
@@ -624,6 +630,9 @@ func buildAgentTaskPlanPrompt(req design.AgentTaskPlanRequest) string {
|
||||
req.Prompt,
|
||||
agentMessageContentSummary(req.Messages),
|
||||
"",
|
||||
"Inline reference placement:",
|
||||
inlineReferencePlacementContext(req.Prompt, req.Messages),
|
||||
"",
|
||||
"Mode: " + req.Mode,
|
||||
"Web search: " + searchState,
|
||||
"",
|
||||
@@ -648,6 +657,9 @@ func buildConversationPrompt(req design.AgentConversationRequest) string {
|
||||
"Inline references:",
|
||||
agentMessageContentSummary(req.Messages),
|
||||
"",
|
||||
"Inline reference placement:",
|
||||
inlineReferencePlacementContext(req.Prompt, req.Messages),
|
||||
"",
|
||||
"User message:",
|
||||
req.Prompt,
|
||||
"",
|
||||
@@ -697,6 +709,9 @@ func buildImagePromptPlannerInput(req design.AgentImagePromptRequest) string {
|
||||
req.Prompt,
|
||||
agentMessageContentSummary(req.Messages),
|
||||
"",
|
||||
"Inline reference placement:",
|
||||
inlineReferencePlacementContext(req.Prompt, req.Messages),
|
||||
"",
|
||||
"Mode: " + req.Mode,
|
||||
}, "\n")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user