Skip to content

Commit 3d08048

Browse files
committed
Make transfer_task better
- Be more explicit - Only add transfer task system prompt if the agent has sub-agents Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
1 parent 074979c commit 3d08048

2 files changed

Lines changed: 4 additions & 12 deletions

File tree

pkg/runtime/runtime.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -717,8 +717,8 @@ func (r *Runtime) handleTaskTransfer(ctx context.Context, sess *session.Session,
717717
}
718718

719719
slog.Debug("Creating new session with parent session", "parent_session_id", sess.ID, "tools_approved", sess.ToolsApproved)
720-
s := session.New(session.WithSystemMessage(memberAgentTask))
721-
s.SendUserMessage = false
720+
s := session.New(session.WithSystemMessage(memberAgentTask), session.WithUserMessage("", "Follow the default instructions"))
721+
s.SendUserMessage = true
722722
s.ToolsApproved = sess.ToolsApproved
723723

724724
for event := range r.RunStream(ctx, s) {
@@ -732,21 +732,13 @@ func (r *Runtime) handleTaskTransfer(ctx context.Context, sess *session.Session,
732732

733733
sess.ToolsApproved = s.ToolsApproved
734734

735-
// Store the complete sub-session in the parent session
736735
sess.AddSubSession(s)
737736

738737
slog.Debug("Task transfer completed", "agent", params.Agent, "task", params.Task)
739738

740-
// Get the last message content from the sub-session
741-
allMessages := s.GetAllMessages()
742-
lastMessageContent := ""
743-
if len(allMessages) > 0 {
744-
lastMessageContent = allMessages[len(allMessages)-1].Message.Content
745-
}
746-
747739
span.SetStatus(codes.Ok, "task transfer completed")
748740
return &tools.ToolCallResult{
749-
Output: lastMessageContent,
741+
Output: s.GetLastAssistantMessageContent(),
750742
}, nil
751743
}
752744

pkg/session/session.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ func (s *Session) GetMessages(a *agent.Agent) []chat.Message {
191191

192192
messages := make([]chat.Message, 0)
193193

194-
if a.HasSubAgents() || a.HasParents() {
194+
if a.HasSubAgents() {
195195
subAgents := append(a.SubAgents(), a.Parents()...)
196196

197197
subAgentsStr := ""

0 commit comments

Comments
 (0)