如题,实话实说在我的开发中,回答很可能是“加上异常处理,设置最大重试次数,重试三次如果仍然失败就返回错误信息给用户。”你就说有没有毛病吧……这个思路虽然是工程的基本功,但它却是传统软件的错误处理模式。把这个模式直接搬到Agent上,虽然解决了部分简单的失败,但远远不够。零、为什么Agent的失败不同于传统软件?传统软件的失败是显性的,通常表现为接口超时、参数校验不通过或数据库连接失败等,这些都会抛出明确的异常,让你清楚地知道问题在哪里。而Agent系统的失败则是隐性的,尤其是像基于大语言模型(LLM)的系统。例如,LLM可能返回了一个格式正确、没有报错的JSON,但它可能选错了工具、传错了参数...