当前位置: 首页 > article >正文

Effective harnesses for long-running agents翻译

⚠️ 在开始阅读之前如果你对实时 Agent / 数字人 / 多模态系统 / LiveKit 架构感兴趣欢迎先到 GitHub 给项目点一个 ⭐ Star这是对开源作者最大的支持。AlphaAvatar 项目地址强烈建议先收藏该项目正在持续更新维护 https://github.com/AlphaAvatar/AlphaAvatarAIPapers 项目地址具有更全的有关LLM/Agent/Speech/Visual/Omni论文分类 https://github.com/AlphaAvatar/AIPaperNotes摘要随着人工智能 Agent 能力的不断提升开发者们越来越多地要求它们承担复杂的任务这些任务可能需要数小时甚至数天才能完成。然而如何让 Agent 在多个上下文窗口中持续取得进展仍然是一个尚未解决的问题。长时间运行的智能体面临的核心挑战在于它们必须在离散的会话中工作每个新会话开始时都对之前的工作一无所知。想象一下一个软件项目由工程师轮班工作每个新工程师都对上一班的工作内容毫无记忆。由于上下文窗口有限而且大多数复杂项目无法在单个窗口内完成智能体需要一种方法来弥合编码会话之间的空白。我们开发了一套双重解决方案使 Claude Agent SDK 能够在多个上下文窗口中高效运行一个初始化 Agent用于在首次运行时设置环境以及一个编码 Agent负责在每个会话中逐步推进同时为下一个会话留下清晰的痕迹。您可以在随附的快速入门指南中找到代码示例。The long-running agent problemClaude Agent SDK 是一款功能强大的通用 Agent 框架它不仅擅长编码还能胜任其他需要模型使用工具来收集上下文、规划和执行任务的工作。它具备上下文管理功能例如上下文压缩使 Agent 能够在不耗尽上下文窗口的情况下完成任务。理论上在这种配置下Agent 应该能够持续执行任意长时间的有效工作。然而压缩是不够的。即使是像 Opus 4.5 这样前沿的编码模型如果仅仅给出诸如“构建 claude.ai 的克隆”之类的高级提示并在多个上下文窗口中循环运行于 Claude Agent SDK 上也无法构建出生产级的 Web 应用程序。Claude 的失败主要体现在两个方面首先Agent 倾向于一次性执行过多操作——本质上是试图一次性完成应用程序。这通常会导致模型在执行过程中失去上下文使得下一个会话开始时某个功能只实现了一半而且没有文档说明。Agent 随后不得不猜测发生了什么并花费大量时间试图让应用程序的基本功能重新运行。即使使用了压缩机制这种情况仍然会发生因为压缩机制并非总是能将清晰明确的指令传递给下一个 Agent。第二种故障模式通常会在项目后期出现。在某些功能已经构建完成后后续的 Agent 实例会检查项目进展发现已经取得了一些进展然后宣布任务完成。这会将问题分解为两部分。首先我们需要搭建一个初始环境为给定提示所需的所有功能奠定基础使 Agent 能够逐步、逐个功能地完成任务。其次我们应该引导每个 Agent 逐步实现其目标同时在会话结束时将环境清理干净。所谓“清理干净”的状态是指代码适合合并到主分支没有重大错误代码结构清晰、文档齐全通常情况下开发人员可以轻松地开始开发新功能而无需先清理无关的混乱代码。在内部试验中我们采用两步解决方案来解决这些问题Initializer agent第一个 Agent 会话使用一个特殊的提示要求模型设置初始环境一个init.sh脚本、一个claude-progress.txt文件用于记录 Agent 执行的操作以及一个初始 git 提交用于显示已添加的文件。Coding agent后续每次会话都要求模型逐步取得进展然后提供结构化的更新信息我们之所以将它们称为不同的 Agent仅仅是因为它们的初始用户提示不同。除此之外系统提示、工具集和整个 Agent 框架都完全相同。关键在于找到一种方法让 Agent 在打开一个全新的上下文窗口时能够快速了解​​工作状态这可以通过claude-progress.txt文件以及 Git 历史记录来实现。这些实践的灵感来源于了解高效软件工程师的日常工作。Environment management在更新后的 Claude 4 提示指南中我们分享了一些多上下文窗口工作流程的最佳实践其中包括一种框架结构该结构使用“针对第一个上下文窗口的不同提示”。这种“不同提示”要求初始化 Agent 设置环境使其包含后续编码 Agent 有效工作所需的所有必要上下文。本文将深入探讨此类环境的一些关键组件。Feature list为了解决 Agent 程序一次性完成应用程序或过早认为项目已完成的问题我们要求初始化 Agent 程序编写一份全面的功能需求文件以扩展用户的初始提示。在 claude.ai 克隆示例中这意味着超过 200 项功能例如“用户可以打开一个新的聊天窗口输入查询内容按下回车键然后查看 AI 回复”。这些功能最初都被标记为“未完成”以便后续的编码 Agent 程序能够清楚地了解完整功能应有的样子。我们仅通过更改pass字段的状态来引导编码 Agent 编辑此文件并使用措辞强烈的指令例如“删除或编辑测试是不可接受的因为这可能导致功能缺失或出现错误”。经过一些实验我们最终决定使用 JSON 格式因为与 Markdown 文件相比模型不太可能错误地更改或覆盖 JSON 文件。Incremental progress在搭建好初始环境框架后下一轮编码 Agent 被要求每次只处理一个功能。这种增量式方法对于解决 Agent 一次性处理过多任务的倾向至关重要。即使采用增量式开发模型在每次代码更改后保持环境的清洁状态仍然至关重要。在我们的实验中我们发现实现这一目标的最佳方法是要求模型使用描述性的提交信息将其开发进度提交到 Git并在进度文件中写入进度摘要。这样模型就可以使用 Git 回滚错误的代码更改并恢复代码库的正常状态。这些方法也提高了效率因为它们消除了 Agent 需要猜测发生了什么事并花费时间试图让基本应用程序重新运行的需要。Testing我们观察到的最后一个主要故障模式是 Claude 倾向于在没有进行充分测试的情况下将某个功能标记为已完成。如果没有人明确提醒Claude 往往会修改代码甚至使用单元测试或curl命令在开发服务器上进行测试但他却无法意识到该功能并未全面正常运行。在构建 Web 应用程序的过程中一旦明确要求 Claude 使用浏览器自动化工具并像人类用户一样进行所有测试Claude 在端到端验证功能方面大多表现良好。为 Claude 提供这类测试工具显著提高了性能因为该 Agent 能够识别并修复仅从代码中无法明显看出的错误。仍然存在一些问题例如 Claude 的视野和浏览器自动化工具的局限性导致难以识别所有类型的错误。例如Claude 无法通过 Puppeteer MCP 查看浏览器原生弹出框因此依赖这些弹出框的功能往往更容易出现错误。Getting up to speed完成以上所有步骤后每个编码 Agent 都会被提示执行一系列步骤来熟悉操作其中一些步骤虽然很基础但仍然很有帮助运行pwd命令查看当前工作目录。您只能编辑此目录中的文件。阅读 git 日志和进度文件了解最近的工作进展。阅读功能列表文件选择尚未完成的最高优先级功能进行开发。这种方法可以节省 Claude 在每个会话中的一些 token因为它无需自行计算如何测试代码。此外还可以让初始化 Agent 编写一个init.sh脚本来运行开发服务器然后在实现新功能之前运行一个基本的端到端测试。以 claude.ai 克隆版为例这意味着 Agent 程序始终启动本地开发服务器并使用Puppeteer MCP发起新的聊天、发送消息并接收回复。这确保了 Claude 能够快速识别应用程序是否处于故障状态并立即修复任何现有错误。如果 Agent 程序转而开始实现新功能则很可能会使问题更加严重。鉴于以上情况典型的会话开始时会显示以下助手消息[Assistant] Ill 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 --oneline -20 [Assistant] Now let me check if theres 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 featureFuture work这项研究展示了一种可能的解决方案用于构建一个能够让模型在多个上下文窗口中逐步推进的长期运行 Agent 框架。然而仍有一些问题悬而未决。最值得注意的是目前尚不清楚单个通用编码 Agent 是否在所有上下文中都能发挥最佳性能或者多 Agent 架构是否能带来更佳的性能。诸如测试 Agent、质量保证 Agent 或代码清理 Agent 之类的专用Agent在软件开发生命周期的各个子任务中可能表现更佳。此外此演示针对全栈 Web 应用开发进行了优化。未来的研究方向是将这些发现推广到其他领域。这些经验教训很可能可以应用于科学研究或金融建模等领域所需的长期运行 Agent 任务。

相关文章:

Effective harnesses for long-running agents翻译

⚠️ 在开始阅读之前,如果你对 实时 Agent / 数字人 / 多模态系统 / LiveKit 架构 感兴趣, 欢迎先到 GitHub 给项目点一个 ⭐ Star,这是对开源作者最大的支持。🚀 AlphaAvatar 项目地址(强烈建议先收藏,该项…...

OpenClaw人人养虾:音频与语音

Audio Node(音频节点)为 Agent 提供语音输入和输出能力,包括语音转文字 STT(Speech-to-Text)和文字转语音 TTS(Text-to-Speech)。启动音频节点openclaw node --type audio首次启动系统会要求授予…...

如何在5分钟内掌握PPTist:免费开源在线PPT制作工具的终极指南

如何在5分钟内掌握PPTist:免费开源在线PPT制作工具的终极指南 【免费下载链接】PPTist PowerPoint-ist(/pauəpɔintist/), An online presentation application that replicates most of the commonly used features of MS PowerPoint, allo…...

从UML到SysML:给软件工程师的系统思维升级指南(含实战案例拆解)

从UML到SysML:给软件工程师的系统思维升级指南(含实战案例拆解) 当软件工程师第一次接触需要协调传感器、控制器和机械臂的物联网项目时,往往会陷入"代码思维"的困境——试图用类图和时序图描述所有交互,却发…...

【Dify权限管控终极清单】:2024新版v0.12.0中已废弃的3个危险API + 必须迁移的5个替代方案

第一章:Dify权限管控体系全景概览Dify 的权限管控体系以“角色驱动、资源隔离、细粒度控制”为核心设计原则,覆盖应用、数据集、模型、知识库及团队协作全生命周期。该体系并非仅依赖静态角色分配,而是通过动态策略引擎将用户身份、上下文环境…...

从MVDR到LCMV再到GSC:一文讲透自适应波束形成的演进与选择(MATLAB对比)

从MVDR到LCMV再到GSC:自适应波束形成算法深度解析与MATLAB实战 自适应波束形成技术就像给麦克风阵列装上智能耳朵,能在嘈杂环境中精准捕捉目标声音。想象一下会议室里此起彼伏的交谈声,或是演唱会现场混杂着各种乐器的歌声——这些场景正是MV…...

安卓应用开发中 Room 数据库类型转换器未注册问题详解

目录安卓应用开发中 Room 数据库类型转换器未注册问题详解一、问题现象二、产生原因2.1 Room 支持的基本类型2.2 未在实体类或数据库类上声明 TypeConverters2.3 转换器方法签名错误2.4 转换器类未实例化或作用域错误2.5 泛型类型问题2.6 Kotlin 中的类型别名2.7 数据库版本升级…...

一键部署Qwen3-ASR-0.6B:轻量级语音识别模型,支持流式推理

一键部署Qwen3-ASR-0.6B:轻量级语音识别模型,支持流式推理 1. 引言:为什么选择Qwen3-ASR-0.6B 语音识别技术正在快速普及,从智能家居到客服系统,从会议记录到实时字幕,应用场景越来越广泛。Qwen3-ASR-0.6…...

HLS流媒体下载器技术实现:并发处理与AES解密优化策略

HLS流媒体下载器技术实现:并发处理与AES解密优化策略 【免费下载链接】m3u8_downloader 项目地址: https://gitcode.com/gh_mirrors/m3/m3u8_downloader 在数字媒体内容日益丰富的今天,HLS(HTTP Live Streaming)已成为视频…...

pkNX:开启宝可梦Switch游戏自定义编辑的三大维度解析

pkNX:开启宝可梦Switch游戏自定义编辑的三大维度解析 【免费下载链接】pkNX Pokmon (Nintendo Switch) ROM Editor & Randomizer 项目地址: https://gitcode.com/gh_mirrors/pk/pkNX 你是否曾想过亲手打造独一无二的宝可梦世界?当标准游戏体验…...

从圆柱绕流到涡街动画:我的第一个FLUENT瞬态仿真全记录(附Mesh文件与结果对比)

从圆柱绕流到涡街动画:我的第一个FLUENT瞬态仿真全记录 第一次打开FLUENT界面时,那些密密麻麻的菜单栏和参数设置让我有些手足无措。作为一个流体力学爱好者,我一直想亲手模拟出教科书上那个经典的卡门涡街现象——当流体绕过圆柱体时&#x…...

BilibiliDown:为什么你的B站内容管理需要这个开源神器?

BilibiliDown:为什么你的B站内容管理需要这个开源神器? 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/…...

ComfyUI图像批量处理终极指南:5步快速解决Load Image Batch节点异常问题

ComfyUI图像批量处理终极指南:5步快速解决Load Image Batch节点异常问题 【免费下载链接】was-node-suite-comfyui An extensive node suite for ComfyUI with over 210 new nodes 项目地址: https://gitcode.com/gh_mirrors/wa/was-node-suite-comfyui WAS …...

MedSAM医疗影像分割终极指南:从零开始微调适配你的专属场景

MedSAM医疗影像分割终极指南:从零开始微调适配你的专属场景 【免费下载链接】MedSAM Segment Anything in Medical Images 项目地址: https://gitcode.com/gh_mirrors/me/MedSAM 你是否曾经面临这样的困境:面对复杂的医疗影像数据,需要…...

从POLQA天价授权到ViSQOL开源替代:音频客观评测的平民化实战指南

从POLQA天价授权到ViSQOL开源替代:音频客观评测的平民化实战指南 音频质量评测一直是语音通信、音乐流媒体和智能设备开发中的关键环节。专业团队通常依赖POLQA这类行业标准工具,但动辄百万的授权费用让中小团队和个人开发者望而却步。这就像给业余摄影师…...

从考研到面试:线性代数高频术语中英对照速查手册(含易混点解析)

从考研到面试:线性代数高频术语中英对照速查手册(含易混点解析) 线性代数是理工科学生绕不开的核心课程,无论是研究生入学考试还是技术岗位面试,扎实的线性代数基础往往是区分优秀候选人的关键指标。尤其在涉及英文文献…...

告别迷茫!用Vitis 2023.2工具链,5分钟搞定ZYNQ FSBL工程创建与Boot.bin生成

5分钟掌握Vitis 2023.2工具链:ZYNQ FSBL工程创建与Boot.bin生成实战指南 当第一次在Vitis 2023.2中创建ZYNQ启动镜像时,大多数工程师都会遇到相似的困惑:Platform Project和Application Project的区别是什么?为什么生成的FSBL无法…...

语音转文字神器AsrTools:零门槛批量处理音频视频文件

语音转文字神器AsrTools:零门槛批量处理音频视频文件 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate t…...

告别联网依赖:一份完整的Zsh Oh My Zsh离线安装包制作与部署方案

企业级终端环境部署:Zsh与Oh My Zsh离线化解决方案全景指南 在服务器集群与开发环境管理中,终端工具的标准化配置往往成为团队效率的隐形分水岭。当数百台服务器因安全策略限制无法连接外网时,如何实现Zsh及其生态组件的批量部署?…...

城通网盘限速破解终极指南:开源工具ctfileGet的创新解决方案

城通网盘限速破解终极指南:开源工具ctfileGet的创新解决方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 你是否曾经面对城通网盘令人沮丧的下载速度,看着进度条以KB/s的速度…...

重返未来1999自动化助手M9A:如何轻松解放双手的终极指南

重返未来1999自动化助手M9A:如何轻松解放双手的终极指南 【免费下载链接】M9A 重返未来:1999 小助手 | Assistant For Reverse: 1999 项目地址: https://gitcode.com/gh_mirrors/m9/M9A 厌倦了在《重返未来:1999》中重复刷取材料、完成…...

Phi-4-mini-reasoning入门必看:面向推理任务的轻量级大模型快速上手

Phi-4-mini-reasoning入门必看:面向推理任务的轻量级大模型快速上手 1. 模型简介 Phi-4-mini-reasoning是一款专为推理任务优化的轻量级文本生成模型。与通用聊天模型不同,它特别擅长处理需要多步逻辑推导的问题,包括但不限于: …...

企业知识库升级:Qwen3-Reranker-0.6B重排序实战案例

企业知识库升级:Qwen3-Reranker-0.6B重排序实战案例 1. 引言:企业知识检索的痛点与解决方案 在当今信息爆炸的时代,企业知识库已成为组织内部信息流转的核心枢纽。然而,传统的关键词匹配和简单向量检索往往难以准确理解用户查询…...

别再折腾Win10了!手把手教你用VMware+Win2003搞定Sniffer Pro 4.7.5完整安装

网络安全实验环境搭建:VMwareWin2003运行Sniffer Pro终极指南 在网络安全学习和实验过程中,Sniffer Pro这款经典网络分析工具的重要性不言而喻。然而,随着操作系统不断更新迭代,许多用户发现这款老牌工具在现代系统上几乎无法正常…...

Python列表操作教程

Python列表操作教程 【免费下载链接】mx-bili-plugin 项目地址: https://gitcode.com/gh_mirrors/mx/mx-bili-plugin 基础概念 列表是Python中最常用的数据结构之一... 视频演示 关键代码示例 # 创建列表 my_list [1, 2, 3, 4, 5]# 列表切片操作 subset my_list[1…...

华为OD机试真题 新系统-8位LED控制器(C/C++/Py/Java/Js/Go)

8位LED控制器 华为OD机试真题 华为OD上机考试真题 4月19号 100分题型 华为OD机试真题目录点击查看: 华为OD机试真题题库目录|机考题库 算法考点详解 题目描述 有一个8位LED控制器,包含8个LED灯(编号0-7),初始状态全灭,用8位二…...

终极GMod修复方案:3步解决游戏浏览器与启动问题

终极GMod修复方案:3步解决游戏浏览器与启动问题 【免费下载链接】GModPatchTool 🇬🩹🛠 Patches for Garrys Mod. Updates/Improves CEF and Fixes common launch/performance issues (esp. on Linux/Proton/macOS). Formerly GMo…...

革命性魔兽争霸III地图编辑器:HiveWE全面使用指南

革命性魔兽争霸III地图编辑器:HiveWE全面使用指南 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为魔兽争霸III原版编辑器加载缓慢、操作卡顿而烦恼吗?HiveWE作为专注于速度和易…...

FanControl深度解析:Windows平台精准风扇控制实践指南

FanControl深度解析:Windows平台精准风扇控制实践指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa…...

技术深度解析:OneNote-MD-Exporter 架构设计与无损迁移实战

技术深度解析:OneNote-MD-Exporter 架构设计与无损迁移实战 【免费下载链接】onenote-md-exporter ConsoleApp to export OneNote notebooks to Markdown formats 项目地址: https://gitcode.com/gh_mirrors/on/onenote-md-exporter 在数字化笔记管理领域&am…...