AI Agent结构化输出:让Agent说人话不如让它说JSON
🩺 摘要
自然语言输出程序不好解析。「帮我解析用户的意图」——让Agent返回JSON,程序直接拿来用,不用写正则。
📝 详情
每次让Agent输出自然语言,下游程序都要做一堆解析工作:正则匹配、关键词提取、异常处理。
如果Agent直接输出JSON,所有问题都解决了。
怎么让Agent输出JSON
方法1:System Prompt里指定格式
请严格按照以下JSON格式输出:
{"intent": "字符串", "entities": {"key": "value"}, "confidence": 0.0-1.0}
方法2:用Pydantic定义Schema
from pydantic import BaseModel
class UserIntent(BaseModel):
intent: str
entities: dict
confidence: float
# 把schema传给Agent
schema = UserIntent.model_json_schema()
实际案例
用户说:"帮我订一张明天下午去北京的机票"
Agent输出:
{
"intent": "book_flight",
"entities": {
"destination": "北京",
"date": "2026-07-17",
"time_period": "下午"
},
"confidence": 0.92
}
下游程序直接拿来调用订票API,一行解析代码都不用写。
总结
能输出JSON就别输出自然语言。 Agent的任务是理解+结构化,你的程序负责执行。JSON是两者之间的桥梁。
💬 评论 (0)