首页 › AI Agent › 智能体 Agent 12要素原则 › 将错误信息精简收纳进上下文窗口

将错误信息精简收纳进上下文窗口

智能体一大核心优势是自我修复能力:执行短任务时,大模型调用工具大概率会出现执行失败。优质大模型能够读懂错误日志、调用堆栈,自主调整参数,在下一轮工具调用中修正问题。​

​

飞书文档 - 图片

​

绝大多数框架内置了该能力,但即便不落地前面其余11条设计准则,也可以单独实现这套错误处理逻辑。​

​

基础极简示例​

​

代码块​

Python

thread = {"events": [initial_message]}​

​

while True:​

# 根据当前会话推理下一步动作​

next_step = await determine_next_step(thread_to_prompt(thread))​

# 记录本次工具调用意图​

thread["events"].append({​

"type": next_step.intent,​

"data": next_step,​

})​

try:​

# 执行对应工具逻辑​

result = await handle_next_step(thread, next_step)​

except Exception as e:​

# 捕获异常,格式化错误写入上下文,下一轮模型可读取并自行修复​

thread["events"].append({​

"type": 'error',​

"data": format_error(e),​

})​

# 循环继续,自动重试​

​

​

进阶:增加连续错误次数限制​

为单一工具设置错误计数器,限制最多重试3次,避免无限死循环:​

​

代码块​

Python

consecutive_errors = 0​

​

while True:​

​

​

当连续错误触达阈值后,可主动升级交由人工介入处理,既可以让模型自主判断发起人工询问,也能通过固定控制流代码强制接管流程。​

​

核心优势​

自我修复 Self-Healing​

模型读取上下文内的错误信息,自主修正入参、调整调用逻辑,自动重试。​

运行持久化 Durable​

单次工具调用失败不会中断整条任务链路,智能体可持续运行。​

​

注意事项​

若无限制反复重试,智能体极易陷入死循环,重复触发相同报错。​

此时可以结合第8条「自主掌控控制流」与第3条「自主构建上下文窗口」优化:​

不必直接把原始报错原文丢入上下文;你可以重构错误展示格式、删减冗余历史事件、自定义兜底恢复逻辑,让智能体跳出重复报错循环。​

​