规范 UI 语义建议错误提示
将 LLM 缺少工具调用、参数解析和结果校验失败统一标记为响应无效 保留详细校验原因供排障
This commit is contained in:
@@ -191,17 +191,17 @@ pub(crate) async fn suggest_ui_design_semantic_impl(
|
||||
.find(|call| call.name == "suggest_ui_design_semantics")
|
||||
.ok_or_else(|| {
|
||||
eprintln!("ui_design_suggestion.error stage=parse_tool_call reason=missing_tool_call");
|
||||
"LLM 未返回 suggest_ui_design_semantics 工具调用".to_string()
|
||||
"LLM 响应无效(详情:未返回 suggest_ui_design_semantics 工具调用)".to_string()
|
||||
})?;
|
||||
let suggestions = serde_json::from_str::<UIDesignSuggestion>(&call.arguments)
|
||||
.map_err(|error| {
|
||||
eprintln!("ui_design_suggestion.error stage=parse_arguments error={error}");
|
||||
format!("UI 语义建议工具参数无效:{error}")
|
||||
format!("LLM 响应无效(详情:UI 语义建议工具参数无效:{error})")
|
||||
})?
|
||||
.ui_designs;
|
||||
validate_suggestions(&suggestions, &ids).map_err(|error| {
|
||||
eprintln!("ui_design_suggestion.error stage=validate_result error={error}");
|
||||
error
|
||||
format!("LLM 响应无效(详情:{error})")
|
||||
})?;
|
||||
// TODO: future single-page policy may reject multiple Page suggestions.
|
||||
Ok(suggestions)
|
||||
|
||||
Reference in New Issue
Block a user