时政
财经
科技
虚拟货币
其他
登录
#自动化测试
关注
meng shao
1个月前
[Anthropic 工程博客] 构建长运行智能体的高效框架 Anthropic 最新工程博客探讨了如何为长运行智能体设计有效的“框架”,以应对复杂任务在多会话间的持续执行挑战。基于 Claude Agent SDK 实际经验,强调通过结构化环境和渐进式工作流程,让智能体像人类软件工程师一样,逐步推进项目,而非试图一蹴而就。 长运行智能体的核心挑战 长运行智能体目标是处理跨小时或数天的复杂任务,例如构建一个完整复杂的软件项目。但由于上下文窗口的容量限制,每个会话都像从零开始:智能体缺乏先前记忆,容易陷入“一次性完成”的陷阱——试图在单一会话中搞定整个项目,导致上下文耗尽、代码杂乱或文档缺失。其他常见问题包括: · 过早宣告完成:后续智能体看到部分进展,就错误地标记任务结束。 · 状态恢复困难:智能体花大量时间猜测未完成工作,或在 buggy 环境中挣扎。 · 测试缺失:功能看似就位,但未通过端到端验证,隐藏潜在问题。 通过实验(如构建 200+ 功能的网页克隆项目)总结这些失败模式,并提供针对性解决方案,借鉴软件工程最佳实践,如 Git 版本控制和自动化测试。 提出的解决方案:双智能体框架与结构化环境 解决方案是引入“框架”——一个由提示、脚本和文件组成的系统,确保会话间状态持久化和干净交接。具体分为两个角色: 1. 初始化智能体(Initializer Agent):仅用于首轮会话,负责搭建初始环境。生成关键文件,包括: · feature_list.json:一个JSON格式的功能清单,列出所有任务(如“创建新聊天”),每个包含描述、步骤和初始“passes”状态(false)。JSON格式确保不可变性,防止后续编辑。 · claude-progress.txt:日志文件,记录动作和进展。 · init. sh:启动脚本,用于运行开发服务器、测试基础功能,减少后续设置开销。 初始化后,进行首次 Git 提交,形成干净基线。 2. 编码智能体(Coding Agent):后续会话专用,专注于渐进式进展。每个会话仅处理一个功能: · 会话启动例程:检查目录(pwd)、审阅 Git 日志和进展文件、运行 init. sh 启动环境、验证核心测试。 · 工作流程:从 JSON 清单选一未完成功能,编码、提交描述性 Git 变更、更新 “passes” 状态(仅在通过测试后),并记录日志。 · 强调“干净状态”(clean state):结束时,代码须无bug、文档齐全、可直接合并到主分支。 关键实践与工具集成 · 功能清单与 Git:JSON 清单防止“过早完成”,Git 提供回滚和历史追踪。实验显示,相比 Markdown,JSON 减少了不当修改。 · 端到端测试:集成浏览器自动化工具(如 Puppeteer MCP 服务器),模拟人类操作(如点击模态框、截图验证)。这捕捉代码审查忽略的交互 bug,但文章也指出局限,如原生浏览器元素的处理。 · 提示策略:初始化和编码提示不同——前者聚焦搭建,后者强调单一功能和验证。使用强约束语言(如“绝不编辑测试”)规避失败。 · 失败模式表格:文章附表总结问题(如“设置混淆”)及应对(如标准化脚本),便于实际应用。 结论与展望 Anthropic 的经验证明,这种框架能显著提升长运行智能体的可靠性:从混乱的“一击即溃”转向工程化的持续迭代。关键启示是借用人类工程实践(如版本控制、测试驱动开发),结合 AI 的自动化潜力。从简单项目起步,审视失败模式,并扩展到多智能体系统(如专职测试智能体)。未来方向可以泛化到其他领域,如科学研究或财务建模,探索更复杂的协作架构。 博客地址:
#多智能体之争:Anthropic生态VS单智能体· 81 条信息
#Anthropic
#长运行智能体
#软件工程
#双智能体框架
#自动化测试
分享
评论 0
0
Larry & Leo Bro - Eagle of Full Stack
1个月前
的安全加固来了,辛苦帮忙转发通知,使用最新 next 分支 1. 安全性审查 (Security - CRITICAL) JWT 密钥验证 - 实现: main.go 中的 validateJWTSecret 逻辑严密。它强制检查密钥是否为空、是否为已知默认值、以及长度是否达到32字节。如果不满足,main 函数会直接 log.Fatalf 退出,有效阻断了不安全启动。 - 测试: main_jwt_test.go 覆盖了所有边界情况(空、默认、短、有效),验证结果通过。 静态文件泄露防护 - 实现: api/server.go 中的 serveFrontend 明确指定了静态资源路由 (/assets, /icons, /images),其余请求通过 NoRoute 回退到 index.html。这种白名单机制天然防止了路径遍历。 - 测试: api/security_test.go 中的 TestStaticFileSecurity_RootLeakage 是一个高质量的安全测试。它模拟了根目录下的敏感文件 (config.json, .env),并发起 HTTP 请求。测试断言返回的内容是 SPA 的 index.html 而不是文件原始内容,有力证明了根目录文件不会泄露。 CORS (跨域资源共享) - 实现: api/server.go 的 corsMiddleware 现已基于配置驱动。它读取 Server 结构体中的 corsOrigins 列表,仅对匹配的 Origin 返回允许头。 - 配置: main.go 负责从 config.json 读取 cors_allowed_origins 并传递给 Server。 - 测试: api/cors_test.go 验证了白名单匹配、拒绝未授权 Origin 以及通配符 * 的逻辑,覆盖全面。 2. 独立运行与跨平台支持 (Standalone Execution) 路径处理 - Config: main.go 在当前工作目录查找 config.json,这是标准且正确的做法。 - Prompts: decision/prompt_manager.go 优先检查当前目录下的 prompts/,其次是环境变量,最后才是 Docker 默认路径。这种优先级设计完美支持了 Windows/Linux 下的独立运行(只要文件夹在旁边)。 - Logs: trader/auto_trader.go 使用相对路径 decision_logs/ 创建日志目录,这确保了日志会生成在可执行文件所在的目录下,而不是系统根目录。 - Web: 前端资源通过相对路径 web/dist 加载,只要部署时包含此目录即可。 启动体验 - 配置缺失: main.go 增加了友好的错误提示。如果 config.json 不存在,它会告诉用户从 example 复制,而不是抛出晦涩的 panic,提升了用户体验。 3. 业务逻辑与契约 - 前后端契约: 静态文件服务逻辑正确映射了前端 SPA 的路由需求(History API fallback)。 - 配置同步: cors_allowed_origins 正确地从文件同步到了内存中的 Server 配置。 4. 建议 - 部署文档: 虽然代码已就绪,建议在 或发布说明中强调:在 Windows/Linux 部署时,必须将 nofx (二进制)、config.json、prompts/ 文件夹和 web/dist/ 文件夹放在同一级目录下。 结论 代码修改在安全性、正确性和架构合理性上均达到要求。Nofx 现在可以作为一个安全、独立的二进制文件在 Windows 和 Linux 上运行,无需依赖 Docker。所有关键路径均有自动化测试保障。
#安全性加固
#跨平台支持
#独立运行
#部署建议
#自动化测试
分享
评论 0
0
Leo Xiang
2个月前
以前不太习惯在git 仓库中集成那么多hook, 现在已经成默认行为了。 1、让大模型对最近的代码修改review,并给出评价; 2、自动化测试; 3、e2e测试; 4、提交代码; 5、github 远端workflow 自动化测试再跑一次。
AI编程工具激战:Claude Code、Gemini Cli崛起· 1256 条信息
#git hook
#代码Review
#自动化测试
#github workflow
分享
评论 0
0
宝玉
2个月前
让 AI Agent 处理 23W 行代码,归根结底就是两点: 1. 记忆:借助文档帮助模型快速了解项目,快速定位,而不必重头开始 - 初始化好 Agents MD 文件 - 各个模块下都有相关文档说明,从 Agents MD 文件可以方便检索到 2. 反馈:让模型可以自己获得反馈 - 通过自动化测试让模型能自己获得反馈 - 通过告诉模型怎么运行程序,怎么截图获得反馈 - 其他能让模型获得反馈的手段
#AI Agent
#代码处理
#自动化测试
#项目文档
#模型反馈
分享
评论 0
0
sitin
3个月前
有同学在问我怎么进行 AI 编程。我一般是先跟 Claude 沟通,把这个需求定下来。之后生成一个文档,生成完文档之后,让另外一个 Claude 去执行里面的内容。 执行完之后,我一般会用 PlayWright 来让整个 AI 帮我测试。这样就能保证一些基础问题不会出现。否则的话,AI 开发完了之后,可能会出现一些基础的页面问题、组件缺失问题等等,这样也会浪费时间。
AI编程工具激战:Claude Code、Gemini Cli崛起· 1256 条信息
#AI编程
#Claude
#Playwright
#AI测试
#自动化测试
分享
评论 0
0
Frank
4个月前
vibe coding的下一个增长点一定会是高质量的自动化测试
#Vibe Coding
#自动化测试
#高质量
#技术趋势
#积极
分享
评论 0
0
宝玉
4个月前
普通人用好 Coding Agent 的一个经验技巧,就是为 Agent 提供验证结果的方法,这样 Agent 就会自己去测试去修改,直到完成任务,不需要自己反复测试修改。 举个例子,我在用 Claude Code 或者 Copilot/Curosr 的 Agent mode,会在提示词中加一句类似的话: Please write tests and verify the tests by running `npx jest <testfilepath> -c './jest.config.ts' --no-coverage` 就是让 AI 写完代码要写测试,并且自己执行命令行去验证测试结果。(这个前提是我已经配置好了自动化测试,如果没有配置好自动化测试,可以让 AI 帮你配置好)。虽然有时候 AI 也会主动去测试,但是 AI 不一定会写测试,另外它可能运行 npm test 这种全局测试,等的时间太长。 当你要求 AI 写测试,并告诉它如何验证后,它就会去验证自己写的对不对,如果有问题会主动修复,直到通过测试,但是也要小心它为了通过测试修改测试代码假装通过,人工审查一下还是有必要的。 类似的技巧还有人为 AI 提供一个运行代码和截图工具,让 AI 写完 UI 后运行并截图,自己去对比写出来的 UI 和原始设计稿的差异,然后迭代修改,直到和设计稿接近。
AI编程工具激战:Claude Code、Gemini Cli崛起· 1256 条信息
#Coding Agent
#自动化测试
#AI代码测试
#AI Agent技巧
#代码验证
分享
评论 0
0
Larry & Leo Bro - Eagle of Full Stack
5个月前
好了,小马上了马嚼子!我给 AI 的 TDD 规则: # 🛑 MANDATORY PRE-CODING CHECKLIST 🛑 **BEFORE ANY CODING ACTION, I MUST ANSWER THESE QUESTIONS:** ## IMPORTS检查 (EVERY TIME) - 所有imports都在文件顶部?**必须回答:是** - 没有在函数/方法内部import?**必须回答:是** ## KISS检查 (EVERY TIME) - 这行代码100%必要吗?**必须回答:是** - 有没有全局实例/变量?**必须回答:没有,或者有充分理由** - 模块能独立导入吗?**必须回答:是,无副作用** ## TDD检查 (EVERY TIME) - 我要写几个测试?**必须回答:一个** - 用数据库吗?**必须回答:不,用mock** - TDD步骤?**必须回答:RED/GREEN/REFACTOR之一** - 具体行为?**必须一句话描述** ## 违规警告 如果我开始编码而没有先做这个检查,用户应该立刻说"停!检查!" ⚠️ **这个检查是MANDATORY的,不是可选的**
#AI
#tdd
#代码检查
#编程规则
#自动化测试
分享
评论 0
0
GitHubDaily
6个月前
又发现一个强大的 MCP 服务器:Vibetest Use,一键启动多个 Agent 对网站全面自动化测试。 底层使用的是 Browser-Use 自动化智能体,最多可支持 10 个 Agent 同时测试网站,自动发现 UI Bug、失效的链接、可访问性等问题。 GitHub: 此外,还支持生产环境和本地开发环境测试,以及无头模式运行,非常适合自动化流程测试。 可以在 Claude Code 或 Cursor 中安装使用,需要配置 Gemini API 密钥。
#MCP服务器
#自动化测试
#Browser-Use
#UI Bug
#失效链接
#可访问性测试
#GitHub
#生产环境
#本地开发环境
#无头模式
分享
评论 0
0
北火
7个月前
Claude Sonnet 4 强大到什么地步了呢?我只需要说测试没有通过,它自己去检查并且分析出来了我对 models 做了很大的改动,并且根据新的 models 的继承情况,修正了测试数据。全程没有给任何 contexts ……
#Claude
#AI技术
#自动化测试
#模型改动
分享
评论 0
0
宝玉
11个月前
字节的 AI 自动化测试框架,自然语言就可以测试 Web UI,比如像这样的测试代码: await ai('在搜索框中输入 "Headphones",然后回车'); 当然需要多模态的模型,支持的模型包括: - gpt-4o - claude-3-opus-20240229 - gemini-1.5-pro - qwen-vl-max-latest - doubao-vision-pro-32k 最新的 Gemini 2.0 Flash 不知道支持不支持 项目网页: Repo:
#字节
#人工智能
#自动化测试
#多模态
#Web UI
#自然语言处理
#AI 模型
分享
评论 0
0
个人主页
通知
我的投稿
我的关注
我的拉黑
我的评论
我的点赞