用Agent自动完成任务

入门·10 分钟·通过可运行代码讲解「用Agent自动完成任务」,覆盖环境准备、核心代码、参数说明、异常处理、工程化改造和练习任务,适合 AI 编程入门。

用Agent自动完成任务

用 Agent 自动完成任务,关键不是让 AI “自由发挥”,而是把目标、工具、权限、检查点和退出条件设计清楚。否则 Agent 很容易跑偏或反复尝试无效步骤。

选择合适任务

适合 Agent 的任务通常满足:

  • 目标明确;
  • 可以拆成步骤;
  • 中间结果可检查;
  • 工具有明确边界;
  • 出错后可以停止或回滚。

例如“整理资料并生成摘要”适合;“帮我经营整个公司”太模糊。

示例:自动整理资料

目标:给定一个主题,Agent 自动搜索资料、提取要点、生成大纲。

可以拆成:

  1. 根据主题生成搜索关键词;
  2. 调用搜索工具;
  3. 读取结果摘要;
  4. 去重和筛选;
  5. 生成结构化大纲;
  6. 标注不确定信息。

这个任务主要是读和写文本,风险较低,适合入门。

设置最大步骤数

Agent 必须有停止条件:

MAX_STEPS = 6
for step in range(MAX_STEPS):
    action = plan_next_action(state)
    result = run_tool(action)
    state = update_state(state, result)

没有最大步骤数,Agent 可能陷入循环。

加入人工确认

如果 Agent 要执行写操作,例如发送邮件、提交表单、修改数据库,必须在执行前让人确认。

推荐流程是:Agent 生成草稿或计划,用户确认后程序再执行。

任务状态管理

不要只把状态放在对话文本里。应该用结构化对象保存:

state = {
    'goal': '整理RAG资料',
    'steps_done': [],
    'sources': [],
    'draft': None,
    'approved': False
}

这样更容易恢复、调试和审计。

失败处理

Agent 自动任务必须考虑失败:搜索没结果、工具超时、模型输出格式错误、用户目标不清楚。遇到失败时,系统应该说明原因并请求补充信息,而不是继续编造。

小结

Agent 自动化的核心是可控。先从低风险、可检查、步骤明确的任务做起,逐步增加工具和权限。真正可靠的 Agent 更像一个有日志、有审批、有边界的自动化流程,而不是完全放任的聊天机器人。