From a9703158c1ae8aa70db23cfe9e18ed7858dd1729 Mon Sep 17 00:00:00 2001 From: zhouxun Date: Wed, 15 Jul 2026 09:42:29 +0800 Subject: [PATCH] Add four web and tool-use agent papers --- SESSION-HANDOFF.md | 20 +++ data/note-index.json | 150 ++++++++++++++++-- data/review-receipts/papers/appworld.json | 55 +++++++ data/review-receipts/papers/mind2web.json | 55 +++++++ data/review-receipts/papers/toolsandbox.json | 55 +++++++ data/review-receipts/papers/webarena.json | 55 +++++++ src/content/docs/about.md | 2 +- .../topic-papers-agents-and-llm-systems-01.md | 6 +- .../topic-papers-agents-and-llm-systems-02.md | 8 +- src/content/docs/career-plan.md | 2 +- src/content/docs/index.md | 2 +- src/content/docs/method.md | 2 +- src/content/docs/papers-atlas.md | 12 +- src/content/docs/papers-method.md | 2 +- src/content/docs/papers-queue.md | 4 +- src/content/docs/papers/appworld.md | 140 ++++++++++++++++ src/content/docs/papers/mind2web.md | 141 ++++++++++++++++ src/content/docs/papers/toolsandbox.md | 140 ++++++++++++++++ src/content/docs/papers/webarena.md | 138 ++++++++++++++++ src/content/docs/queue.md | 4 +- 20 files changed, 962 insertions(+), 31 deletions(-) create mode 100644 data/review-receipts/papers/appworld.json create mode 100644 data/review-receipts/papers/mind2web.json create mode 100644 data/review-receipts/papers/toolsandbox.json create mode 100644 data/review-receipts/papers/webarena.json create mode 100644 src/content/docs/papers/appworld.md create mode 100644 src/content/docs/papers/mind2web.md create mode 100644 src/content/docs/papers/toolsandbox.md create mode 100644 src/content/docs/papers/webarena.md diff --git a/SESSION-HANDOFF.md b/SESSION-HANDOFF.md index 2ad61c8cf..adf5ce5ee 100644 --- a/SESSION-HANDOFF.md +++ b/SESSION-HANDOFF.md @@ -2,6 +2,26 @@ > 状态:当前接班入口。旧的批量生产 session 快照已失效,不得用于恢复自动循环;持续运行使用只读 supervisor + 有界 writer epoch。 +## 2026-07-15 继续推进 4 篇 web / app / tool-use 环境论文 + +- status:`local-ready`(已完成本地内容、receipt、atlas 和核心审计;远端 PR / merge / Pages deploy 仍以实时外部状态为准)。 +- 起始 ref:`aac96ba8b574509edf089c20732a17b19e98b487`(PR #34 merge 后的 `origin/main`)。 +- objective:在用户明确要求“继续推进”下,新增 4 篇 `study-v2` paper note,补强 web / app / tool-use agent 环境评测主线:`WebArena`、`Mind2Web`、`AppWorld`、`ToolSandbox`。 +- scope:允许新增 `src/content/docs/papers/*.md`、`data/review-receipts/papers/*.json`,刷新 `data/note-index.json`、papers atlas 派生页和公开计数文案;不修改候选队列、policy/threshold、既有论文正文语义。 +- activated_by:`explicit-user-request-2026-07-15-continue-study-round` +- review_after:`2026-07-15` +- acceptance_checks: + - `lr search arxiv` + arXiv API 元数据核验 4/4; + - `node scripts/quality-gate.mjs` 逐篇通过,行数分别为 139 / 142 / 141 / 141,无 advisory; + - `npm run audit:content-contract`:0 blocking,60 v2; + - `npm run atlas`:2032 notes,69 chunks; + - `npm run audit:counts`:projects=961、papers=1071、total=2032; + - `npm run audit:links` / `npm run audit:wikilinks`:无 blocking。 +- budget:1 个内容小批次、4 篇新增 paper、1 个可写切片、1 个本地 writer。 +- external_outcome:当前为本地 review-ready change set;PR、merge 和 Pages deploy 需要以单独外部动作完成并复核。 +- stop_conditions:规范工具链不可用;arXiv 来源不可核验;content contract / redline / strict build / verify:ci 失败且无法在 scope 内修复;需要改 policy/threshold、候选队列或敏感内容;用户停止。 +- superseded_by:`none` + ## 2026-07-14 总结不足后再推进 4 篇补强论文全流程完成记录 - status:`complete` diff --git a/data/note-index.json b/data/note-index.json index 9d757862b..cdb3e7694 100644 --- a/data/note-index.json +++ b/data/note-index.json @@ -3,16 +3,16 @@ "taxonomy_version": "taxonomy-v1", "stats": { "summary": { - "total": 2028, - "classified": 1981, + "total": 2032, + "classified": 1985, "unclassified": 47, "unknown_difficulty": 1975, "empty_description": 1970 }, "by_area": { "papers": { - "total": 1067, - "classified": 1048, + "total": 1071, + "classified": 1052, "unclassified": 19, "unknown_difficulty": 1014, "empty_description": 1013 @@ -1267,6 +1267,38 @@ "chunk_route": "/study/atlas/papers/topic-papers-distributed-systems-01/" } }, + { + "id": "papers::appworld", + "area": "papers", + "slug": "appworld", + "title": "AppWorld — 多 App 世界里的交互式代码 agent", + "description": "用 AppWorld 理解为什么工具调用 benchmark 需要状态、用户、多个 App 和可执行代码,而不是单轮 API 序列。", + "difficulty": "intermediate", + "canonical_topics": [ + "papers-agents-and-llm-systems" + ], + "classification": { + "state": "classified", + "source": "frontmatter-category", + "topic_id": "papers-agents-and-llm-systems", + "matched_category": "agent", + "raw_category": "AI Agent / App Benchmark" + }, + "trust": { + "contract_state": "v2", + "verification_status": "UNVERIFIED" + }, + "freshness": { + "state": "NOT_EVALUATED", + "reviewed_at": "2026-07-15", + "review_after": null + }, + "route": "/study/papers/appworld/", + "atlas": { + "chunk_id": "topic-papers-agents-and-llm-systems-01", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" + } + }, { "id": "papers::apron-2009", "area": "papers", @@ -20196,6 +20228,38 @@ "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" } }, + { + "id": "papers::mind2web", + "area": "papers", + "slug": "mind2web", + "title": "Mind2Web — 面向任意网站的泛化 web agent 数据集", + "description": "用 Mind2Web 理解 web agent 为什么要跨网站、跨领域、跨交互模式评估,而不是只在固定模拟站点里刷分。", + "difficulty": "intermediate", + "canonical_topics": [ + "papers-agents-and-llm-systems" + ], + "classification": { + "state": "classified", + "source": "frontmatter-category", + "topic_id": "papers-agents-and-llm-systems", + "matched_category": "agent", + "raw_category": "AI Agent / Web Dataset" + }, + "trust": { + "contract_state": "v2", + "verification_status": "UNVERIFIED" + }, + "freshness": { + "state": "NOT_EVALUATED", + "reviewed_at": "2026-07-15", + "review_after": null + }, + "route": "/study/papers/mind2web/", + "atlas": { + "chunk_id": "topic-papers-agents-and-llm-systems-01", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" + } + }, { "id": "papers::mine-octagon-2006", "area": "papers", @@ -31300,6 +31364,38 @@ "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" } }, + { + "id": "papers::toolsandbox", + "area": "papers", + "slug": "toolsandbox", + "title": "ToolSandbox — 状态化对话工具调用评测", + "description": "用 ToolSandbox 理解为什么工具调用 agent 需要测状态依赖、信息不足和多轮用户反馈,而不是只测单轮函数参数。", + "difficulty": "intermediate", + "canonical_topics": [ + "papers-agents-and-llm-systems" + ], + "classification": { + "state": "classified", + "source": "frontmatter-category", + "topic_id": "papers-agents-and-llm-systems", + "matched_category": "agent", + "raw_category": "AI Agent / Tool Use Benchmark" + }, + "trust": { + "contract_state": "v2", + "verification_status": "UNVERIFIED" + }, + "freshness": { + "state": "NOT_EVALUATED", + "reviewed_at": "2026-07-15", + "review_after": null + }, + "route": "/study/papers/toolsandbox/", + "atlas": { + "chunk_id": "topic-papers-agents-and-llm-systems-01", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" + } + }, { "id": "papers::tor-2004", "area": "papers", @@ -32061,8 +32157,8 @@ }, "route": "/study/papers/ul2-2022/", "atlas": { - "chunk_id": "topic-papers-agents-and-llm-systems-01", - "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" + "chunk_id": "topic-papers-agents-and-llm-systems-02", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-02/" } }, { @@ -32477,8 +32573,8 @@ }, "route": "/study/papers/vericache/", "atlas": { - "chunk_id": "topic-papers-agents-and-llm-systems-01", - "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" + "chunk_id": "topic-papers-agents-and-llm-systems-02", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-02/" } }, { @@ -32637,8 +32733,8 @@ }, "route": "/study/papers/visualwebarena/", "atlas": { - "chunk_id": "topic-papers-agents-and-llm-systems-01", - "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-01/" + "chunk_id": "topic-papers-agents-and-llm-systems-02", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-02/" } }, { @@ -33212,6 +33308,38 @@ "chunk_route": "/study/atlas/papers/topic-papers-databases-01/" } }, + { + "id": "papers::webarena", + "area": "papers", + "slug": "webarena", + "title": "WebArena — 可复现的真实网页 agent 环境", + "description": "用 WebArena 理解为什么 web agent 需要功能性网站、真实状态和可验证任务,而不只是静态网页问答。", + "difficulty": "intermediate", + "canonical_topics": [ + "papers-agents-and-llm-systems" + ], + "classification": { + "state": "classified", + "source": "frontmatter-category", + "topic_id": "papers-agents-and-llm-systems", + "matched_category": "agent", + "raw_category": "AI Agent / Web Benchmark" + }, + "trust": { + "contract_state": "v2", + "verification_status": "UNVERIFIED" + }, + "freshness": { + "state": "NOT_EVALUATED", + "reviewed_at": "2026-07-15", + "review_after": null + }, + "route": "/study/papers/webarena/", + "atlas": { + "chunk_id": "topic-papers-agents-and-llm-systems-02", + "chunk_route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-02/" + } + }, { "id": "papers::webgpt-2021", "area": "papers", @@ -64459,7 +64587,7 @@ "page": 2, "pages": 2, "route": "/study/atlas/papers/topic-papers-agents-and-llm-systems-02/", - "entries": 5 + "entries": 9 }, { "id": "topic-papers-ai-safety-and-interpretability-01", diff --git a/data/review-receipts/papers/appworld.json b/data/review-receipts/papers/appworld.json new file mode 100644 index 000000000..c2b5d1a3a --- /dev/null +++ b/data/review-receipts/papers/appworld.json @@ -0,0 +1,55 @@ +{ + "schema_version": "study-review-receipt-v1", + "generation": 1, + "predecessor_digest_sha256": null, + "note": { + "area": "papers", + "slug": "appworld", + "digest_sha256": "254e894a2e890269be2e2e8afe5c8048bb0b58312e654d8957ed4e85de2a7c35" + }, + "source_revision": "arXiv:2407.18901v1", + "research_input_sha256": "7b185f9f629cdbc118aca58bf18497249eafb3c9c559f925edad6de558dfe441", + "reviewers": [ + { + "role": "ZERO_BASE", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 87, + "warnings": [ + "Explains AppWorld through a toy multi-app task; AppWorld Engine was not installed or executed." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "MANUAL_SIMULATION" + } + }, + { + "role": "ENGINEER", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 85, + "warnings": [ + "Engineering claims are based on static paper reading; no task unit tests or API environment were run." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + }, + { + "role": "ACADEMIC", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 84, + "warnings": [ + "Citation identity was checked through arXiv metadata; benchmark scores are not independently reproduced." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + } + ], + "waivers": [], + "created_at": "2026-07-15T02:30:00.000Z" +} diff --git a/data/review-receipts/papers/mind2web.json b/data/review-receipts/papers/mind2web.json new file mode 100644 index 000000000..b8edfaca9 --- /dev/null +++ b/data/review-receipts/papers/mind2web.json @@ -0,0 +1,55 @@ +{ + "schema_version": "study-review-receipt-v1", + "generation": 1, + "predecessor_digest_sha256": null, + "note": { + "area": "papers", + "slug": "mind2web", + "digest_sha256": "032152e8528fe0876e98395ac366e0e884ce27ea400aa19a20af6201ed12a9e2" + }, + "source_revision": "arXiv:2306.06070v3", + "research_input_sha256": "7faecd18db9c826e7d617dfbb5b5182314c5140efdb6217a15f5b6578dd7268f", + "reviewers": [ + { + "role": "ZERO_BASE", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 86, + "warnings": [ + "Explains cross-website action sequences with a toy flight-search task; dataset was not downloaded." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "MANUAL_SIMULATION" + } + }, + { + "role": "ENGINEER", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 84, + "warnings": [ + "Engineering interpretation is based on static paper reading; no model evaluation or action prediction run was executed." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + }, + { + "role": "ACADEMIC", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 84, + "warnings": [ + "Citation identity was checked through arXiv metadata; reported dataset and benchmark results are not independently reproduced." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + } + ], + "waivers": [], + "created_at": "2026-07-15T02:30:00.000Z" +} diff --git a/data/review-receipts/papers/toolsandbox.json b/data/review-receipts/papers/toolsandbox.json new file mode 100644 index 000000000..cb9d69bc9 --- /dev/null +++ b/data/review-receipts/papers/toolsandbox.json @@ -0,0 +1,55 @@ +{ + "schema_version": "study-review-receipt-v1", + "generation": 1, + "predecessor_digest_sha256": null, + "note": { + "area": "papers", + "slug": "toolsandbox", + "digest_sha256": "8c638bbd3ff5ad8dd538e2439f6a7199bc323955db09d780f2cbb7b7cab23fd8" + }, + "source_revision": "arXiv:2408.04682v2", + "research_input_sha256": "1015433cc8422ed13d64c65a47cf2585ab42381ad184b2470cac79840fb685eb", + "reviewers": [ + { + "role": "ZERO_BASE", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 86, + "warnings": [ + "Explains stateful conversational tool use through a toy travel-assistant task; ToolSandbox was not executed." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "MANUAL_SIMULATION" + } + }, + { + "role": "ENGINEER", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 85, + "warnings": [ + "Engineering interpretation is static; no tool trajectory, user simulator, or dynamic milestone evaluation was run." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + }, + { + "role": "ACADEMIC", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 84, + "warnings": [ + "Citation identity was checked through arXiv metadata; benchmark results are not independently reproduced." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + } + ], + "waivers": [], + "created_at": "2026-07-15T02:30:00.000Z" +} diff --git a/data/review-receipts/papers/webarena.json b/data/review-receipts/papers/webarena.json new file mode 100644 index 000000000..bffd2a682 --- /dev/null +++ b/data/review-receipts/papers/webarena.json @@ -0,0 +1,55 @@ +{ + "schema_version": "study-review-receipt-v1", + "generation": 1, + "predecessor_digest_sha256": null, + "note": { + "area": "papers", + "slug": "webarena", + "digest_sha256": "35de555e7e51da2ce16f9fc2ea92812d35a1d7db0772a71ac3ce820c442067a3" + }, + "source_revision": "arXiv:2307.13854v4", + "research_input_sha256": "0e62a48b0e9674a8d4ab4145436ec2a6a90f569e81c41f4c760d0b662c625a7a", + "reviewers": [ + { + "role": "ZERO_BASE", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 86, + "warnings": [ + "Explains WebArena with a toy e-commerce task; no WebArena environment was deployed." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "MANUAL_SIMULATION" + } + }, + { + "role": "ENGINEER", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 84, + "warnings": [ + "Engineering claims are limited to static paper reading; no browser trajectory or service stack was run." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + }, + { + "role": "ACADEMIC", + "reviewer_version": "study-static-review-20260715-web-tool-env-round", + "decision": "PASS_WITH_NOTES", + "score": 84, + "warnings": [ + "Citation identity was checked through arXiv metadata; benchmark results are not independently reproduced." + ], + "execution": { + "review_mode": "STATIC_REVIEW", + "code_mode": "NOT_APPLICABLE" + } + } + ], + "waivers": [], + "created_at": "2026-07-15T02:30:00.000Z" +} diff --git a/src/content/docs/about.md b/src/content/docs/about.md index f066f34a7..c66420e08 100644 --- a/src/content/docs/about.md +++ b/src/content/docs/about.md @@ -14,7 +14,7 @@ sidebar: 写到今天的硬数字: -- **1067 篇论文笔记** + **961 篇项目笔记**,合计 **2000+ 篇** +- **1071 篇论文笔记** + **961 篇项目笔记**,合计 **2000+ 篇** - 横跨 19 个主题:分布式系统 76 / 编程语言 76 / 数据库 47 / 操作系统 46 / 机器学习 44 / 区块链 44 / 后端 API 40 / 基础设施 38 / 网络协议 37 / 图形学 36 / 形式化方法 27 / 通信 27 / 信息检索 25 / Agent 24 / CLI 23 / NLP 11 / 编译器 11 / 等 - 近 30 天集中产出:基础设施(444 commits)、编译器与 PL(72)、自演化 Agent(10+ 新建)、分布式(47)、区块链(44) diff --git a/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-01.md b/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-01.md index 981c0e9e5..960b3b0f1 100644 --- a/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-01.md +++ b/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-01.md @@ -19,6 +19,7 @@ sidebar: | [Agentless — 反 Agent 派的 SWE-bench 解法](/study/papers/agentless/) | `agentless` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [Anthropic Prompt Caching — 让长 prompt 只算一次,后续只付 10%](/study/papers/anthropic-prompt-caching/) | `anthropic-prompt-caching` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [APEX — 给自进化 agent 配一张"策略图"防止它走老路](/study/papers/apex-policy-exploration/) | `apex-policy-exploration` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | +| [AppWorld — 多 App 世界里的交互式代码 agent](/study/papers/appworld/) | `appworld` | intermediate | UNVERIFIED | 用 AppWorld 理解为什么工具调用 benchmark 需要状态、用户、多个 App 和可执行代码,而不是单轮 API 序列 | | [AutoGen — 多智能体对话框架](/study/papers/autogen/) | `autogen` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [AWQ — 看激活脸色给权重打折](/study/papers/awq/) | `awq` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [AWQ 2023 — 把 70B 大模型权重压到 35GB](/study/papers/awq-2023/) | `awq-2023` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | @@ -53,6 +54,7 @@ sidebar: | [MemGym — 给长程 agent memory 做一间健身房](/study/papers/memgym/) | `memgym` | intermediate | UNVERIFIED | 用 MemGym 区分聊天记忆、执行记忆和可迁移的 agent 经验 | | [MetaGPT — 多智能体软件公司](/study/papers/metagpt/) | `metagpt` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [MIND-Skill — 用归纳和演绎双 agent 抽 skill 并保证质量](/study/papers/mind-skill/) | `mind-skill` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | +| [Mind2Web — 面向任意网站的泛化 web agent 数据集](/study/papers/mind2web/) | `mind2web` | intermediate | UNVERIFIED | 用 Mind2Web 理解 web agent 为什么要跨网站、跨领域、跨交互模式评估,而不是只在固定模拟站点里刷分 | | [Minerva — 把语言模型拉进数学草稿纸](/study/papers/minerva-2022/) | `minerva-2022` | advanced | UNVERIFIED | 用 Minerva 理解为什么数学推理需要专门的数据、逐步解题和采样验证 | | [Misevolution — 自进化 agent 也会"越改越坏",连顶配模型也躲不过](/study/papers/misevolution-2509/) | `misevolution-2509` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [Mistral 7B — 小模型靠架构细节打出性价比](/study/papers/mistral-7b-2023/) | `mistral-7b-2023` | intermediate | UNVERIFIED | 用 Mistral 7B 理解 grouped-query attention 和 sliding-window attention 如何服务高效开源模型 | @@ -107,11 +109,9 @@ sidebar: | [ToolBench-X — 工具会坏时,agent 还能不能把事做完](/study/papers/toolbench-x/) | `toolbench-x` | intermediate | UNVERIFIED | 用 ToolBench-X 理解 tool-use benchmark 为什么要模拟规格漂移、调用错误、执行失败和结果冲突 | | [Toolformer — 教 LLM 自主调用 API](/study/papers/toolformer/) | `toolformer` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [ToolLLM — 用 16000+ API 训练模型进入真实工具世界](/study/papers/toolllm-2023/) | `toolllm-2023` | intermediate | UNVERIFIED | 用 ToolLLM 理解大规模 API 数据集、工具检索和工具评测如何支撑 agent | +| [ToolSandbox — 状态化对话工具调用评测](/study/papers/toolsandbox/) | `toolsandbox` | intermediate | UNVERIFIED | 用 ToolSandbox 理解为什么工具调用 agent 需要测状态依赖、信息不足和多轮用户反馈,而不是只测单轮函数参数 | | [ToxiGen — 用生成模型造隐性仇恨测试集](/study/papers/toxigen-2022/) | `toxigen-2022` | intermediate | UNVERIFIED | 用 ToxiGen 理解安全评测为什么要覆盖隐性、对抗性和群体相关文本 | | [Tree of Thoughts — 让 LLM 像下棋一样多想几步再答](/study/papers/tree-of-thoughts-2023/) | `tree-of-thoughts-2023` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [TruthfulQA — 专门问模型容易学人类谬误的问题](/study/papers/truthfulqa-2021/) | `truthfulqa-2021` | intermediate | UNVERIFIED | 用 TruthfulQA 理解语言模型为什么会模仿常见假话而不是坚持事实 | -| [UL2 — 一个模型同时练完补空、续写和长文本](/study/papers/ul2-2022/) | `ul2-2022` | advanced | UNVERIFIED | 用 UL2 理解 mixture-of-denoisers 如何统一不同语言模型训练范式 | -| [VeriCache: Turning Lossy KV Cache into Lossless LLM Inference — 有损压缩草稿,无损输出验收](/study/papers/vericache/) | `vericache` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | -| [VisualWebArena — 让网页 agent 真正看见界面](/study/papers/visualwebarena/) | `visualwebarena` | intermediate | UNVERIFIED | 用 VisualWebArena 理解多模态 web agent 为什么不能只读 DOM 文本,还要处理视觉线索 | [下一组](/study/atlas/papers/topic-papers-agents-and-llm-systems-02/) diff --git a/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-02.md b/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-02.md index 1cd98d219..c74b4afcd 100644 --- a/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-02.md +++ b/src/content/docs/atlas/papers/topic-papers-agents-and-llm-systems-02.md @@ -1,6 +1,6 @@ --- title: "智能体与 LLM 系统 · 论文 · 第 2 组" -description: "5 条 智能体与 LLM 系统 Atlas 分块" +description: "9 条 智能体与 LLM 系统 Atlas 分块" sidebar: hidden: true --- @@ -9,11 +9,15 @@ sidebar: [返回论文全景索引](/study/papers-atlas/) -本分块共 5 条,稳定上限为 100 条。 +本分块共 9 条,稳定上限为 100 条。 | 论文 | Slug | 难度 | 可信状态 | 简介 | |---|---|---|---|---| +| [UL2 — 一个模型同时练完补空、续写和长文本](/study/papers/ul2-2022/) | `ul2-2022` | advanced | UNVERIFIED | 用 UL2 理解 mixture-of-denoisers 如何统一不同语言模型训练范式 | +| [VeriCache: Turning Lossy KV Cache into Lossless LLM Inference — 有损压缩草稿,无损输出验收](/study/papers/vericache/) | `vericache` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | +| [VisualWebArena — 让网页 agent 真正看见界面](/study/papers/visualwebarena/) | `visualwebarena` | intermediate | UNVERIFIED | 用 VisualWebArena 理解多模态 web agent 为什么不能只读 DOM 文本,还要处理视觉线索 | | [Voyager — LLM 终身学习智能体](/study/papers/voyager/) | `voyager` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | +| [WebArena — 可复现的真实网页 agent 环境](/study/papers/webarena/) | `webarena` | intermediate | UNVERIFIED | 用 WebArena 理解为什么 web agent 需要功能性网站、真实状态和可验证任务,而不只是静态网页问答 | | [WebGPT — 让模型带着浏览器回答问题](/study/papers/webgpt-2021/) | `webgpt-2021` | intermediate | UNVERIFIED | 用 WebGPT 理解检索、引用和人类偏好如何组合成可追溯问答 | | [WebXSkill — 给 Web agent 的可执行 skill 是参数化代码 + URL 图索引](/study/papers/webxskill/) | `webxskill` | unknown | UNVERIFIED | 暂无独立描述;可先从标题与正文定位开始。 | | [WizardLM — 用 Evol-Instruct 自动变难训练题](/study/papers/wizardlm-2023/) | `wizardlm-2023` | intermediate | UNVERIFIED | 用 WizardLM 理解 instruction 数据不只要多,还要逐步变复杂 | diff --git a/src/content/docs/career-plan.md b/src/content/docs/career-plan.md index 397bcd31a..9588b08c8 100644 --- a/src/content/docs/career-plan.md +++ b/src/content/docs/career-plan.md @@ -5,7 +5,7 @@ sidebar: order: 1 --- -> 本页是路径说明。具体笔记见左侧分组;当前规模 2000+ 篇(论文 1067 + 项目 961)。 +> 本页是路径说明。具体笔记见左侧分组;当前规模 2000+ 篇(论文 1071 + 项目 961)。 ## 1. 路径模型的演化 diff --git a/src/content/docs/index.md b/src/content/docs/index.md index 88fd40188..17607ae18 100644 --- a/src/content/docs/index.md +++ b/src/content/docs/index.md @@ -144,7 +144,7 @@ head: -

当前规模:1067 篇论文 + 961 个项目 = 2028 篇笔记,按 19 个主题组织。数量已移出首屏,只作为覆盖面证据。

+

当前规模:1071 篇论文 + 961 个项目 = 2032 篇笔记,按 19 个主题组织。数量已移出首屏,只作为覆盖面证据。

diff --git a/src/content/docs/method.md b/src/content/docs/method.md index 25902baf8..a6ac51200 100644 --- a/src/content/docs/method.md +++ b/src/content/docs/method.md @@ -11,7 +11,7 @@ sidebar: ## 顶层结论(先看) -- 这套方法跑过 **961 篇项目 + 1067 篇论文 = 2028 篇**笔记,跨 19 个一级主题、约 2028 行写作密度 +- 这套方法跑过 **961 篇项目 + 1071 篇论文 = 2032 篇**笔记,跨 19 个一级主题、约 2032 行写作密度 - 最常被跳过的层是 **Layer 4 改一处**——但每次跳过都让整篇笔记从"机制"退回"翻译" - 真正变成"门面级"反向引用枢纽的笔记([React](/study/projects/react/) 68 / [[pytorch]] 67 / [[kubernetes]] 66 / [[postgresql]] 66),无一例外都做过 L3+L4 双层 - L0 / L1 / L2 / L7 即使做得平庸也不致命;L3+L4 任一项缺失 = 整篇笔记掉档 diff --git a/src/content/docs/papers-atlas.md b/src/content/docs/papers-atlas.md index c37c108a1..2a9a0f14b 100644 --- a/src/content/docs/papers-atlas.md +++ b/src/content/docs/papers-atlas.md @@ -1,6 +1,6 @@ --- title: 论文全景索引 -description: 1067 篇论文的分块地图 · 稳定 taxonomy · 自动生成 +description: 1071 篇论文的分块地图 · 稳定 taxonomy · 自动生成 sidebar: order: 5 label: 论文全景索引 @@ -12,10 +12,10 @@ sidebar: ## 总览
-
1067论文总数
-
1048已有规范主题
+
1071论文总数
+
1052已有规范主题
19暂未收纳进主题路线
-
98.2%分类覆盖率(1048 / 1067,已分类 / 总数)
+
98.2%分类覆盖率(1052 / 1071,已分类 / 总数)
## 先选一条学习路径 @@ -41,7 +41,7 @@ Atlas 不替代精选路线。零基础读者先从下面六条路径选一条 | 主题 | English | 数量 | 分块 | |---|---|---:|---| -| 智能体与 LLM 系统 | Agents and LLM Systems | 105 | [第 1/2 组](/study/atlas/papers/topic-papers-agents-and-llm-systems-01/) · [第 2/2 组](/study/atlas/papers/topic-papers-agents-and-llm-systems-02/) | +| 智能体与 LLM 系统 | Agents and LLM Systems | 109 | [第 1/2 组](/study/atlas/papers/topic-papers-agents-and-llm-systems-01/) · [第 2/2 组](/study/atlas/papers/topic-papers-agents-and-llm-systems-02/) | | NLP 基础与 Scaling | NLP Foundations and Scaling | 114 | [第 1/2 组](/study/atlas/papers/topic-papers-nlp-foundations-and-scaling-01/) · [第 2/2 组](/study/atlas/papers/topic-papers-nlp-foundations-and-scaling-02/) | | 计算机视觉 | Computer Vision | 11 | [第 1/1 组](/study/atlas/papers/topic-papers-computer-vision-01/) | | 生成模型 / 扩散 | Generative Models and Diffusion | 14 | [第 1/1 组](/study/atlas/papers/topic-papers-generative-models-and-diffusion-01/) | @@ -79,4 +79,4 @@ Atlas 不替代精选路线。零基础读者先从下面六条路径选一条 - difficulty 未知:1014 - description 为空:1013 -- sidecar 主键:1067 个唯一 `area::slug` +- sidecar 主键:1071 个唯一 `area::slug` diff --git a/src/content/docs/papers-method.md b/src/content/docs/papers-method.md index 8d5963fbf..6413ae574 100644 --- a/src/content/docs/papers-method.md +++ b/src/content/docs/papers-method.md @@ -11,7 +11,7 @@ sidebar: ## 站点的论文体量 -截至 2026-07,论文目录共 1067 篇笔记,覆盖: +截至 2026-07,论文目录共 1071 篇笔记,覆盖: - 分布式系统 76 篇([[paxos-1998]] / [[raft]] / [[lamport-1978]] / [[spanner-2012]]) - 编程语言 + 类型论 76 篇([[hindley-milner]] / [[lambda-calculus]] / [[hoare-logic]]) diff --git a/src/content/docs/papers-queue.md b/src/content/docs/papers-queue.md index 104833302..4499f5919 100644 --- a/src/content/docs/papers-queue.md +++ b/src/content/docs/papers-queue.md @@ -5,7 +5,7 @@ sidebar: order: 4 --- -> 站内累计 1067 篇论文笔记,跨 14 个主题。这页不是"待读清单",是 +> 站内累计 1071 篇论文笔记,跨 14 个主题。这页不是"待读清单",是 > **入门指引** —— 每个 topic 给 3-5 篇 pillar 论文 + 一行说明它 > 为什么是该 topic 的支点。看完一条主线的 pillar,你就拿到了 > 该 topic 整张反向链接图的入口。 @@ -13,7 +13,7 @@ sidebar: ## 怎么用这页 - 不知道某个 topic 从哪读 → 来这里挑该主题 3-5 篇 pillar -- 想看完整 1067 篇分布与主题地图 → [papers-atlas](/study/papers-atlas/) +- 想看完整 1071 篇分布与主题地图 → [papers-atlas](/study/papers-atlas/) - 想要"如何精读一篇论文"的方法 → [papers-method](/study/papers-method/) - 想看跨论文 + 项目的混合阅读节奏 → [queue](/study/queue/) diff --git a/src/content/docs/papers/appworld.md b/src/content/docs/papers/appworld.md new file mode 100644 index 000000000..d0d93a949 --- /dev/null +++ b/src/content/docs/papers/appworld.md @@ -0,0 +1,140 @@ +--- +title: 'AppWorld — 多 App 世界里的交互式代码 agent' +description: '用 AppWorld 理解为什么工具调用 benchmark 需要状态、用户、多个 App 和可执行代码,而不是单轮 API 序列。' +来源: 'Trivedi et al., arXiv:2407.18901' +日期: 2026-07-15 +分类: AI Agent / App Benchmark +难度: 中级 +difficulty: intermediate +trust: + version: study-v2 + source_kind: paper + note_type: paper + canonical_source: https://arxiv.org/abs/2407.18901v1 + source_authority: AUTHOR_PRIMARY + accessed_at: '2026-07-15' + publication_id: arXiv:2407.18901 + source_version: arXiv:2407.18901v1 + evidence_type: STATIC_ANALYSIS + verification_status: UNVERIFIED + reviewed_at: '2026-07-15' + review_after: null + applicable_version: arXiv v1 +--- + +## 是什么 + +AppWorld: A Controllable World of Apps and People for Benchmarking Interactive Coding Agents 是一个评估交互式 coding agent 的环境和 benchmark。它构造了 9 个日常 App、457 个 API、约 100 个虚构用户,以及 750 个自然语言任务。 + +类比:普通 tool-use benchmark 像让你照菜单调用几个函数;AppWorld 更像给你一部装满 App 的手机和一群虚构用户,让你写代码跨购物、消息、日历、笔记等系统完成任务。 + +本卡只基于 arXiv v1 和论文静态阅读整理,没有安装 AppWorld Engine,也没有运行任务单测。所有结果保持 `UNVERIFIED`。 + +## 问题是什么 + +很多工具调用评测太简单:用户说一句话,模型按顺序调用几个 API,然后看参数是否正确。但真实数字任务往往是状态化、多 App、多用户、多步骤的。比如“给家里买晚饭并通知所有人”,可能要查联系人、查偏好、下单、写消息、处理库存和支付状态。 + +AppWorld 的问题是:能不能构造一个可控的数字世界,让 agent 必须通过代码和 API 交互完成真实日常任务,并用程序化测试判断结果? + +它补上了 [[toolsandbox]] 与 [[webarena]] 之间的一块:不是网页点击,也不只是函数调用,而是用代码操作一组状态化 App。 + +## 为什么重要 + +- 它把 tool use 从单 API 序列推进到多 App 状态世界。 +- 它要求 agent 生成有控制流的代码,而不是只填函数参数。 +- 它用虚构用户和数字活动模拟真实生活状态。 +- 它支持程序化 evaluation,比人工看轨迹更稳定。 +- 它解释了为什么后续 agent RL / skill 论文喜欢用 AppWorld 做任务环境。 + +## 核心方法 + +| 组件 | 作用 | 我怎么理解 | +|---|---|---| +| AppWorld Engine | 9 个 App + 457 APIs | 给 agent 一个可控数字世界 | +| fictitious users | 约 100 个虚构用户 | 让任务有联系人、偏好和历史状态 | +| natural tasks | 750 个任务 | 任务不只是函数调用题 | +| interactive code generation | agent 写代码并迭代执行 | 测规划、编程和环境反馈 | +| programmatic tests | 自动检查最终状态 | 减少只看轨迹的主观性 | + +AppWorld 的关键词是 state。工具调用一旦有状态,顺序、条件判断、异常处理和最终验证都会变重要。 + +## 论文地形 + +1. 引言指出现有工具调用 benchmark 过于单步和无状态。 +2. Engine 章节说明 App、API、用户和数据世界如何构造。 +3. Benchmark 章节介绍 750 个任务和测试方式。 +4. Baseline 章节比较交互式 coding agent 的表现。 +5. 分析章节讨论任务复杂度、错误类型和执行反馈。 + +读这篇时要注意它把 agent 定义成“会写代码操作环境”的系统,而不是只会返回 tool call JSON 的模型。 + +## 手工 toy 复现 + +我用一个极小 AppWorld-like 任务手推: + +任务:把 Alice 的 Spotify 歌单备份成 CSV,发给 Bob,然后注销 Alice 的音乐账号。 + +| 子任务 | 需要的 App / API | 难点 | +|---|---|---| +| 查 Alice 身份 | contacts / users | 名字到用户 ID | +| 读取歌单 | music API | 分页和权限 | +| 生成 CSV | 文件 / 代码 | 数据格式 | +| 发给 Bob | messaging / email | 联系人解析 | +| 注销账号 | account API | 顺序和确认 | +| 验证结果 | tests | 文件、消息、账号状态都要对 | + +单轮 tool call 评测很难覆盖这个流程,因为每一步依赖上一步状态。AppWorld 的价值就在于把这种状态链变成可测任务。 + +## 评测读法 + +读 AppWorld 结果时,我会重点看三件事: + +1. agent 是否能写出可执行代码,而不是只描述流程。 +2. agent 是否会读取环境反馈并修正代码。 +3. 最终测试覆盖的是单个 API 结果,还是跨 App 状态一致性。 + +如果一个 agent 能在简单 function calling benchmark 上高分,但在 AppWorld 上失败,通常说明它缺少状态建模、控制流和调试能力。 + +## 踩过的坑 + +1. **不要把 API 调用当成无状态动作**:真实 App 会记住历史和副作用。 +2. **不要忽略用户模型**:联系人、偏好、权限会改变任务含义。 +3. **不要只看单步准确率**:多步任务里一步错会连锁污染。 +4. **不要让 agent 只写伪代码**:AppWorld 测的是可执行代码和环境交互。 +5. **不要把虚构世界当真实业务**:它可控但仍是模拟环境。 + +## 与当前工作的连接 + +今天就能用:设计 tool-use agent 时,要把“状态一致性”写进验收。比如发消息任务不能只看调用了 send,还要看收件人、内容和后续状态。 + +下个月可以用:如果做内部 agent eval,可以建一个小型 AppWorld:3 个假 App、20 个 API、若干虚构用户,再用测试检查最终状态。 + +不要照搬:公司真实 App 有权限、隐私和审计要求。模拟世界能训练思路,但不能直接连接真实账户做自由探索。 + +## 学到什么 + +- 真正的工具调用难点是状态,而不是 JSON 格式。 +- 交互式 coding agent 需要读反馈、改代码、再执行。 +- AppWorld 是连接 function calling、coding agent 和数字任务自动化的重要 benchmark。 +- 它和 [[toolsandbox]] 互补:ToolSandbox 偏对话式工具使用,AppWorld 偏多 App 代码执行。 + +## 延伸阅读 + +- 原文: +- 本卡使用版本: +- [[toolsandbox]]:状态化、对话式工具使用 benchmark。 +- [[toolllm-2023]]:工具学习和 ToolBench 方向。 +- [[toolformer]]:工具使用能力训练的早期路线。 +- [[terminal-bench]]:终端环境里的长程执行评测。 + +## 关联 + +- [[toolsandbox]] +- [[toolllm-2023]] +- [[toolformer]] +- [[terminal-bench]] +- [[mle-bench]] + +## 反向链接 + + diff --git a/src/content/docs/papers/mind2web.md b/src/content/docs/papers/mind2web.md new file mode 100644 index 000000000..876406fcb --- /dev/null +++ b/src/content/docs/papers/mind2web.md @@ -0,0 +1,141 @@ +--- +title: 'Mind2Web — 面向任意网站的泛化 web agent 数据集' +description: '用 Mind2Web 理解 web agent 为什么要跨网站、跨领域、跨交互模式评估,而不是只在固定模拟站点里刷分。' +来源: 'Deng et al., arXiv:2306.06070' +日期: 2026-07-15 +分类: AI Agent / Web Dataset +难度: 中级 +difficulty: intermediate +trust: + version: study-v2 + source_kind: paper + note_type: paper + canonical_source: https://arxiv.org/abs/2306.06070v3 + source_authority: AUTHOR_PRIMARY + accessed_at: '2026-07-15' + publication_id: arXiv:2306.06070 + source_version: arXiv:2306.06070v3 + evidence_type: STATIC_ANALYSIS + verification_status: UNVERIFIED + reviewed_at: '2026-07-15' + review_after: null + applicable_version: arXiv v3 +--- + +## 是什么 + +Mind2Web: Towards a Generalist Agent for the Web 是一个面向通用 web agent 的数据集和评测工作。它收集了 137 个真实网站、31 个领域、超过 2,000 个开放任务,并配有人类标注的 action sequences。 + +类比:[[webarena]] 像建一套可复现的训练场;Mind2Web 更像收集很多真实城市里的导航录像。前者强调环境可控,后者强调网站多样性和泛化。 + +本卡只基于 arXiv v3 和论文静态阅读整理,没有下载 Mind2Web 数据集,也没有训练或评估 web agent。所有结论保持 `UNVERIFIED`。 + +## 问题是什么 + +Web agent 如果只在少数模拟网站上训练,很容易学会固定页面结构,而不是学会“任何网站都能看懂”。真实互联网有不同 DOM 结构、按钮命名、表单布局、业务词汇和交互流程。 + +Mind2Web 的问题是:怎样构造一个足够多样的数据集,让 agent 学到跨网站泛化,而不是记住几个固定环境? + +这和 WebArena 形成互补:WebArena 解决“真实 + 可复现环境”,Mind2Web 解决“多网站 + 多领域泛化数据”。 + +## 为什么重要 + +- 它把 web agent 的目标从单站点成功推进到跨站点泛化。 +- 它覆盖 137 个网站和 31 个领域,降低模板记忆风险。 +- 它提供人类 action sequences,适合研究 action grounding 和 imitation learning。 +- 它暴露真实网页 HTML 太长、太噪、太动态的问题。 +- 它给后续多模态 web agent 和 generalist web agent 提供了基础数据视角。 + +## 核心方法 + +| 组件 | 作用 | 我怎么理解 | +|---|---|---| +| open-ended tasks | 用户自然语言任务 | 比固定问答更接近真实需求 | +| real-world websites | 真实网站而非简化环境 | 保留复杂 DOM 和业务流程 | +| crowdsourced action sequences | 人类操作轨迹 | 给 agent 学“下一步点哪里” | +| cross-domain split | 跨网站、跨领域评估 | 测泛化而不是背题 | + +Mind2Web 的关键在于 action sequence。它不只告诉模型最终答案,还记录人类如何一步步完成任务。对 web agent 来说,这种轨迹比单条标签更重要。 + +## 论文地形 + +1. 引言说明现有 web agent 数据集过窄或过假。 +2. Dataset 章节介绍网站、任务、领域和动作标注。 +3. Modeling 章节探索 LLM 如何基于 HTML / candidates 做 action prediction。 +4. Evaluation 章节设计跨任务、跨网站、跨领域 split。 +5. 分析章节讨论 HTML 长度、候选动作和泛化失败。 + +读这篇时要关注 split 设计。一个 web agent 在同网站新任务上好,不代表能去陌生网站工作;跨网站、跨领域才是它想测的泛化能力。 + +## 手工 toy 复现 + +我用一个小任务模拟 Mind2Web 的 action sequence: + +任务:在一个航空网站上查找“下周五从 A 到 B 的最早航班”。 + +| 人类动作 | agent 要学的东西 | +|---|---| +| 点击出发地输入框 | 找到语义匹配元素 | +| 输入 A | 填表动作 | +| 点击目的地输入框 | 在相似元素中定位 | +| 输入 B | 保持任务状态 | +| 打开日期选择器 | 处理复杂控件 | +| 选择下周五 | 时间表达转换 | +| 点击搜索 | 完成流程 | +| 读取最早航班 | 从结果页抽取目标 | + +如果换到酒店网站,按钮、表单、日期控件全变了,但任务结构类似。Mind2Web 要测的就是这种“换网站后还能不能迁移”。 + +## 评测读法 + +Mind2Web 的结果不能只看总体 accuracy。更重要的是: + +1. 跨 task split 是否明显好于跨 website / cross-domain。 +2. 失败是否来自候选元素召回,还是 action ranking。 +3. HTML 截断和页面噪声对模型影响多大。 + +如果一个方法在同网站新任务上很强,但跨领域急剧下降,它更像站点脚本增强,不是真正 generalist web agent。 + +## 踩过的坑 + +1. **不要把同网站泛化当通用泛化**:页面模板没变时任务容易很多。 +2. **不要忽略候选元素生成**:action prediction 的上限常被候选召回卡住。 +3. **不要把 HTML 当干净输入**:真实网页 DOM 又长又乱。 +4. **不要只学点击序列**:任务理解、状态跟踪和结果验证同样重要。 +5. **不要忘记动态网页**:数据集轨迹是快照,真实运行还会遇到加载和弹窗。 + +## 与当前工作的连接 + +今天就能用:做网页自动化时,不要只在一个内部页面上测成功。至少要换页面模板、换字段名、换流程顺序,看 agent 是否仍能泛化。 + +下个月可以用:如果要积累 web agent 数据,Mind2Web 提醒我们记录完整 action sequence,而不是只保存最终截图和结果。 + +不要照搬:真实网站数据涉及版权、账号、隐私和变化频率。内部数据集要先定义可采集范围和脱敏规则。 + +## 学到什么 + +- web agent 的泛化核心是跨网站、跨领域、跨交互模式。 +- 轨迹数据比单步答案更能训练 agent。 +- Mind2Web 和 [[webarena]] 是两种互补范式:一个偏真实多样数据,一个偏可复现环境。 +- 后续 [[visualwebarena]] 可以看成把视觉 grounding 加进这条线。 + +## 延伸阅读 + +- 原文: +- 本卡使用版本: +- [[webarena]]:可复现真实网页环境。 +- [[visualwebarena]]:多模态视觉网页任务。 +- [[webxskill]]:网页 skill 复用。 +- [[react-agent]]:agent 动作循环基础。 + +## 关联 + +- [[webarena]] +- [[visualwebarena]] +- [[webxskill]] +- [[react-agent]] +- [[toolformer]] + +## 反向链接 + + diff --git a/src/content/docs/papers/toolsandbox.md b/src/content/docs/papers/toolsandbox.md new file mode 100644 index 000000000..ecc130c3b --- /dev/null +++ b/src/content/docs/papers/toolsandbox.md @@ -0,0 +1,140 @@ +--- +title: 'ToolSandbox — 状态化对话工具调用评测' +description: '用 ToolSandbox 理解为什么工具调用 agent 需要测状态依赖、信息不足和多轮用户反馈,而不是只测单轮函数参数。' +来源: 'Lu et al., arXiv:2408.04682' +日期: 2026-07-15 +分类: AI Agent / Tool Use Benchmark +难度: 中级 +difficulty: intermediate +trust: + version: study-v2 + source_kind: paper + note_type: paper + canonical_source: https://arxiv.org/abs/2408.04682v2 + source_authority: AUTHOR_PRIMARY + accessed_at: '2026-07-15' + publication_id: arXiv:2408.04682 + source_version: arXiv:2408.04682v2 + evidence_type: STATIC_ANALYSIS + verification_status: UNVERIFIED + reviewed_at: '2026-07-15' + review_after: null + applicable_version: arXiv v2 +--- + +## 是什么 + +ToolSandbox: A Stateful, Conversational, Interactive Evaluation Benchmark for LLM Tool Use Capabilities 是一个评估 LLM 工具使用能力的 benchmark。它强调三件事:工具有状态、对话是多轮的、评价要看中间里程碑和最终结果。 + +类比:普通 function calling benchmark 像考“这个函数该传什么参数”;ToolSandbox 更像让客服一边和用户聊天,一边查系统、改系统、处理用户改口,还要确保每一步没有把状态搞乱。 + +本卡只基于 arXiv v2 和论文静态阅读整理,没有运行 ToolSandbox 环境,也没有执行任何工具轨迹。所有结论保持 `UNVERIFIED`。 + +## 问题是什么 + +早期工具调用评测常常是 stateless:给模型一个用户请求,模型输出一个函数名和参数,评分器比对答案。但真实工具使用有状态和对话:用户会补充信息,工具结果会改变后续可用信息,某些任务缺必要参数,模型应该追问而不是乱调用。 + +ToolSandbox 的问题是:如何系统评估 LLM agent 在状态化、多轮、可交互工具环境里的能力? + +这和 [[appworld]] 很接近,但角度不同。AppWorld 更强调写代码操作多个 App;ToolSandbox 更强调 conversational tool use:用户模拟器、状态依赖、信息不足和轨迹中的动态评价。 + +## 为什么重要 + +- 它把 tool use 从单轮参数匹配推进到多轮对话执行。 +- 它显式测试 state dependency:先前工具调用会改变后续世界。 +- 它包含 insufficient information:信息不足时 agent 应该追问。 +- 它用 user simulator 支持 on-policy conversational evaluation。 +- 它比离线轨迹重放更接近真实 agent 产品。 + +## 核心方法 + +| 组件 | 作用 | 工程直觉 | +|---|---|---| +| stateful tool execution | 工具调用改变环境状态 | 调用顺序和副作用重要 | +| user simulator | 模拟多轮用户反馈 | 评估追问和澄清 | +| dynamic evaluation | 检查中间和最终 milestone | 不只看最后一句 | +| task categories | State Dependency / Canonicalization / Insufficient Information 等 | 把失败类型拆开 | + +ToolSandbox 的贡献不是又加一套函数列表,而是把“工具调用是对话里的状态机”这件事变成 benchmark。 + +## 论文地形 + +1. 引言说明单轮、无状态工具评测的不足。 +2. Benchmark 设计介绍工具、状态、用户模拟器和任务类别。 +3. Evaluation strategy 说明如何检查中间与最终里程碑。 +4. Baseline 章节比较开源和闭源模型表现。 +5. 分析章节讨论复杂任务类别为什么仍然困难。 + +读这篇时,我会把它当作 tool-use 产品测试清单:状态、追问、规范化、错误恢复、最终验证,每一项都能映射到真实客服 / 助手场景。 + +## 手工 toy 复现 + +我用一个小型出行助手任务手推 ToolSandbox: + +用户:帮我预订明早去机场的车。 + +| 回合 | agent 应该做什么 | ToolSandbox 能测什么 | +|---|---|---| +| 用户没给城市 | 追问出发地 | insufficient information | +| 用户说“从公司” | 查公司地址 | canonicalization | +| agent 查天气 / 路况 | 获取外部状态 | tool result integration | +| agent 预订车辆 | 修改系统状态 | state dependency | +| 用户改口“改成 7 点” | 修改已有订单 | conversational update | +| 最终检查订单 | 地址、时间、乘客都匹配 | final milestone | + +如果 agent 一开始就乱订,或者用户改口后又新建一个重复订单,这在单轮 function calling 里可能看不出来,但 ToolSandbox 会暴露。 + +## 评测读法 + +ToolSandbox 结果要按任务类别读: + +1. **State Dependency**:模型是否理解调用副作用。 +2. **Canonicalization**:模型能否把自然语言实体规范成系统实体。 +3. **Insufficient Information**:模型是否会追问,而不是编参数。 +4. **Intermediate Milestones**:模型是否中途已经偏离目标。 + +这些维度比总分更重要,因为它们对应不同修复策略:加 memory、加 schema、加 clarification policy,或加强工具返回解析。 + +## 踩过的坑 + +1. **不要把 tool call JSON 当能力本身**:真实能力在状态和对话里。 +2. **不要默认信息总是足够**:会追问比强行调用更安全。 +3. **不要忽略中间里程碑**:最后失败时,定位哪一步错很关键。 +4. **不要只重放固定轨迹**:on-policy 对话能暴露模型自己的决策错误。 +5. **不要把工具结果当纯文本**:工具结果往往改变后续可用动作。 + +## 与当前工作的连接 + +今天就能用:做工具调用 agent 时,给每个工具任务加“信息不足”用例,明确什么时候必须追问。 + +下个月可以用:设计内部 eval 时,可以把任务拆成 ToolSandbox 风格的里程碑:参数确认、状态修改、用户改口、最终检查。 + +不要照搬:公开 sandbox 的工具和用户模拟器不等于真实业务。真实产品还要处理权限、审计、敏感操作和人工确认。 + +## 学到什么 + +- 工具调用评测应该关注状态机,不只是函数签名。 +- 多轮用户反馈会显著增加 agent 难度。 +- ToolSandbox 和 [[appworld]] 共同说明:真实工具任务需要可执行环境和动态检查。 +- 对 study 来说,它补齐了 [[toolformer]] 与 [[toolllm-2023]] 之后的评测层。 + +## 延伸阅读 + +- 原文: +- 本卡使用版本: +- [[appworld]]:多 App、交互式 coding agent benchmark。 +- [[toolformer]]:工具使用训练路线。 +- [[toolllm-2023]]:ToolBench / ToolLLM 方向。 +- [[agent-planning-benchmark-2026]]:规划维度的 agent 诊断 benchmark。 + +## 关联 + +- [[appworld]] +- [[toolformer]] +- [[toolllm-2023]] +- [[agent-planning-benchmark-2026]] +- [[react-agent]] + +## 反向链接 + + diff --git a/src/content/docs/papers/webarena.md b/src/content/docs/papers/webarena.md new file mode 100644 index 000000000..323e867b4 --- /dev/null +++ b/src/content/docs/papers/webarena.md @@ -0,0 +1,138 @@ +--- +title: 'WebArena — 可复现的真实网页 agent 环境' +description: '用 WebArena 理解为什么 web agent 需要功能性网站、真实状态和可验证任务,而不只是静态网页问答。' +来源: 'Zhou et al., arXiv:2307.13854' +日期: 2026-07-15 +分类: AI Agent / Web Benchmark +难度: 中级 +difficulty: intermediate +trust: + version: study-v2 + source_kind: paper + note_type: paper + canonical_source: https://arxiv.org/abs/2307.13854v4 + source_authority: AUTHOR_PRIMARY + accessed_at: '2026-07-15' + publication_id: arXiv:2307.13854 + source_version: arXiv:2307.13854v4 + evidence_type: STATIC_ANALYSIS + verification_status: UNVERIFIED + reviewed_at: '2026-07-15' + review_after: null + applicable_version: arXiv v4 +--- + +## 是什么 + +WebArena: A Realistic Web Environment for Building Autonomous Agents 是一个面向网页 agent 的可复现环境和 benchmark。它不是抓几个网页截图让模型回答问题,而是搭建四类功能性网站:电商、论坛、协作软件开发、内容管理,并让 agent 在里面完成真实网页任务。 + +类比:静态网页 benchmark 像看菜单答题;WebArena 更像把你放进一套可操作的商店、论坛和后台系统,让你真的搜索、点击、提交、改状态。任务是否成功看最终网站状态,而不是看回答文字像不像。 + +本卡只基于 arXiv v4 和论文静态阅读整理,没有部署 WebArena 环境,也没有跑 browser trajectory。所有 benchmark 结论保持 `UNVERIFIED`。 + +## 问题是什么 + +早期 web agent 评测常有两个问题:环境太假,或者不可复现。太假的环境会把网页简化成少量按钮,模型学不到真实页面里的状态、导航和干扰;不可复现的真实网站又会改版、变慢、需要账号,导致实验难比较。 + +WebArena 的问题是:能不能构造一套既像真实网页、又能稳定复现和自动评分的 agent 环境? + +这正好接上上一轮的 [[visualwebarena]]。VisualWebArena 强调视觉 grounding,WebArena 更像底座:先有可操作、可复现、带状态的网站,再谈视觉、多模态和 skill 复用。 + +## 为什么重要 + +- 它把 web agent 从静态问答推进到真实状态改变。 +- 它保留多域网站:购物、论坛、开发协作和内容管理。 +- 它能自动检查功能正确性,而不是只看语言输出。 +- 它给后续 [[webxskill]]、[[visualwebarena]] 等工作提供共同环境。 +- 它提醒我们:web agent 的难点是“环境 + 动作 + 验收”,不是单步推理。 + +## 核心方法 + +| 设计 | 作用 | 工程直觉 | +|---|---|---| +| functional websites | 网站能被真实操作 | agent 的动作会改变状态 | +| four domains | 覆盖不同网页工作流 | 防止只学会一种页面结构 | +| external tools / knowledge | 加入地图、用户手册等辅助 | 模拟人类查资料完成任务 | +| functional correctness | 通过环境状态判定成功 | 让评分落到最终结果 | + +WebArena 的关键是可复现。真实互联网太动态,toy 环境太干净;它试图在两者之间找一个工程上能跑、研究上可比的平衡点。 + +## 论文地形 + +1. 引言解释真实网页任务和简化环境之间的落差。 +2. Environment 章节说明四类网站、外部工具和知识源。 +3. Benchmark task 章节定义任务、目标和评分。 +4. Baseline 章节展示当前 LLM agent 在环境里的表现。 +5. 分析章节讨论任务失败、动作空间和可复现性问题。 + +读这篇时不要只看成功率,要看它怎么把“网页”变成一个受控实验对象:服务怎么起、状态怎么改、任务怎么检查、外部知识怎么接入。 + +## 手工 toy 复现 + +我用一个极小电商任务手推 WebArena 的验收方式: + +任务:给账号 A 购买“低于 50 美元的蓝色鼠标垫”,并把收货地址改成用户手册里指定地址。 + +| 步骤 | agent 要做什么 | WebArena 视角 | +|---|---|---| +| 搜索商品 | 过滤价格和颜色 | 页面导航 + 条件理解 | +| 读外部手册 | 找到正确地址 | 外部知识使用 | +| 加入购物车 | 点击并保持状态 | 动作改变网站状态 | +| 提交订单 | 完成 checkout | 长程执行 | +| 检查数据库 / 页面状态 | 订单和地址匹配 | 功能正确性 | + +如果 agent 最后说“已购买”,但购物车为空,WebArena 会判失败。这就是环境 benchmark 和文本 benchmark 的差别。 + +## 评测读法 + +WebArena 结果通常要和三类失败一起读: + +1. **导航失败**:找不到正确页面或返回路径。 +2. **状态失败**:点了东西但最终状态不对。 +3. **知识失败**:没有正确使用用户手册、地图或页面外信息。 + +这三类对产品很有价值,因为它们对应不同修法:改 planner、改 browser tool、改 retrieval,还是改最终验收。 + +## 踩过的坑 + +1. **不要把网页当无状态文本**:网页操作会改变购物车、账号和后台记录。 +2. **不要忽略任务验收**:最终状态检查比 agent 汇报更可靠。 +3. **不要低估环境维护成本**:可复现网站需要数据、服务和版本管理。 +4. **不要把 WebArena 成功率当真实互联网成功率**:真实网站还会有登录、验证码、灰度和反爬。 +5. **不要只看 DOM**:这也是 [[visualwebarena]] 后来继续补视觉任务的原因。 + +## 与当前工作的连接 + +今天就能用:做浏览器 agent 或 UI 自动化时,先问“最终状态怎么验收”。如果只能看截图或文本回复,评测就容易被话术骗过。 + +下个月可以用:构造内部 web eval 时,可以参考 WebArena 的四件套:可控服务、初始数据、任务描述、终态检查。 + +不要照搬:公开 WebArena 的网站类型有限,不覆盖公司内部权限、真实用户数据和安全动作。内部落地要先做脱敏和权限边界。 + +## 学到什么 + +- Web agent benchmark 的核心资产是可复现环境。 +- 功能正确性比语言解释更接近真实交付。 +- WebArena 是 [[visualwebarena]] 和 [[webxskill]] 的重要上游。 +- 对 study 图谱来说,它补上了 web agent 环境层的地基。 + +## 延伸阅读 + +- 原文: +- 本卡使用版本: +- [[visualwebarena]]:在 WebArena 思路上补视觉 grounding。 +- [[webxskill]]:研究网页技能复用。 +- [[react-agent]]:think-act-observe 循环。 +- [[toolformer]]:工具使用训练路线。 + +## 关联 + +- [[visualwebarena]] +- [[webxskill]] +- [[react-agent]] +- [[toolformer]] +- [[osworld]] + +## 反向链接 + + diff --git a/src/content/docs/queue.md b/src/content/docs/queue.md index 1d03e8d37..48b30e0af 100644 --- a/src/content/docs/queue.md +++ b/src/content/docs/queue.md @@ -6,7 +6,7 @@ sidebar: --- > 不是"读哪 20 个"的清单,是"先读哪 5 个就能撑起一个领域"的导航。 -> 当前站点 961 篇项目笔记 + 1067 篇论文笔记,凑数没有意义,**取舍**才有。 +> 当前站点 961 篇项目笔记 + 1071 篇论文笔记,凑数没有意义,**取舍**才有。 > 每个主题给 3-5 个 pillar:反向链接最多、跨主题被引最广、读完能形成判断。 ## 怎么用这页 @@ -189,7 +189,7 @@ PL 理论在论文侧根扎得最深:[[hindley-milner]] / [[lambda-calculus]] ## 全景 atlas - 项目全景(961 篇按主题分组、反向链接热度、消化状态):[projects-atlas](/study/projects-atlas/) -- 论文全景(1067 篇按子领域、pillar 标记、未消化队列):[papers-atlas](/study/papers-atlas/) +- 论文全景(1071 篇按子领域、pillar 标记、未消化队列):[papers-atlas](/study/papers-atlas/) - 论文推荐入口(与本页平行的论文版导航):[papers-queue](/study/papers-queue/) - 方法论与挑选标准:[about](/study/about/) / [method](/study/method/) / [papers-method](/study/papers-method/)