Building effective agents and Demystifying evals for AI agents
Intro “Building effective agents” 是 Anthropic 24 年 12 月发布的 Blog, “Demystifying evals for AI agents” 则是 26 年 1 月发布的 Blog,两者是有一定联系的,一个是如何构建高效的 Agent,一个是如何评估 Agent. Part1: Building effective agents Building blocks, workflows, and agents Building block: The augmented LLM LLM + 检索(retrieval)+ 工具(tools)+ 记忆(memory) ⇒ 为 LLM 提供一个简单、清晰、文档完善的统一接口 ⇒ Model Context Protocol, Workflow: Prompt chaining 将任务拆解为一系列步骤 示例:先做前置检查(pre-check),再进入正式处理(process) Workflow: Routing 对输入进行分类,并将其分发到对应的专用后续任务 示例:文本输入 → 文本模型;图片输入 → 视觉模型 Workflow: Parallelization Sectioning(拆分并行):把一个任务拆成彼此独立的子任务,同时并行执行 Voting(投票):对同一个任务多次运行,得到不同结果后再综合判断 示例:使用多个裁判(multiple judges)共同给出最终结论 Workflow: Orchestrator-workers 由一个核心 LLM 动态拆解任务...
AI:Advanced Tool Use
Advanced Tool Use 来源:https://www.anthropic.com/engineering/advanced-tool-use 图示 Tool Search Tool 对比图(Context Usage: Traditional vs. Tool Search Tool) Programmatic Tool Calling 流程图(Programmatic Tool Calling Flow) 核心要点 整体目标:解决三个老问题 工具太多:定义太长,把上下文挤爆 链路太长:工具链一长,来回调用慢且耗 tokens 仅靠 Schema 不够:只有 JSON Schema 时,模型仍会经常填错参数/用错工具 Tool Search Tool(工具搜索): 不再一次性把几十上百个工具定义全部塞进上下文,而是只提前加载一个“搜索工具 + 少数高频工具”。当 Claude 需要某类能力时,先用搜索工具按名字/描述去检索,再按需把少量匹配工具的定义展开进上下文。 收益:减少 token 开销(官方示例:上下文消耗可降低 80%+),同时降低“选错工具”的概率 适用:MCP 多服务、工具数量 10+ 的场景 Programmatic Tool Calling(编程式工具调用): 以前是“自然语言 → 一次推理 → 调一个工具 → 结果全丢回模型上下文”,多步流程就意味着多次推理 + 大量中间数据灌进上下文。现在改成:Claude 写一段 Python 脚本,在沙盒里 orchestrate 工具调用(循环、并发、条件分支都写在代码里),工具结果先在代码里处理,最后只把“结论”返回给 Claude。 收益:大数据场景下只让模型看到汇总结果,而不是几 MB 的原始日志;显著省 tokens、降延迟,也更不容易“算错账” Tool Use Examples(工具使用示例):...
AI:评估AI Agent的上下文压缩策略
评估AI Agent的上下文压缩策略 执行摘要 长会话超出上下文窗口会让AI Agent丢失关键信息。Factory.ai为此构建了基于探针的评估框架,用来衡量不同上下文压缩策略的“功能质量”。对比Factory、OpenAI与Anthropic三种方法,Factory的“锚定迭代式摘要”在保留技术细节上最佳:通过持续维护并增量合并结构化摘要,在准确性与上下文感知上领先,说明结构比单纯的压缩率更决定任务成败。 1. 核心问题:长对话中的上下文丢失 AI Agent在调试、代码审查或功能实现等复杂任务中,会产生数百万Token的对话历史,远超模型上下文窗口。激进压缩常导致代理遗忘关键信息(如改动过的文件、已尝试的方案),从而反复读取、重复探索。 研究指出,优化目标不应是“单次请求的Token数”(tokens per request),而应是“完成任务所需的总Token数”(tokens per task)。更高质量的上下文保留能减少返工,进而降低总消耗。 2. 评估框架:基于探针的功能性质询 传统摘要指标(如ROUGE或嵌入相似度)无法回答关键问题:压缩后的上下文还能否支撑代理继续工作。Factory.ai因此设计探针评估:向压缩后的代理提问必须依赖具体历史细节的问题,以直接衡量其功能质量。 探针类型 该框架使用四种探针,覆盖不同维度的信息保留: 探针类型 测试内容 示例问题 回忆(Recall) 事实性信息的保留 “最初的错误信息是什么?” 工件(Artifact) 文件追踪 “我们修改了哪些文件?描述每个文件的变化。” 延续(Continuation) 任务规划 “我们下一步该做什么?” 决策(Decision) 推理链 “我们针对Redis问题讨论了哪些方案,最终决定是什么?” 评估维度 由LLM裁判(GPT-5.2)按六个维度评分(0-5分),面向软件开发场景: 准确性 (Accuracy): 技术细节(如文件路径、函数名)是否正确。 上下文感知 (Context Awareness): 响应是否反映了当前的对话状态。 工件追踪 (Artifact Trail): 代理是否知道哪些文件被读取或修改过。 完整性 (Completeness): 响应是否解决了问题的所有部分。 连续性 (Continuity): 工作能否在不重新获取信息的情况下继续。 指令遵循 (Instruction Following): 响应是否遵循了格式或约束要求。 3. 三种压缩策略对比 研究评估了三种生产级的压缩策略: Factory:锚定迭代式摘要 (Anchored Iterative Summarization) 机制: 维护一个包含明确分区(如会话意图、文件修改、决策)的持久化结构性摘要。当需要压缩时,仅对新截断的对话部分进行摘要,并将其合并到现有摘要中。 核心洞察: 结构强制保留。通过为特定信息类型设置专门的区域,可以防止关键细节(如文件路径)在自由形式的摘要中被无声地丢弃。 OpenAI:不透明压缩端点(/responses/compact) 机制: 生成面向重建保真度的不透明压缩表示。...
Coding Agent
Coding Agent 🧩 Structured Communication(结构化交流) 核心流程: 与用户交流:了解挑战与需求。 提炼洞察:从交流中发现问题并构思目标。 规划方法:制定实现目标的策略。 分享计划:与团队成员同步。 转化代码:将计划落地为实际实现。 验证结果:测试与验证输出是否符合目标。 核心理念:把“思考—设计—实现—验证”过程显式化,让 AI 与人类都能在同一“规格语言(Spec)”下协作。 Kiro 的双模式:Vibe 与 Spec 模式 核心特征 适用场景 Vibe 模式 对话式交互,快速提问、澄清、解释。 适用于探索性思考、需求分析、头脑风暴。 Spec 模式 结构化任务处理,将想法转化为系统化的开发计划。 适用于项目落地、任务分解、进度跟踪。 🧩 两者关系:Vibe 强调互动与理解,帮助构建上下文;Spec 强调结构与执行,确保落地与追踪。二者并非对立,而是应融合使用。 工具与生态 spec-driven development 的发展 工具 / 模式 核心定位 特点 Kiro Spec AWS 规格驱动开发 IDE 从编写规格开始开发,规格为核心工件,支持自动化与持续验证。 GitHub Spec Kit 开源规格工具包 /specify 写规格、/plan 定方案、/tasks 拆任务;标准化流程并纳入版本控制。 Cursor Plan AI IDE 编码前自动生成结构化开发计划。 Claude Code/ Codex / Droid CLI 支持规划功能 哪个价值更为认可 代码 -> 编译器/解释器 -> 可执行程序...
MathReal:多模态大模型数学推理基准
MathReal:多模态大模型数学推理基准 来源:https://github.com/junfeng0288/MathReal 结论先行 (TL;DR) 新基准:关注真实世界中带有噪声的图像 现有困境:现有基准多使用清晰图像,未能反映真实教育场景中图像质量下降、透视变化和无关内容干扰等常见挑战 数据集:2,000 道手机拍摄的数学题 结果:即使是先进的 MLLM 在处理真实世界噪声时也面临显著挑战,其性能远低于在干净图像上的表现,Qwen-VL-Max 下降了 9.9%,Doubao-1.5-vision-pro 下降了 7.6% MindMap FAQ Acc strict 和 Acc 区别 Acc str (Strict Accuracy) - 严格准确度 定义:要求一道问题中的所有子答案都必须正确,模型才能获得分数。如果任何一个子答案不正确,则整个问题都被标记为错误。 计算方式:如果问题的所有子答案都与参考答案数学等价,则得 1 分,否则为 0 分 Acc (Loose Accuracy) - 宽松准确度 定义:允许部分正确性,并根据每个问题中正确回答的子问题的比例进行计算 计算方式:它计算每个问题中正确预测的子答案占总子答案的比例,然后对所有问题求平均 主要区别与启示 Acc str 和 Acc 之间存在明显差距,如 Gemini-2.5-pro-thinking 在 Acc 下得分为 48.1%,但在 Acc str 评估下下降到 42.9% 实验中提示词有可以参考的吗?比如裁判提示词?裁判用的是什么? 答案评估提示词(Mathematical Answer Evaluation Prompt) 以及一个前置的答案提取提示词(Answer Extraction Prompt) 裁判:GPT-4.1-nano 答案提取提示词 (Prompt for Answer Extraction Task) ◦ 角色定位:一个专业的答案提取专家。 ◦ 核心任务:从模型输出文本中尽可能准确地提取最终答案,并严格遵循优先级策略。 ◦ 优先级策略: ▪ 优先级1:寻找显式答案关键词:搜索“final answer”、“answer”、“result”、“the answer is”、“the result is”等关键词,或“therefore”、“so”、“in conclusion”等总结性词语,并提取紧随其后的内容。 ▪ 优先级2:从文本末尾提取:如果在上一步中没有找到明确的答案,则尝试从文本的最后一段或最后一句话中提取最可能的答案。 ◦ 重要要求: ▪ 多个答案应以分号 (;) 分隔。 ▪ 只返回答案内容本身,不包含额外解释或格式。 ▪ 如果无法确定答案,则返回“null”。 数学答案评估提示词 (Prompt for Mathematical Answer Evaluation Task) ◦ 角色定位:一个顶级的数学评估专家,任务是严谨而精确地判断模型生成答案的正确性。 ◦ 核心任务:确定“模型答案”与“参考答案”在数学和选项上是否完全等价,并根据正确组件的比例分配部分分数。 ◦ 评估原则: ▪ 数值核心优先级:只关注最终的数值、表达式、选项或结论。忽略解题过程、解释性文本(例如“the answer is:”)、变量名(例如D, E, Q1)和无关描述。 ▪ 数学等价性(严格判断): • 分数和小数:例如 1/2 等价于 0....
Manus Context Engineering
Manus Context Engineering 来源:https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus Design Around the KV-Cache 缓存命中率:如果只能选择一个指标,选择 KV-cache hit rate 作为生产阶段 agent 的最重要指标。 保持提示词前缀稳定(Keep your prompt prefix stable) 保持提示词往后追加(Make your context append-only) 缓存断点(Mark cache breakpoints explicitly when needed) a. 主流的商业 LLM API(如 OpenAI、Claude 等)或现代的开源高性能推理框架(如 vLLM、TensorRT-LLM),通常不需要显式设置缓存断点,它们会自动处理。 b. 在较低层次上使用模型(例如,手动管理 Hugging Face Transformers 的 past_key_values),或者在构建自定义推理服务时,需要自行实现 KV Cache 的管理策略。在这种情况下,需要决定在哪里“切分”上下文,将前面的部分缓存起来,以便后续的请求可以高效地重用。 Mask, Don’t Remove 避免在迭代中动态增加或者移除工具。 大部分 LLM 在序列化后,工具定义在上下文前面,通常在系统提示词前或后。 当之前的 actions、observations 还在引用没有定义在当前上下文里的工具,模型会容易幻觉 Manus 使用 context-aware state machine 管理工具。 实践中,大部分 LLM 提供商或者推理框架支持 response prefill,约束 action space 而不用修改工具定义。...
TTS Eval - EmergentTTS-Eval 综合评测框架
TTS Eval - EmergentTTS-Eval 综合评测框架 🔗 GitHub: https://github.com/boson-ai/EmergentTTS-Eval-public 📄 论文: arXiv:2505.23009 | 机构: Boson AI | 发布: 2025年5月 大型语言模型(LLM) 迭代生成 1,645 个多样化测试用例,涵盖情感、副语言、外来词、句法复杂性、复杂发音和问题六个关键场景 采用 模型即评判者(model-as-a-judge) 方法,利用大型音频语言模型(LALM)评估语音的多个维度,如表达的情感、韵律、语调和发音准确性 文本标准化(Text Normalization):基本的 TN 技术不总是能改善模型在基准测试中的性能,甚至可能使其变差。例如,WeText 将 '$1,890.125375' 转换为 ‘one thousand eight hundred and ninety point one dollars twenty five thousand three hundred and seventy five’,这损害了 TTS 质量。使用 LLM(如 GPT-4.1-mini)作为 TN 能解决许多问题并显著提高胜率。 根据 EmergentTTS-Eval 的研究,“GPT-4o-mini-tts (Alloy voice) 开启强提示” 确实意味着:通过提供详细且有针对性的提示词,可以显著提升其在发音数学公式方面的准确性。 Prompt # Role You are a mathematical notation converter that transforms mathematical symbols and formulas into natural readable text for text-to-speech systems....
English:N+1 的复利
三大马车之一–English:N+1 的复利 English 这个世界上90%的信息都是 written in English 的。 可理解性输入 南加州大学的荣休教授斯蒂芬•克拉申(Stephen D.Krashen)博士的假说理论 罗肖尼 https://m.bilibili.com/video/BV1aD4y127GE 阅读篇 词汇积累 如何永久的记住一个单词? 推荐 medium https://medium.com/ 听力篇 精听 听写 Daily Dictation https://dailydictation.com/ 泛听 Podcast 通勤路上听,健身时候听 口语篇 AI 口语教练 付费版: ChatGPT通话模式 免费版: Pi https://pi.ai/discover 真人口语老师 性价比版: pdd 菲教 高价版: Cambly 欧美外教 口语练习 Elsa Speak AI 语音技术,发音纠正 个性化学习,大量的课程 实用性强,日常对话场景,职场英语训练 写作篇 积累自己的语料库 句乐部:https://julebu.co 改变 观看纯英文字幕的Youtube、Netflix 视频, 无字幕理解计算机科学领域内的英文视频, 阅读英文版技术博客、书籍。 雅思阅读均分:8.0 听力均分:7.0 Tips 把英文当成工具: 最好的情况下不是学习英文,而是使用英文学习自己喜欢的东西。 N+1 原则 学英语和健身中都隐含一种“难度分级”的方法。把当前自身能够做到的程度再加一点点难度,作为目标(N+1,踮踮脚能够到)。 比如学英语中的“做大量有趣的可理解输入”,对应到健身上可以叫“做大量有趣的可承受训练”: 与当前水平相匹配的那个难度,就像一个钩子(hook)。找到那个hook,走向更精进的地方。 细想一下,其实我们从小学到大学的课程分级,本身就是在帮我们做难度的「分级」。 联想:遇到问题时,尝试「目标拆解」、「分类」,找到合适的 N+1。
Fitness:N+1 的复利
三大马车之一–Fitness:N+1 的复利 Fitness 训练概况 微习惯 从徒手训练到健身房 新手上路,从观看健身视频开始, 实战类, 详细动作教程:凯圣王 https://m.bilibili.com/space/2100737396 日常类, 健身经验分享:烧毁一切就是美 https://m.bilibili.com/space/1024129080 理论类, 健身知识科普:仰望尾迹云 https://m.bilibili.com/space/1879203169 训练思路 数量 x 重量 = 训练容量 追求质量,放下虚荣心,比如卧推触胸、引体向上肩膀下回旋 简单的动作做高级 补剂 辨别智商税 关键因素
Docker
Docker Guidelines Dockerfile Best Practices Use Official Base Images Why: Official images are maintained and frequently updated, ensuring reliability and security. How: FROM node:14-alpine Minimize Image Size Why: Smaller images lead to faster deployments and reduced storage costs. How: Use minimal base images (e.g., Alpine Linux). Remove unnecessary packages and files. Combine commands to reduce layers. RUN apt-get update && \ apt-get install -y package1 package2 && \ rm -rf /var/lib/apt/lists/* Leverage Caching Why: Utilizing Docker’s layer caching speeds up builds....