> ## Documentation Index
> Fetch the complete documentation index at: https://cndoc-langchain.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 在被追踪的函数中访问当前运行（跨度）

在某些情况下，您可能希望在被追踪的函数中访问当前运行（跨度）。这对于从当前运行中提取 UUID、标签或其他信息非常有用。

您可以通过分别在 Python 或 TypeScript SDK 中调用 `get_current_run_tree`/`getCurrentRunTree` 函数来访问当前运行。

有关 `RunTree` 对象上可用属性的完整列表，请参阅[此参考文档](/langsmith/run-data-format)。

<CodeGroup>
  ```python Python theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  from langsmith import traceable
  from langsmith.run_helpers import get_current_run_tree
  from openai import Client

      openai = Client()

      @traceable
      def format_prompt(subject):
          run = get_current_run_tree()
          print(f"format_prompt 运行 ID: {run.id}")
          print(f"format_prompt 追踪 ID: {run.trace_id}")
          print(f"format_prompt 父运行 ID: {run.parent_run.id}")
          return [
              {
                  "role": "system",
                  "content": "You are a helpful assistant.",
              },
              {
                  "role": "user",
                  "content": f"What's a good name for a store that sells {subject}?"
              }
          ]

      @traceable(run_type="llm")
      def invoke_llm(messages):
          run = get_current_run_tree()
          print(f"invoke_llm 运行 ID: {run.id}")
          print(f"invoke_llm 追踪 ID: {run.trace_id}")
          print(f"invoke_llm 父运行 ID: {run.parent_run.id}")
          return openai.chat.completions.create(
              messages=messages, model="gpt-5.4-mini", temperature=0
          )

      @traceable
      def parse_output(response):
          run = get_current_run_tree()
          print(f"parse_output 运行 ID: {run.id}")
          print(f"parse_output 追踪 ID: {run.trace_id}")
          print(f"parse_output 父运行 ID: {run.parent_run.id}")
          return response.choices[0].message.content

      @traceable
      def run_pipeline():
          run = get_current_run_tree()
          print(f"run_pipeline 运行 ID: {run.id}")
          print(f"run_pipeline 追踪 ID: {run.trace_id}")
          messages = format_prompt("colorful socks")
          response = invoke_llm(messages)
          return parse_output(response)

  run_pipeline()
  ```

  ```typescript TypeScript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  import { traceable, getCurrentRunTree } from "langsmith/traceable";
  import OpenAI from "openai";

      const openai = new OpenAI();

      const formatPrompt = traceable((subject: string) => {
          const run = getCurrentRunTree();
          console.log("formatPrompt 运行 ID", run.id)
          console.log("formatPrompt 追踪 ID", run.trace_id)
          console.log("formatPrompt 父运行 ID", run.parent_run.id)
          return [
              {
                  role: "system" as const,
                  content: "You are a helpful assistant.",
              },
              {
                  role: "user" as const,
                  content: `What's a good name for a store that sells ${subject}?`,
              },
          ];
      }, { name: "formatPrompt" });

      const invokeLLM = traceable(
          async (messages: { role: string; content: string }[]) => {
              const run = getCurrentRunTree();
              console.log("invokeLLM 运行 ID", run.id)
              console.log("invokeLLM 追踪 ID", run.trace_id)
              console.log("invokeLLM 父运行 ID", run.parent_run.id)
              return openai.chat.completions.create({
                  model: "gpt-5.4-mini",
                  messages: messages,
                  temperature: 0,
              });
          },
          { run_type: "llm", name: "invokeLLM" }
      );

      const parseOutput = traceable(
          (response: any) => {
              const run = getCurrentRunTree();
              console.log("parseOutput 运行 ID", run.id)
              console.log("parseOutput 追踪 ID", run.trace_id)
              console.log("parseOutput 父运行 ID", run.parent_run.id)
              return response.choices[0].message.content;
          },
          { name: "parseOutput" }
      );

      const runPipeline = traceable(
          async () => {
              const run = getCurrentRunTree();
              console.log("runPipeline 运行 ID", run.id)
              console.log("runPipeline 追踪 ID", run.trace_id)
              console.log("runPipeline 父运行 ID", run.parent_run?.id)
              const messages = await formatPrompt("colorful socks");
              const response = await invokeLLM(messages);
              return parseOutput(response);
          },
          { name: "runPipeline" }
      );

  await runPipeline();
  ```
</CodeGroup>

***

<div className="source-links">
  <Callout icon="terminal-2">
    [通过 MCP 将这些文档](/use-these-docs)连接到 Claude、VSCode 等，以获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/langsmith/access-current-span.mdx) 或 [提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
