【Agent初认识】回答你关于Agent的三个问题
原文链接https://www.cnblogs.com/HelloJwwind/p/19867494
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分析一个需求、分析需要调用什么工具、如何自我检查结果符合需求、如何重新执行任务获取正确的答案。
#想从事Agent应该学习哪些技术?#
查看9道真题和解析