如何高效长时间运行智能体?来看高手的保姆级总结!

阿瑶酱_8621

阿瑶酱_8621

2026-05-28

780人浏览

原创

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何高效长时间运行智能体?来看高手的保姆级总结!

用四大章节,总结AI智能体交互设计的高频问题

过去一年里我带领我的 UI 小伙伴深耕 AI agent 领域,在人机对话的细节里摸爬滚打,攒下了一些带实战温度的 EXP,趁着有更新的热情分享给大家。

随着 AI 智能体能力不断提升,开发者开始尝试让它们承担更复杂的任务——这些任务往往需要持续数小时,甚至数天才能完成。但一个关键难题始终存在:如何让智能体在多个上下文窗口之间持续、稳定地推进工作。

长时间运行智能体的核心问题在于:

它们只能在离散的会话中工作,而每一次新会话开始时,几乎“忘记”了之前发生的一切。可以类比为一个轮班的软件项目:每一位新工程师接手时,都完全不了解上一班做了什么。由于上下文窗口有限,而复杂项目又不可能在单个窗口内完成,智能体必须具备某种“跨会话衔接”的能力。

为了解决这个问题,我们为 Claude Agent SDK 设计了一套双层方案,使其能够在多个上下文窗口中高效协作:

  1. 初始化智能体(Initializer Agent)只在第一次运行,负责搭建环境、明确目标和约束。
  2. 编码智能体(Coding Agent)在后续每个会话中持续推进工作,并为下一次会话留下清晰、可接续的工作痕迹。

相关代码示例可以参考官方的 Quickstart。

二、长时间运行智能体的问题

Claude Agent SDK 是一个通用且能力很强的智能体框架,既能写代码,也能完成“获取上下文 → 规划 → 执行”的复杂任务。它支持上下文压缩,理论上可以让智能体长时间工作而不耗尽上下文。

但现实是:光靠压缩远远不够

即使是像 Opus 4.5 这样的前沿模型,在 Claude Agent SDK 中循环运行,如果只给一个高层目标(例如“构建一个 claude.ai 的克隆版本”),依然无法稳定产出一个真正可用的生产级 Web 应用。
在实践中,我们观察到 Claude 主要会出现两类失败模式。

失败模式一:一次性做太多

智能体往往试图“一次性把整个应用写完”。结果通常是:

  1. 在实现过程中耗尽上下文
  2. 留下半成品功能
  3. 没有清晰的记录或说明

下一次会话启动时,新的智能体只能猜测之前发生了什么,从而不得不花大量时间把基础功能重新跑起来。即便使用了上下文压缩,这种情况仍然频繁发生,因为压缩并不能保证信息传递得足够清晰

失败模式二:过早宣布完成

在项目后期,智能体可能看到已经实现了一部分功能,就直接判断“任务完成”,而实际上仍有大量工作没完成。

这促使我们把问题拆解为两个核心目标:

  1. 在一开始就搭好基础环境。明确完整的功能范围和工作方式,避免智能体随意发挥
  2. 让每一次会话都只做“可交付的增量开发”。并在结束时把环境整理到一个“干净状态”

这里的“干净状态”,指的是:代码可以直接合并到主分支,没有明显 Bug,结构清晰、文档完整,下一位“工程师”(也就是下一个智能体)可以立刻继续工作,而不是先解决遗留的问题。

在内部实验中,我们采用了如下两阶段方案:

① 初始化智能体

在第一次创建会话时使用一个专门的提示词,要求智能体完成以下工作:

  1. 编写 init.sh,用于启动开发环境
  2. 创建 claude-progress.txt,用于记录每次会话的工作内容
  3. 初始化 Git 仓库,并提交第一笔 commit,明确当前项目状态

② 编码智能体

后续每个会话中,智能体只负责:

  1. 执行一个小的、明确的功能
  2. 提交代码
  3. 更新进度记录

其中的关键点是:新会话开始时,智能体必须能明确知道当前项目状态。这通过 claude-progress.txt + Git 提交历史来实现(本质上模仿了人类工程师的协作方式)

三、环境管理

在更新版的 Claude 4 Prompting Guide 中,我们已经提到:多上下文窗口任务应当为第一个上下文窗口使用不同的提示词

这个提示词的目的是让初始化智能体一次性建立好后续所有编码智能体所需的上下文基础。下面是几个关键组成部分。

One API key for 70+ AI models. Route to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more
One API key for 70+ AI models. Route to GPT, Claude, Gemini, Qwen, Deepseek, Grok and more

统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。

下载

功能列表(Feature List)

为防止智能体“拍脑袋完成项目”,我们要求初始化智能体基于用户的需求,生成一份完整、细粒度的功能清单。

以 claude.ai 克隆为例,这个清单包含 200 多个功能点,例如:用户可以新建一个聊天,输入问题,按下回车,并看到 AI 回复。 所有功能在初始状态下都标记为 passes: false,让后续智能体始终清楚“什么才算真正完成”。

{
    "category": "functional",
    "description": "New chat button creates a fresh conversation",
    "steps": [
      "Navigate to main interface",
      "Click the 'New Chat' button",
      "Verify a new conversation is created",
      "Check that chat area shows welcome state",
      "Verify conversation appears in sidebar"
    ],
    "passes": false
  }

我们明确要求:

  1. 编码智能体只能修改 passes 字段
  2. 禁止删除或改写功能描述

经过多次尝试,我们发现 JSON 比 Markdown 更安全:模型更不容易“修改”结构化数据。

四、循序渐进

在这个环境下,每一轮编码智能体只能处理一个功能点这一步非常关键,直接遏制了智能体“一把梭”的倾向

同时,我们要求智能体每次修改后:

  1. 使用清晰的 commit message 提交到 Git
  2. 在进度文件中写明本次做了什么

这样一来,智能体既可以利用 Git 回滚错误修改,也能快速恢复到稳定状态,避免重复踩坑。

五、测试

另一个常见问题是:智能体在没有真正验证的情况下,就把功能标记为完成

如果没有明确要求,Claude 往往只做单元测试,或用 curl 打一下接口,却忽略了端到端是否真的可用。在 Web 应用场景中,一旦明确要求 Claude 使用浏览器自动化工具、像真实用户一样操作,端到端测试的质量就会显著提升

使用 Puppeteer MCP 后,Claude 能发现很多“代码看不出来”的问题

当然,工具也是有局限性的,例如 Claude 无法识别浏览器原生 alert 弹窗,因此依赖这些弹窗的功能更容易出 Bug

Claude 使用 Puppeteer MCP server 测试的屏幕截图

六、快速进入状态

在这套完整机制下,每个编码智能体在开始工作前,都会执行一套固定流程:

  1. 运行 pwd,确认当前可操作目录
  2. 阅读 Git 日志和进度文件
  3. 查看功能列表,选择尚未完成的最高优先级功能

同时,init.sh 脚本可以一键启动开发服务器,并跑一轮基础 E2E 测试,确保项目处于健康状态。如果项目运行有问题,智能体会优先修复问题,而不是继续堆新功能,以避免问题更加严重

一个典型的会话开始时会显示以下助手消息:

[Assistant] I'll start by getting my bearings and understanding the current state of the project.
[Tool Use] <bash pwd>
[Tool Use] <read claude-progress.txt>
[Tool Use] <read feature_list.json>
[Assistant] Let me check the git log to see recent work.
[Tool Use] <bash git log>
[Assistant] Now let me check if there's an init.sh script to restart the servers.
<starts the development server>
[Assistant] Excellent! Now let me navigate to the application and verify that some fundamental features are still working.
<tests basic functionality>
[Assistant] Based on my verification testing, 
I can see that the fundamental functionality is working well. 
The core chat features, theme switching, conversation loading, 
and error handling are all functioning correctly. 
Now let me review the tests.json file more comprehensively to understand what needs to be implemented next.
<starts work on a new feature></starts></tests></starts></bash></read></read></bash>

以下是智能体失败模式及解决方案:

七、未来方向

以上这套方案证明:通过合适的框架控制,智能体确实可以在多个上下文窗口中持续推进复杂任务。

但仍有值得探索的问题,例如:

  1. 是一个通用编码智能体更合适,还是多智能体分工更高效?
  2. 测试、QA、代码清理等角色,是否应由专业智能体承担?

此外,这套方法目前主要针对 Web 全栈应用,未来也有潜力推广到科研、金融建模等更长期的智能体任务中。

欢迎关注作者微信公众号:「奇舞精选」

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

claude

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

40

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

40

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

60

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

160

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

120

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

80

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Claude Code 快速上手核心指南
Claude Code 快速上手核心指南

共0课时 | 0人学习

Claude Code 官方文档
Claude Code 官方文档

共0课时 | 0人学习

Claude Code 官方中文文档
Claude Code 官方中文文档

共0课时 | 0人学习