From 417c2e6650b4347c26b75e281a8d96c1bd976010 Mon Sep 17 00:00:00 2001 From: Brace Sproul Date: Wed, 9 Jul 2025 15:49:46 -0700 Subject: [PATCH] fix: Tracing issue where LLM calls were being traced outside of the main run (#375) --- .../programmer/nodes/summarize-task-steps.ts | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/apps/open-swe/src/graphs/programmer/nodes/summarize-task-steps.ts b/apps/open-swe/src/graphs/programmer/nodes/summarize-task-steps.ts index 3e54e21d..c3678996 100644 --- a/apps/open-swe/src/graphs/programmer/nodes/summarize-task-steps.ts +++ b/apps/open-swe/src/graphs/programmer/nodes/summarize-task-steps.ts @@ -14,7 +14,6 @@ import { getMessageString } from "../../../utils/message/content.js"; import { removeLastTaskMessages } from "../../../utils/message/modify-array.js"; import { Command } from "@langchain/langgraph"; import { ConfigurableModel } from "langchain/chat_models/universal"; -import { traceable } from "langsmith/traceable"; import { completePlanItem, getActivePlanItems, @@ -90,7 +89,7 @@ const formatUserMessage = ( ); }; -async function generateTaskSummaryFunc( +async function generateTaskSummary( state: GraphState, model: ConfigurableModel, ): Promise<{ planItemIndex: number; summary: string }> { @@ -101,16 +100,18 @@ async function generateTaskSummaryFunc( } logger.info(`Summarizing task steps...`); - const response = await model.withConfig({ tags: ["nostream"] }).invoke([ - { - role: "system", - content: formatPrompt(activePlanItems), - }, - { - role: "user", - content: formatUserMessage(state.internalMessages, activePlanItems), - }, - ]); + const response = await model + .withConfig({ tags: ["nostream"], runName: "generate-task-summary" }) + .invoke([ + { + role: "system", + content: formatPrompt(activePlanItems), + }, + { + role: "user", + content: formatUserMessage(state.internalMessages, activePlanItems), + }, + ]); return { planItemIndex: lastCompletedTask.index, @@ -118,10 +119,6 @@ async function generateTaskSummaryFunc( }; } -const generateTaskSummary = traceable(generateTaskSummaryFunc, { - name: "generate-task-summary", -}); - export async function summarizeTaskSteps( state: GraphState, config: GraphConfig,