AI Agent接入GraphQL:精准查询,不多不少
🩺 摘要
REST API调用一次返回10个字段,你只要1个——浪费了9/10的数据和token。GraphQL让你只取需要的字段。
📝 详情
Agent调用REST API查用户信息,API返回了名字、邮箱、地址、订单历史、积分、等级、注册时间……Agent只想要个邮箱。剩下的token全白花了。
GraphQL解决这个问题——你要什么字段,它就返回什么字段。
实现
from gql import gql, Client
async def query_graphql(query_str: str) -> dict:
\"\"\"执行GraphQL查询\"\"\"
query = gql(query_str)
result = await client.execute_async(query)
return result
Agent使用:
"帮我查张三的邮箱和注册时间"
→ 自动生成GraphQL查询:{ user(name: "张三") { email createdAt } }
→ 只返回这两个字段
REST vs GraphQL for Agent
| 维度 | REST | GraphQL |
|---|---|---|
| 数据量 | 全量返回 | 只取所需 |
| Token浪费 | 多 | 少 |
| 灵活性 | 低 | 高 |
| 复杂度 | 低 | 中 |
总结
如果你的Agent频繁调用同一个API,且每次只需要部分数据——GraphQL能省下一半的token费用。
💬 评论 (0)