Skip to content

[Bug]:结构化输出有问题,报No structured output in message metadata. Key '_structured_output' not found. #1699

@mytu-lub

Description

@mytu-lub

@PostMapping(value = "/structured")
@operation(summary = "Agent 结构化输出",
description = "让 Agent 输出结构化的 TaskAnalysis 对象(title/priority/estimatedHours)")
public TaskAnalysis structured(@RequestParam String userMsg) {
log.info("收到结构化分析请求: {}", userMsg);
// 步骤 1: 构建专门用于任务分析的 Agent
ReActAgent agent = ReActAgent.builder()
.name("taskAnalyzer")
.sysPrompt("你是一个任务分析专家。请分析用户的任务描述,提取关键信息并结构化输出为 TaskAnalysis 对象。")
.model(notStreamModel)
.build();

    // 步骤 2: 构建用户消息
    Msg msg = new UserMessage(userMsg);
    // 步骤 3: 调用 Agent 并传入目标类型
    Msg response = agent.call(msg, TaskAnalysis.class).block();
    log.info("Agent 结构化分析结果: {}", JacksonUtils.toJson(response));
    // 步骤 4: 从响应中提取结构化数据
    TaskAnalysis taskAnalysis = response.getStructuredData(TaskAnalysis.class);
    return taskAnalysis;
}
public class TaskAnalysis {
    /**
     * 任务标题
     */
    public String title;
    /**
     * 任务优先级:high/medium/low
     */
    public String priority;
    /**
     * 预估工时(小时)
     */
    public int estimatedHours;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/core/agentAgent runtime, pipeline, hooks, planbugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions