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

“INMS: Memory Sharing for Large Language Model based Agents“ 论文笔记猎

1.概述在人工智能快速发展的今天AI不再仅仅是回答问题的聊天机器人而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理能够在用户的机器上安全高效地生成高质量的软件变更。2.内容如果你只把 Codex 当成“更会写代码的 ChatGPT”那你只理解了它 10% 的价值。真正让 Codex 不同的是它背后那套完整、可运行、可反复思考的 Agent Loop智能体循环系统。2.1 Codex 到底和普通大模型有什么区别我们先看一个最普通的大模型交互流程你帮我写一个 Python 脚本模型给你一段代码结束这是一次性生成模型不知道代码能不能运行不知道有没有报错更不知道“下一步该干什么”1. Codex 的真实工作方式完全不同Codex 的思路更像一个新手工程师坐在你电脑前复制代码1 看需求2 写点代码3 运行一下4 报错了看看错误5 改代码6 再运行7 直到成功复制代码这个「反复尝试」的过程就是 Codex Agent Loop。2.2 什么是 Agent LoopAgent Loop 让模型在一个循环里不断思考 → 行动 → 看结果 → 再思考。Codex CLI 的核心不是“一次推理”而是反复展开这个循环模型不是直接给答案而是每一轮只决定我下一步该干什么1. 先忘掉「大模型」把 Codex 当成一个“新人程序员”想象一个刚入职的初级工程师你给他一个任务“帮我把这个项目跑起来并写一个 README。”他会怎么做一定不是“我闭上眼睛一次性把所有事情做对。”而是更接近下面这个过程复制代码1 先看看项目目录结构2 猜一猜怎么运行3 真的运行一下4 发现报错5 根据报错改代码6 再运行7 直到跑通8 最后再总结写 README复制代码注意这个过程中每一步都依赖上一步的结果。这就是 Agent Loop 的直觉来源。2.普通 ChatBot VS Agent根本区别在哪普通 ChatBot 的工作方式复制代码输入问题↓模型“想一想”↓一次性输出答案↓结束复制代码它的特点是只能“想”不能“做”没有真实世界的反馈更像是在考试答题Codex Agent 的工作方式复制代码目标↓想一小步↓做一小步↓看结果↓再想一小步↓……↓完成复制代码它的特点是每一轮只解决一个非常小的问题每一步都基于真实执行结果更像是在真实工作Agent Loop本质上就是把“一次性回答问题”拆成了“多轮小决策”。3. 「Loop」这个词为什么这么重要我们先看一个不展开的情况模型在脑子里想 10 步↓一次性输出最终答案这种方式的问题是中间哪一步想错了你完全不知道没有机会修正对复杂任务非常不稳定而 Agent Loop 是把这 10 步“摊开”复制代码第 1 步我该不该看目录↓第 2 步我该不该运行测试↓第 3 步这个报错是什么意思↓第 4 步我该改哪个文件复制代码这就是 unrolling the loop 的含义把模型原本“在脑子里一次性完成的思考”拆成一轮一轮、可执行、可观察的步骤。4.为什么说「模型不是直接给答案」复杂问题没有人能在“看都没看现场”的情况下一次就给出完美答案。Agent Loop 的设计正是承认了这一点。所以 Codex 的策略是不追求“一次答对”而是追求每一步都有依据每一步都能被验证每一步错了都能修假设你的项目现在是这样“一个 Node 项目运行 npm start 会报错”Codex 的内心独白并不是一句话而是类似这样一轮一轮展开1 我不知道项目结构我需要先看看 → 调用工具ls2 看起来是 Node 项目我应该试着运行 → 调用工具npm start3 报错说缺依赖 → 调用工具npm install4 再运行一次 → npm start5 现在跑通了我可以总结了 → 输出最终回答2.3 把 Agent Loop 拆成 5 个步骤2.3.1 接收用户目标不是马上干活1 用户输入 ≠ 模型直接思考的内容当你在 Codex CLI或任何 Agent 系统里输入一句话比如“帮我给这个项目补一个 README。”很多人会误以为这句话直接被送进模型然后模型开始思考。但实际上在 Agent 系统里这句话的角色更接近于“任务目标Goal”也就是说它只是告诉系统最终你要把事情做到什么状态2 为什么要把“目标”和“过程”分开因为 Agent Loop 的设计理念是目标是稳定的过程是动态变化的举个生活化的例子你的目标是“把房间收拾干净”你并不会一开始就决定先扫地还是先整理桌子垃圾有多少要不要换垃圾袋你只是知道最后要干净Codex 也是一样。用户输入只负责定义“终点”不负责定义“路径”。2.3.2 构造当前上下文Prompt1.Prompt 是“模型看世界的全部信息”这是 Agent Loop 里最关键、也最容易被低估的一步。我们先说一句非常重要的话对模型来说它并不知道“刚刚发生了什么”除非你把这些信息放进 Prompt。所以每一轮 Agent Loop都会重新构造一个 Prompt。2.Prompt 里通常包含哪些东西一个完整的 Prompt通常包含你是谁系统设定你是一个 coding agent你可以修改文件、运行命令你能用什么工具shell文件读写测试运行用户目标比如补 README到目前为止发生了什么我刚才运行了什么命令输出结果是什么有没有报错对模型来说这些内容就是它的“记忆”。3.为什么每一轮都要“重新构造” Prompt举个例子第一轮你还没看过项目结构第二轮你已经知道有哪些文件第三轮你已经看到测试报错如果 Prompt 不更新模型就会永远以为自己什么都不知道所以 Agent Loop 的一个核心动作就是把“刚刚发生的现实结果”翻译成模型能理解的文字再塞回 Prompt。2.3.3 让模型做“下一步决策”1.模型在这一轮只回答一个问题这是 Agent Loop 的灵魂所在。模型不会在这一轮里把所有事情想完。它只做一个非常具体、非常有限的判断“在当前信息条件下我下一步该做什么”2.这个“下一步”通常只有两种可能情况一我还需要更多信息 / 行动模型会说类似“我需要看看目录结构”“我需要跑一下测试”“我需要打开某个文件看看内容”在系统层面这会被表达为Tool Call工具调用情况二信息已经够了可以结束模型会说类似“现在我可以写 README 了”“问题已经修复完成”这时它会直接输出最终回答Agent Loop 结束。3.为什么要限制成“只想一步”因为这是控制复杂度的关键。如果模型一次性想 10 步中间哪一步错了你不知道无法插入真实反馈很难纠正而“一步一想”的好处是每一步都可以被验证错了就马上修对复杂任务更稳2.3.4 如果要干活 → 调工具1.模型自己“不会干活”模型 ≠ 能执行命令的程序模型只能输出文字或结构化指令但它不能真的运行 ls不能真的执行 npm install不能真的写文件2.Tool 的作用把“建议”变成“现实动作”当模型说“我需要运行 ls 看看目录”Agent 系统会1 解析模型输出2 发现这是一个 tool call3 在真实环境里执行命令4 收集真实输出2.3.5 把结果塞回上下文继续循环1.这是 Agent Loop 最“反直觉”的一步很多人会以为工具执行完模型“就知道结果了”其实不然。模型并不知道工具执行结果除非你把结果写进 Prompt。2.现实 → 文本 → PromptAgent 会把刚才的执行结果转成类似这样的内容你刚刚运行了 ls输出是src/package.json然后把这段文字加入 Prompt再发起下一轮模型推理这一步完成后新的一轮 Loop 开始。我们现在可以把这 5 步用一句非常生活化的话说清楚1 把当前情况告诉模型2 让模型决定下一小步3 把真实结果反馈回去4 直到模型觉得“可以收工了”3.Agent Loop代码示例前面我们讲了很多概念Agent Loop、目标、Prompt、工具、反馈……现在我们用一段最小但完整的代码把这些概念全部落到实处。复制代码class SimpleAgent:def __init__(self, llm):self.llm llmself.history []def run(self, goal):while True:prompt self.build_prompt(goal)response self.llm(prompt)# 如果模型说“完成了”if response[type] final:print(response[text])break# 如果模型要用工具if response[type] tool_call:result self.execute_tool(response)self.history.append(result)def build_prompt(self, goal):return {goal: goal,history: self.history}def execute_tool(self, call):if call[name] shell:return os.popen(call[command]).read()复制代码这段代码不是生产级但它100%体现了 Agent Loop 的本质结构。下面我们从整体 → 局部 → 每一行的“为什么”来拆。1.先整体理解这段代码在干什么它在做一件事不断把“当前状态”交给模型让模型决定下一步然后根据结果更新状态直到模型说“可以结束了”。可以理解为“你先想一步 → 我帮你干 → 把结果告诉你 → 你再想一步”2.class SimpleAgentAgent 不是模型而是“调度者”Agent ≠ 模型LLMllm负责“思考 / 决策”Agent负责“循环 / 执行 / 状态管理”Agent 的角色更像是一个项目经理 执行助理。3.__init__Agent 的“长期记忆”在哪里self.llm 是什么它是一个函数或对象输入Prompt输出模型的“下一步决策”你可以把它理解成response 大模型(prompt)4.self.history 为什么这么重要这是整个 Agent Loop 的核心状态。history 里存的不是聊天记录而是你刚刚执行了什么命令命令输出了什么有没有报错它是“现实世界发生过的事情”的文本化记录如果没有 history模型每一轮都会“失忆”永远不知道自己刚才干过什么5.run 方法Agent Loop 的真正入口def run(self, goal):这里的 goal就是你输入的那句“帮我给这个项目加一个 README”它只做一件事定义终点不定义路径。6.while True为什么 Agent 必须是“死循环”这行代码非常关键。很多人一看到“死循环”会下意识觉得不优雅但在 Agent 里没有循环就没有 Agent为什么因为 Agent 的工作模式是不知道要循环多少轮不知道什么时候信息才“足够”只能一轮一轮试结束条件不是写死的而是由模型决定的。7.build_prompt模型“看到的世界”是怎么来的prompt self.build_prompt(goal)这是 Agent Loop 中最容易被忽略但最重要的一步。def build_prompt(self, goal):return {goal: goal,history: self.history}它做的事情非常简单但意义非常大把“目标 已发生的事实”打包交给模型。8.response self.llm(prompt)模型只做一件事response self.llm(prompt)这一行看似简单其实决定了整个 Agent 的风格。模型在这里不会写完整代码一次性解决所有问题它只回答一个问题“在当前 prompt 条件下我下一步该做什么”我们用一句完整的流程复述Agent 把目标 历史交给模型模型说“下一步干这个”Agent 去真实执行Agent 把结果记录下来回到第 1 步直到模型说“可以结束了。”4.总结Codex Agent 的真正价值并不在于它“写代码有多快”而在于它被设计成一个可以反复思考和行动的系统。通过 Agent Loop模型不再试图一次性给出完美答案而是像真实工程师一样先尝试、再观察、再修正逐步推进目标完成。这种“思考 → 执行 → 反馈 → 再思考”的循环机制让复杂问题被自然拆解成一连串可验证的小步骤也让错误变成系统的一部分而不是失败的终点。嗽虏俾邮

相关文章:

“INMS: Memory Sharing for Large Language Model based Agents“ 论文笔记猎

1.概述在人工智能快速发展的今天,AI不再仅仅是回答问题的聊天机器人,而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理,能够在用户的机器上安全高效地生成高质量的软件变…...

从‘它怎么又挂了’到‘服务真稳’:我是如何用Docker给老旧PHP项目续命的

从‘它怎么又挂了’到‘服务真稳’:我是如何用Docker给老旧PHP项目续命的 维护一个运行了十年的PHP项目就像照顾一位脾气古怪的老教授——你知道他肚子里有货,但那些过时的习惯和依赖总能让你在深夜崩溃。上周五下午4点,当我第17次收到"…...

(十八)32天GPU测试从入门到精通-TensorRT-LLM 部署与优化day16

目录 引言TensorRT-LLM 环境搭建模型优化与编译多 GPU 推理量化优化性能实测生产部署常见问题排查 引言 TensorRT-LLM 是NVIDIA 官方的 LLM 推理优化库,提供业界领先的性能和完整的优化技术栈。作为 NVIDIA 生态的一部分,TensorRT-LLM 深度整合了 NVID…...

AI原生缓存架构生死线:当缓存失效导致LLM幻觉率上升22%,你还有3天重构窗口期

第一章:AI原生缓存架构的范式迁移与危机本质 2026奇点智能技术大会(https://ml-summit.org) 传统缓存系统建立在确定性访问模式与静态数据生命周期假设之上,而大语言模型推理、RAG实时检索、多模态流式生成等AI原生工作负载正持续冲击这一根基&#xf…...

告别“降智”模型:手把手教你用ZenMux的HLE测试和智能路由,为Cursor和Claude Code配置原版大脑

解锁AI编程助手的真实潜力:ZenMux智能路由与质量保障体系深度解析 当你在深夜调试一段复杂算法,或是需要快速理解一篇前沿论文的核心思想时,AI编程助手已经成为现代开发者和研究者的"第二大脑"。但你是否遇到过这样的情况&#xff…...

Arduino nRF5x低功耗库:深度睡眠与精准唤醒实战指南

1. 项目概述 Arduino_nRF5x_lowPower 是专为 Nordic Semiconductor nRF5x 系列 SoC(如 nRF52832、nRF52840、nRF51822)设计的 Arduino 兼容低功耗管理库。该库并非简单封装睡眠函数,而是深度对接 nRF5x 片上电源管理单元(PMU&am…...

FPGA入门200例(19):系统任务`$display`、`$monitor`与`$readmemb`在仿真中的妙用

引言 在FPGA入门学习中,新手往往会陷入一个误区:“只要Verilog代码编写完成,下载到开发板就能正常工作”,却忽略了“仿真验证”这一核心步骤。实际上,FPGA开发的核心流程是“编写代码→仿真验证→综合实现→板级测试”,其中仿真验证是排查代码逻辑错误、避免板级测试踩坑…...

开源IPAM系统实战:从零搭建企业级IP地址管理平台

1. 为什么企业需要专业的IP地址管理系统? 记得三年前我接手某中型企业的IT运维工作时,发现他们用着一个神奇的Excel表格——里面密密麻麻记录着2000多个IP地址分配情况。每次新设备入网都要手动翻查半小时,有次甚至因为复制粘贴错误导致整个部…...

如何在5分钟内为你的Minecraft服务器添加RPG技能系统

如何在5分钟内为你的Minecraft服务器添加RPG技能系统 【免费下载链接】mcMMO The RPG Lovers Mod! 项目地址: https://gitcode.com/gh_mirrors/mc/mcMMO mcMMO为Minecraft服务器添加深度RPG技能系统,让玩家在挖矿、伐木、战斗等日常活动中获得成长体验。这款…...

DataServeriOS:Arduino与iOS设备的轻量级TCP控制协议库

1. DataServeriOS 库概述:面向嵌入式网络控制的轻量级 iOS 协同通信框架DataServeriOS 是一个专为 Arduino 平台设计的轻量级 C 库,其核心工程目标是构建一条低开销、高可靠、即插即用的双向网络通信通道,使 Arduino 设备能够作为服务端&…...

可控性技术人工智能系统人类监督与干预接口设计

可控性技术人工智能系统人类监督与干预接口设计 随着人工智能技术的快速发展,其在医疗、金融、交通等关键领域的应用日益广泛。AI系统的自主决策能力也带来了潜在风险,例如算法偏见、安全漏洞或失控行为。为确保AI系统的可靠性和安全性,可控…...

【紧急预警】传统音视频微服务架构将在2026Q3大规模失效——SITS2026原生处理标准已强制嵌入工信部信创目录

第一章:SITS2026分享:AI原生音视频处理 2026奇点智能技术大会(https://ml-summit.org) AI原生音视频处理正从“AI辅助”迈向“AI驱动”的范式跃迁——模型不再仅作为后处理模块嵌入传统管线,而是从采集、编码、传输到渲染的全链路深度重构。…...

G-Helper技术深度解析:华硕硬件控制架构揭秘与性能优化实践

G-Helper技术深度解析:华硕硬件控制架构揭秘与性能优化实践 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Stri…...

不记命令也能排障:catpaw chat 实战手册叵

Julia(julialang.org)由Stefan Karpinski、Jeff Bezanson等在2009年创建,目标是融合Python的易用性、C的高性能、R的统计能力、Matlab的科学计算生态。 其核心设计哲学是: 高性能:编译型语言(JIT&#xff0…...

ComfyUI面部修复FaceDetailer参数调优实战

1. FaceDetailer核心参数解析与实战调优 第一次接触ComfyUI的FaceDetailer时,我被它密密麻麻的参数面板吓了一跳。但经过三个月的实际项目打磨,我发现只要掌握几个关键参数,就能让面部修复效果立竿见影。先来看最影响效果的四个核心参数&…...

别再忽略#@save和assert了!Python开发中的这两个小技巧能帮你省下大把时间

Python开发中的高效利器:#save与assert实战指南 在Python开发的世界里,真正区分普通开发者与高效开发者的往往不是对复杂框架的掌握程度,而是对这些看似简单却极其强大的小工具的熟练运用。今天我们要深入探讨的两个工具——#save注释和asser…...

OZON选品工具深度测评:这五款帮你精准掘金俄罗斯市场

在俄罗斯电商市场,OZON正成为越来越多中国卖家的掘金热土。然而,面对陌生的市场、海量的商品和复杂的规则,如何高效选品、精准运营,是每个卖家必须跨越的门槛。选品工具,正是那把关键的钥匙。今天,我们就来…...

统计学核心分布解析:从理论到Python实战

1. 统计学分布:数据世界的语言密码 第一次接触统计学分布时,我盯着那条完美的钟形曲线发呆了半小时。当时怎么也想不明白,为什么自然界中那么多现象都会乖乖服从这个规律。直到后来用Python模拟了上万次抛硬币实验,看着直方图逐渐…...

PingCraft:从需求文档到可追踪工作项的 Agent 实践之路固

整体排查思路 我们的目标是验证以下三个环节是否正常: 登录成功时:服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端:浏览器是否成功接收并存储了该Cookie。 后续请求:浏览器在执行查询等操作…...

彻底告别OpenClaw使用焦虑:我给他装上了“透视眼”和“批量克隆模组尚

指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...

嵌入式TFTP服务器库TFTPServer深度解析与移植指南

1. TFTPServer嵌入式TFTP服务器库深度解析TFTP(Trivial File Transfer Protocol)作为轻量级文件传输协议,在嵌入式系统固件升级、配置文件下发、日志回传等场景中具有不可替代的地位。其基于UDP的无连接特性、极简的状态机设计、零会话开销等…...

JMS, ActiveMQ 学习一则亓

开发个什么Skill呢? 通过 Skill,我们可以将某些能力进行模块化封装,从而实现特定的工作流编排、专家领域知识沉淀以及各类工具的集成。 这里我打算来一次“套娃式”的实践:创建一个用于自动生成 Skill 的 Skill,一是用…...

Mysql 11: 存储过程全解——从创建到使用

存储过程(Stored Procedure)是 MySQL 中预编译在数据库服务器上的 SQL 语句集合,可以封装复杂业务逻辑、减少网络交互、提升执行效率,是数据库开发的核心技能。本文围绕图片中的知识点,从创建、使用、删除到拓展&#…...

龙芯k - 久久派开发环境搭建及内核升级(上)撞

一、语言特性:Java 26 与模式匹配进化 1.1 Java 26 语言级别支持 IDEA 2026.1 EAP 最引人注目的变化之一,就是新增 Java 26 语言级别支持。这意味着开发者可以提前体验和测试即将在 JDK 26 中正式发布的语言特性。 其中最重要的变化是对 JEP 530 的全面支…...

计及阴影遮挡效应的光伏阵列拓扑 PSO 重构优化研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

XLR8Servo_vhdl:FPGA硬件加速的高精度伺服控制方案

1. XLR8Servo_vhdl 加速伺服控制库深度解析1.1 项目定位与工程痛点XLR8Servo_vhdl 是专为 Alorium Technology XLR8 开发板设计的硬件加速型伺服电机控制库,其核心目标是彻底解决传统 Arduino Servo 库在实时性、资源占用和功能冲突三大维度上的固有缺陷。该库并非软…...

计及能量枢纽(EH)精细化建模的源荷储协调优化:通过矩阵建模法描述能源转换效率,利用分支定界法求解多能转换的最优路径研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

AX-12A舵机底层驱动与Dynamixel协议实战解析

1. AX-12A智能舵机底层驱动技术解析AX-12A是由韩国Robotis公司推出的经典串行总线式智能舵机,自2004年发布以来,已成为教育机器人、仿生机构与小型机电系统中事实上的工业级执行器标准。其核心价值不仅在于300可编程角度范围、12V供电下1.5Nm额定扭矩与内…...

影视专业生的C语言学习

我是一个来自影视专业的一个学生,但是往后看了这个专业出路并不适合我,所以自学c语言等技能来提升自己,为自己以后找工作多一个选项。学习编程的目标:熟练掌握c语言以及c我打算每周花20小时的时间来学习编程最想进入的公司是字节跳…...

态势感知中态与势的条件概率与联合概率

这是一个关于态势感知(Situation Awareness, SA)理论中核心概念"态"(State)与"势"(Trend/Development)的概率建模问题。下面将从概率论与贝叶斯网络的角度,系统阐述态与势的…...