<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Archive for 2026-07 on chengzhycn&#39;s blog</title>
		<link>https://blog.jinzhi.site/posts/2026-07/</link>
		<description>Recent content in Archive for 2026-07 on chengzhycn&#39;s blog</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Fri, 10 Jul 2026 08:23:23 +0800</lastBuildDate>
		
			<atom:link href="https://blog.jinzhi.site/posts/2026-07/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>opencode memory 实现与最佳实践</title>
				<link>https://blog.jinzhi.site/posts/2026-07/opencode-memory-%E5%AE%9E%E7%8E%B0%E4%B8%8E%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/</link>
				<pubDate>Fri, 10 Jul 2026 08:23:23 +0800</pubDate>
				<guid>https://blog.jinzhi.site/posts/2026-07/opencode-memory-%E5%AE%9E%E7%8E%B0%E4%B8%8E%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;注：文章由 codex 整理。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;&#xA;&lt;p&gt;这里的 &lt;code&gt;memory&lt;/code&gt; 不是操作系统内存，也不是模型推理时的 KV cache，而是 coding agent 在多轮、多 session、多项目之间保存和复用上下文的能力。&lt;/p&gt;&#xA;&lt;p&gt;截至这次分析的源码快照，&lt;code&gt;opencode&lt;/code&gt; 并没有内置一个类似 &lt;code&gt;mem0&lt;/code&gt;、&lt;code&gt;mnemopi&lt;/code&gt; 或向量数据库的长期记忆系统。它的 memory 更接近三层组合：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;规则型长期记忆&lt;/strong&gt;：&lt;code&gt;AGENTS.md&lt;/code&gt;、全局 &lt;code&gt;AGENTS.md&lt;/code&gt;、&lt;code&gt;opencode.json&lt;/code&gt; 里的 &lt;code&gt;instructions&lt;/code&gt;。这些内容每轮都会进入 system prompt，是最稳定、最可审计的记忆。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;会话内压缩记忆&lt;/strong&gt;：&lt;code&gt;compaction&lt;/code&gt; agent 把长会话压缩成摘要，并保留最近若干 turn，让当前 session 可以继续推进。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;上下文型临时记忆&lt;/strong&gt;：用户用 &lt;code&gt;@file&lt;/code&gt;、MCP resource、skill、subagent 等方式临时补充上下文，主要服务当前任务。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;所以分析 &lt;code&gt;opencode memory&lt;/code&gt; 时，关键不是找一个 &lt;code&gt;MemoryBackend&lt;/code&gt;，而是看它如何把规则文件、配置、压缩摘要和临时上下文组装进模型请求。&lt;/p&gt;&#xA;&lt;p&gt;本文基于：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;官方文档：&lt;a href=&#34;https://opencode.ai/docs/rules/&#34;&gt;Rules&lt;/a&gt;、&lt;a href=&#34;https://opencode.ai/docs/config/&#34;&gt;Config&lt;/a&gt;、&lt;a href=&#34;https://opencode.ai/docs/agents/&#34;&gt;Agents&lt;/a&gt;、&lt;a href=&#34;https://opencode.ai/docs/skills/&#34;&gt;Agent Skills&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;源码快照：&lt;a href=&#34;https://github.com/anomalyco/opencode/commit/251177d56cf2a8821f7e1464dd7c164e8f56036d&#34;&gt;anomalyco/opencode@251177d56cf2a8821f7e1464dd7c164e8f56036d&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;重点源码文件：&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;packages/opencode/src/session/instruction.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;packages/opencode/src/session/prompt.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;packages/opencode/src/session/compaction.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;packages/opencode/src/session/system.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;packages/opencode/src/config/config.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;packages/core/src/v1/config/config.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;核心结论&#34;&gt;核心结论&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;opencode&lt;/code&gt; 的 memory 设计偏“显式上下文工程（context engineering）”，而不是“自动记住一切”。&lt;/p&gt;&#xA;&lt;p&gt;这带来一个很重要的实践判断：&lt;strong&gt;应该把长期稳定的项目知识写进规则文件，把当前任务过程交给 session history 和 compaction，把低置信度、临时性、可能过期的信息留在对话里，而不是沉淀到 AGENTS.md。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;可以这样理解：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;层次&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;opencode 机制&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;适合保存什么&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;不适合保存什么&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;长期项目记忆&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;项目 &lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;架构边界、测试命令、代码风格、危险操作约束&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;临时任务进度、一次性 debug 现象&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;长期个人记忆&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;~/.config/opencode/AGENTS.md&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;个人偏好、默认工作方式、输出习惯&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;某个项目的私有约定&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;可复用规则片段&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;opencode.json&lt;/code&gt; 的 &lt;code&gt;instructions&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;多文件规范、共享团队标准、monorepo 分包规则&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;需要模型自己递归解析的隐式引用&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;会话内记忆&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;compaction&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;当前 session 的目标、决策、已完成动作、未解决问题&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;跨 session 的长期知识&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;临时上下文&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;@file&lt;/code&gt;、MCP、skills、subagents&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;本轮要读的文件、外部资料、专项流程&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;需要每次都遵守的硬规则&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;实现总览&#34;&gt;实现总览&lt;/h2&gt;&#xA;&lt;p&gt;一轮模型调用前，&lt;code&gt;SessionPrompt&lt;/code&gt; 会把几类 system prompt 片段拼起来：&lt;/p&gt;</description>
			</item>
			<item>
				<title>Loop Engineering 最佳实践</title>
				<link>https://blog.jinzhi.site/posts/2026-07/loop-engineering-%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/</link>
				<pubDate>Sat, 04 Jul 2026 21:27:28 +0800</pubDate>
				<guid>https://blog.jinzhi.site/posts/2026-07/loop-engineering-%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5/</guid>
				<description>&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;注：文章由 codex 整理。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;Loop engineering&lt;/code&gt; 讨论的不是普通代码里的 &lt;code&gt;for/while&lt;/code&gt;，也不是 agent harness 内部已经存在的 &lt;code&gt;observe -&amp;gt; act -&amp;gt; observe&lt;/code&gt; 工具调用循环，而是&lt;strong&gt;人类交给 agent harness 的外部循环规格（loop specification）&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;arXiv 论文 &lt;a href=&#34;https://arxiv.org/abs/2607.00038&#34;&gt;Stop Hand-Holding Your Coding Agent: Engineering the Loops that Replace Step-by-Step Prompting&lt;/a&gt; 给出的核心定义是：&lt;code&gt;loop specification&lt;/code&gt; 是一个有边界、可复用的 artifact，包含 &lt;code&gt;trigger&lt;/code&gt;、&lt;code&gt;goal&lt;/code&gt;、&lt;code&gt;verification&lt;/code&gt;、&lt;code&gt;stopping rule&lt;/code&gt; 和 &lt;code&gt;memory&lt;/code&gt;，由人类交给 Claude Code、Codex 等 agent harness，让 agent 在无需人类逐步提示的情况下追踪目标、执行、检查并停止。&lt;/p&gt;&#xA;&lt;p&gt;这篇论文的价值在于把社区里比较口号化的说法收束成一个工程问题：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;prompt engineering&lt;/code&gt; 问的是：这一轮怎么问？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;context engineering&lt;/code&gt; 问的是：agent 应该知道什么？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;harness engineering&lt;/code&gt; 问的是：agent 能在什么环境里行动？&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;loop engineering&lt;/code&gt; 问的是：如何设计一个系统，让 agent 能发现工作、执行工作、验证结果、记录状态，并知道什么时候停？&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;所以它不是“prompt engineering 已死”，而是 prompt 之外多了一层控制系统。一个 loop 的底层仍然会使用 prompt，但关键杠杆从“写一句更聪明的话”变成“设计一个带反馈、验证和刹车的闭环”。&lt;/p&gt;</description>
			</item>
			<item>
				<title>oh-my-pi memory 系统实现分析</title>
				<link>https://blog.jinzhi.site/posts/2026-07/oh-my-pi-memory-%E7%B3%BB%E7%BB%9F%E5%AE%9E%E7%8E%B0%E5%88%86%E6%9E%90/</link>
				<pubDate>Sat, 04 Jul 2026 11:39:09 +0800</pubDate>
				<guid>https://blog.jinzhi.site/posts/2026-07/oh-my-pi-memory-%E7%B3%BB%E7%BB%9F%E5%AE%9E%E7%8E%B0%E5%88%86%E6%9E%90/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;注：文章由 codex 整理。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;oh-my-pi&lt;/code&gt; 的 memory 系统不是一个单一模块，而是一层 &lt;code&gt;MemoryBackend&lt;/code&gt; 抽象下面挂了几种不同的实现。它要解决的问题是：Agent 的上下文窗口是短期的，但用户偏好、项目约定、设计决策、踩坑经验应该跨 session 保留下来，并能在未来对话中重新进入模型上下文。&lt;/p&gt;&#xA;&lt;p&gt;从实现上看，&lt;code&gt;oh-my-pi&lt;/code&gt; 把 memory 拆成三个问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;记忆写到哪里&lt;/strong&gt;：本地 Markdown 摘要、本地 SQLite、还是远端 Hindsight 服务。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;什么时候写入&lt;/strong&gt;：工具显式 &lt;code&gt;retain&lt;/code&gt;，还是每 N 轮自动保留 transcript。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;什么时候读出&lt;/strong&gt;：启动时注入摘要，首轮 prompt 前自动 recall，或者由模型主动调用 &lt;code&gt;recall&lt;/code&gt; / &lt;code&gt;reflect&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;总体架构&#34;&gt;总体架构&lt;/h2&gt;&#xA;&lt;p&gt;memory backend 的公共接口定义在：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;packages/coding-agent/src/memory-backend/types.ts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;packages/coding-agent/src/memory-backend/resolve.ts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;resolveMemoryBackend(settings)&lt;/code&gt; 根据 &lt;code&gt;memory.backend&lt;/code&gt; 选择具体实现：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;memory.backend = off        -&amp;gt; offBackend&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;memory.backend = local      -&amp;gt; localBackend&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;memory.backend = hindsight  -&amp;gt; hindsightBackend&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;memory.backend = mnemopi    -&amp;gt; mnemopiBackend&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;MemoryBackend&lt;/code&gt; 的关键 hook 是：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;start()&lt;/code&gt;：session 启动时建立运行时状态、订阅 session event。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;buildDeveloperInstructions()&lt;/code&gt;：构造要注入系统提示词的 memory 文本。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;beforeAgentStartPrompt()&lt;/code&gt;：在当前 turn 生成前追加一次性 recall 结果，保证首轮就能吃到记忆。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;enqueue()&lt;/code&gt;：强制触发 retain / consolidation。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;clear()&lt;/code&gt;：清理当前 backend 的持久化状态。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;status()&lt;/code&gt; / &lt;code&gt;search()&lt;/code&gt; / &lt;code&gt;save()&lt;/code&gt; / &lt;code&gt;stats()&lt;/code&gt; / &lt;code&gt;diagnose()&lt;/code&gt;：给 UI、slash command、extension 使用。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;三种真实 backend 的定位不同：&lt;/p&gt;</description>
			</item>
			<item>
				<title>Claude Code auto-mode 实现分析</title>
				<link>https://blog.jinzhi.site/posts/2026-07/claude-code-auto-mode-%E5%AE%9E%E7%8E%B0%E5%88%86%E6%9E%90/</link>
				<pubDate>Fri, 03 Jul 2026 14:47:05 +0800</pubDate>
				<guid>https://blog.jinzhi.site/posts/2026-07/claude-code-auto-mode-%E5%AE%9E%E7%8E%B0%E5%88%86%E6%9E%90/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;注：文章由 codex 整理。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;背景&#34;&gt;背景&lt;/h2&gt;&#xA;&lt;p&gt;本文分析的是 &lt;code&gt;chengzhycn/claude-code&lt;/code&gt; 在提交 &lt;code&gt;4b9d30f7953273e567a18eb819f4eddd45fcc877&lt;/code&gt; 上的源码实现。&lt;/p&gt;&#xA;&lt;p&gt;源码入口：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;仓库：https://github.com/chengzhycn/claude-code/tree/4b9d30f7953273e567a18eb819f4eddd45fcc877&lt;/li&gt;&#xA;&lt;li&gt;权限模式定义：&lt;code&gt;src/utils/permissions/PermissionMode.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;auto-mode 状态切换：&lt;code&gt;src/utils/permissions/permissionSetup.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;工具权限主流程：&lt;code&gt;src/utils/permissions/permissions.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;auto-mode classifier：&lt;code&gt;src/utils/permissions/yoloClassifier.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Bash 权限判定：&lt;code&gt;src/tools/BashTool/bashPermissions.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Bash 只读命令判定：&lt;code&gt;src/tools/BashTool/readOnlyValidation.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Bash 注入/语法安全检查：&lt;code&gt;src/tools/BashTool/bashSecurity.ts&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;核心问题是：Claude Code 怎么在“不每一步都问用户”和“不直接 bypass permissions”之间做折中。源码里的 auto-mode 不是一个简单的全局 allow，而是一套组合机制：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;进入 auto-mode 时先检查 feature gate 和 opt-in。&lt;/li&gt;&#xA;&lt;li&gt;临时剥离会绕过 classifier 的危险 allow rule。&lt;/li&gt;&#xA;&lt;li&gt;工具调用先走原有本地权限系统。&lt;/li&gt;&#xA;&lt;li&gt;对本地系统仍然需要 &lt;code&gt;ask&lt;/code&gt; 的动作，再交给 auto-mode classifier 判断 allow/block。&lt;/li&gt;&#xA;&lt;li&gt;classifier 不可用、输出不可解析或 transcript 太长时，按场景 fail closed 或回退到人工 permission prompt。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;模型&#34;&gt;模型&lt;/h2&gt;&#xA;&lt;p&gt;auto-mode 可以理解成一个“permission prompt 的自动代理”，而不是新的沙箱。它的安全性来自三层：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;工具自己的权限检查&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; 本地静态安全规则：路径、只读命令、deny/ask/allow rule、shell 注入模式&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; auto-mode 快速路径：acceptEdits 可允许的操作、安全工具 allowlist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -&amp;gt; auto-mode classifier：读取 transcript + 当前 action，输出 allow/block&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这意味着：&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
