1.Agent执行的流程是怎么样的?
首先用户输入问题,Agent解析用户的需求
然后生成json文本,这里不同的模型生成的输出格式不同,如果不同可能调用工具的步骤会出现问题。
json文本示例:
{"start_time": "2026-04-14", "end_time": "2026-09-21"
}
然后就是分析要调用哪些工具来完成这个需求,然后调用工具获取输出
大模型会检查结果是不是符合用户需求的,如果不是就再次分析再次调用,如果是就输出结果
2.@tool 装饰器
@tool修饰在函数上代表AI可以将这个函数当做工具去使用
这个工具是计算两个时间段的差值,结果为秒
@tool
def get_time_diff(start_time: str, end_time: str) -> str:"""计算两个时间差(秒)"""fmt = "%Y-%m-%d %H:%M:%S"try:start = datetime.strptime(start_time, fmt)end = datetime.strptime(end_time, fmt)diff = int((end - start).total_seconds())return f"两个时间相差 {diff} 秒"except Exception as e:return f"时间格式错误:{e}"
3.ReAct 循环
ReAct循环如果你要自定义的话就是用于:
定义Agent分析一个需求、分析需要调用什么工具、如何自我检查结果符合需求、如何重新执行任务获取正确的答案。
