如果已经做过后台应用,第一次接触 Agent 往往会觉得熟悉:接收请求、查资料、调用接口、保存结果,再返回给用户。把模型放在中间,似乎就是一个带自然语言入口的业务系统。
真正的变化出现在运行过程中:下一步做什么,不再全部由开发者提前写好,而可能由模型根据刚刚看到的材料临时决定。 这个决定还会受到上下文、工具描述、历史摘要和用户偏好的影响。
因此,Agent 工程是在成熟的后台工程基础上,接纳一个具有语义不确定性的决策环节。开发者既要让它能探索,也要让每次行动有范围、每次中断能解释、每份成果能取得。到了个人助手阶段,还要让这些约束跨越时间与用户的变化。
前半篇沿一个教学任务比较控制方式:读取两份基金披露并生成报告,再看工具、状态与成熟框架怎样组织工作。后半篇转向我们私有研究应用中已经做过的异步交付、人工回复、记忆消费和每日复读,用实际成功与反例解释视野为什么扩大。教学案例、脚本模型验收和小规模真实模型观察分别标明,不代表真实投资研究或自动交易能力。
前半篇的公开教学实现以 2026 年 11 月 3 日核对的 Open ETF Agent v0.19.0 为基线,主流体系采用同日查阅的官方资料。Open ETF Agent 是适合拆解机制的本地教学项目;Claude Agent SDK、Codex、OpenAI Agents SDK 和 LangGraph 则提供不同层次的运行能力。它们在本文中承担比较坐标,不构成产品排名。版本与源码入口
一、从同一个任务,看见控制方式的变化
假设用户说:“比较这两份基金材料,告诉我发生了什么变化,附上来源,保存一份报告。”
规则明确时,后台程序完全可以完成它:读取指定文件,校验日期和字段,执行固定计算,再套用报告模板。遇到缺字段就返回错误,遇到需要人工确认的情况就进入审批流程。这种方案容易测试,也便于复算。
但开放任务可能在读完材料后才暴露真正的问题:两份文件的统计时点不同,某个表格只披露部分项目,所谓“增长”使用了不同的分母。系统需要决定:补读原文、寻找可比口径、换一种分析方法,还是只给出有条件的结论。
这里才出现模型的价值:它可以根据观察提出新的研究动作。与此同时,模型也可能误判缺口、选择错误工具,或者在没有足够依据时写出流畅结论。
这些不是两个互斥世界。工作流引擎早已支持动态分支、异步和长期任务,Agent 也完全可以嵌在一条固定流程中。变化在于:部分控制决策由模型产生,而模型的判断条件本身也在不断变化。
规则驱动路径与 Agent 观察循环的对照:模型提出动作,宿主校验后执行,结果返回模型,拒绝与交付各有出口
图 1 · 决策可以交给模型探索,执行条件仍由系统掌握。图中的分组是职责说明,不要求拆成独立服务。查看完整图
二、最小 Agent 是一个观察循环,工程难点在循环之外和交接之中
一次模型请求可能返回答案,也可能返回工具调用提案。运行时接住提案,校验后调用工具,把真实结果放进下一次模型输入。新观察再次改变后续选择,直到交付、等待或停止。
Claude Agent SDK 已把 Claude Code 使用的循环、工具和上下文管理提供给应用;OpenAI Agents SDK 的 runner 也会围绕工具调用、交接和最终输出继续运行。这说明今天未必需要自己从零写一套循环,但仍须理解它把哪些责任交给了应用。Claude SDK · OpenAI runner
以 Open ETF Agent 为例,模型可以提议读取某页、执行计算或保存报告。工具宿主会检查工具范围、文档范围和参数,运行时记录实际派发及结果。模型说“已经保存”,和宿主留下可回读的文件回执,是两种不同的证据。公开运行时与工具实现
工具接口不仅供程序调用,也在教模型如何行动
普通接口的调用方通常按照既定契约编程。模型调用工具时,还会根据工具名称、参数说明和返回格式推断用途。一个叫 query 的万能工具,可能把资源范围、分页、时间口径和失败语义都留给模型猜。
更好的工具表面会让关键区别直接可见。例如“读取已授权文档的某一页”,就比“读取任意路径”更容易限定范围;返回文档版本、页码和完整性信息,也比只返回一段字符串更容易支持后续核查。
Open ETF Agent 的 read_result 回读已经取得的原始结果,而不是悄悄获取同一位置的最新内容;绑定来源的计算保留输入引用,CSV 可以继续消费同一个计算结果。这样,报告中的数字、附件中的数字和当时读到的依据才有机会对上。工具合同
Skill、MCP 与权限回答的是不同问题
Skill 适合封装一种可复用的方法:先查什么、如何比较、遇到缺口怎样处理,以及必要的模板和资源。MCP 提供外部工具与数据接入的协议。它们能改善 Agent 的工作方式,却不自动证明某个动作已经获得当前用户的授权。
这里也不能把某一项目的规则说成所有平台的共同规定。Open ETF Agent 中,Skill 不自行扩大原授权;Claude SDK 则允许宿主根据受信项目或个人 Skill 的 allowed-tools 配置预批准工具,并受组织设置约束。决定权限的是宿主接受的可信配置和策略,外部资料正文不能凭一句指令取得相同地位。Claude Skill 机制
Codex 对另一组区别的表达很直观:沙箱限定执行时可接触的文件、网络等资源,审批策略决定什么时候需要进一步批准。审批通过与执行隔离各有作用,不能用更聪明的模型替代其中任何一项。Codex 执行边界
三、开发者要管理两类状态:系统发生了什么,模型现在看到了什么
后台工程师习惯把数据库当作事实来源。Agent 还多出一份有限的“工作视图”:这次模型请求真正收到的上下文。
某份资料已经存入数据库,不代表模型已经读到它;模型读过某个片段,也不代表之后每一轮都还能看到;摘要中写着“已经验证”,更不能代替原始验证结果。
一次运行结束后,下一次究竟有什么不同?
传统后台也会更新数据库、保存报告和积累反馈,不能把它说成“每次从零开始”,再把 Agent 的所有变化都归入记忆。第一节比较的是一次任务怎样运行;这里比较的是运行留下什么,以及下一次怎样采用它。持久化不等于学习,存放在同一个数据库里,也不代表属于同一种状态。
仍用前面的两份材料作教学例子:第一次比较遗漏了费用口径,一周后用户带着新版材料再来。两类系统都能因读到新的数据库记录而得到不同结果;Agent 除此之外是否有所改善,要继续追问:
- 只保存旧报告:并不保证新 Run 知道上次的遗漏。
- 把旧报告和用户纠正明确带入本次输入:改变的是当前上下文,模型有机会据此检查费用口径,不是权重已经学会了新知识。
- 将“比较时单列费用口径”保存为获准偏好,并正确召回:形成跨任务连续性;还应检查实际模型输入,而不只查数据库记录。
- 明确修改比较 Skill,要求每次都检查口径:改变的是可复用方法。后台也可以把相同检查加入规则或工作流。
这个例子说明可能的机制,不是一次真实质量测评。第九节的实际 Memory 案例只确认有限的保存与后续输入消费,没有把它推成长期质量收益。
因此,后台会变,Agent 也会变;区别之一是,Agent 会把被选中的历史和派生材料交给模型重新解释,作为下一步判断的条件。 这种适应空间不取代后台基础,反而要求更明确地区分业务事实、执行事实与判断材料。需要核验的不只是“保存了什么”,还有“下一次实际读了什么、为什么可以使用、怎样影响行动”。
上下文工程由此变得具体:不是把能找到的材料都塞进去,而是选择对当前判断有用、仍然有效、来源清楚的内容。需要时能回读原文,不需要时可以省略。
这也解释了为什么“把上下文窗口做大”不是唯一答案。更大的窗口可以保留更多材料,却不会自动解决内容之间的冲突、旧偏好失效、工具结果诱导或重复研究。选择什么进入下一次请求,本身就是应用行为的一部分。
LangGraph 将线程内的 checkpoint 与跨线程 store 分开;Claude SDK 也明确区分会话历史和文件系统状态,会话恢复或分叉不会自动复制、回滚文件。不同体系的实现不同,但共同提醒我们:恢复对话、恢复计算位置和恢复外部工作成果,不能混用同一个“恢复成功”。 LangGraph 持久化 · Claude 会话
上下文管理还会改变资源分配。摘要、专家核查和补充检索都是实际工作,应计入同一项任务的预算,而不只是限制主对话轮数。Open ETF Agent 曾出现报告已保存、主任务未结束却重复摘要同一批材料的情况;它的修复转向校验并复用仍有效的摘要范围,而不是单纯放大调用额度。这个例子提示:维护上下文的机制也要有停止条件。教学实现主要约束调用额度,不等于完整的 token 或费用账本。设计来路
四、任务越长,越要承认“我还不知道发生了什么”
用一个普通后台开发也熟悉的例子:某个获准操作已经发往外部系统,对方可能已经完成,本地却因为断网没有收到回执。
如果它只是查询,重新读取也许可以接受,但新结果仍可能对应另一时点。如果它是发邮件、建订单或修改日历,重新执行就可能制造第二份效果。模型重新“想一遍”解决不了这一信息缺口。
关键分界在派发之前与之后。派发前明确被拒绝,可以在条件允许时修正参数或重试;派发后有可靠结果,就按原结果继续;派发后没有可靠结果,应保留未知,而不是把本地超时翻译成远端失败。
以派发为界区分未执行、已有回执和结果未知:未知操作先查原结果,不自动重发,也不因本地超时释放远端容量
图 2 · unknown 是需要处理的真实状态。进程已经停止,不代表外部动作已经停止。查看完整图
Open ETF Agent 从持久恢复设计开始,就把原 Run 的提案、工具派发、结果提交和结果消费分别记录。完整提案已经保存时,可以继续消费原提案;工具已经派发而结果未知时,不能重新执行来假装恢复。只有明确支持核对的适配器,才可以查询原操作是否完成。原授权、预算和截止时间也不会随着重启刷新。恢复设计 · 运行时恢复分支
这不是通用的外部“恰好执行一次”保证。数据库状态与外部动作通常不在同一个事务里,还需要业务幂等键、结果查询或明确的人工核对路径。LangGraph 官方也提醒:恢复 interrupt() 所在节点时可能重新运行代码,即使副作用放在审批之后,写入已成功、节点尚未完成时的故障仍可能导致重复写入。LangGraph 中断与副作用
持久恢复还会把视野推向人机协作。假如两份材料的统计口径无法直接比较,Agent 可以说明差异,请用户选择比较范围;这不是执行失败,也不必让模型反复猜测。系统应保存具体问题和当时的候选,等待回复,再核对回复是否仍对应当前任务与有效条件。保存 checkpoint 解决了“别丢进度”,却没有替用户作决定;能继续运行,也不代表现在应该继续。
对 Agent 来说,这类问题格外容易被“自主重试”的直觉遮住。一个好的运行时有时应该阻止模型继续行动:它需要先把原操作核对清楚,而不是给模型另一次机会猜测。
五、完成有三个层面,Agent 测试也需要三种观察
对开头的报告任务,至少有三个不同问题:流程是否正确结束,结论是否站得住,用户是否拿到了可读的成果。
工具成功读取文件,只说明文件读到了;保存报告成功,只说明某些字节保存了;报告引用了真实页面,也不能自动证明每句话都由该页面支持。Open ETF Agent 的运行结果保留 semanticStatus: unreviewed,就是把执行完成与语义评审分开。结果与回读说明
因此,传统测试仍然有明确位置:权限、参数、计算、事务、恢复和产物完整性,需要确定性的断言。模型引入的新问题,则要用任务样本检查它有没有找对依据、识别不可比条件、解释不确定性,并在证据不足时适当停止。
最后还要回到用户侧:报告能不能打开,附件与正文是否一致,中途失败后已经保存的阶段成果能否继续阅读。一个界面显示“已完成”,却下载不到文件,依然没有完成交付。
对研究任务,评测不宜机械要求唯一工具顺序。只要许可和业务约束相同,模型可能用不同路径找到相同依据。反过来,轨迹非常漂亮、工具调用很多,也可能没有解决原问题。应把目标完成、依据质量、执行可靠性和成本放在一起观察,避免只优化其中最容易计数的一项。
六、主流 Agent 给出的共同启发:复用运行能力,保留业务责任
成熟框架已经不只提供“模型调用加一个循环”。会话、工具执行、人工审批、上下文管理、持久恢复和轨迹观测,都有现成的实现。它们真正的区别,是把什么作为执行单元、由谁决定下一步,以及应用怎样接入自己的业务约束。下面仍用“两份材料比较并保存报告”作教学对照,不把官方能力列表当作本文跑过的测评。
Claude Agent SDK:把工作环境交给一个可执行的助手
Claude Agent SDK 复用 Claude Code 的工具、循环和上下文管理。相比自己拼接每轮消息、解析工具调用再继续,它更接近把一个具备读写文件、运行命令和调用扩展工具能力的执行器嵌入应用。上下文接近上限时,框架会压缩历史;这减少了应用维护循环的工作,但早期细节可能丢失,关键业务约束不宜只放在很早的一轮对话里。运行循环
在比较材料的场景里,应用可以准备独立工作目录,让 Agent 阅读两份文件、按需运行受控计算并生成报告。若有一项核对需要独立上下文,可以交给专门子 Agent,主任务再整合结果。这里的收益不是“角色越多越聪明”,而是把长材料和专门方法从主上下文中分离;简单并行读文件仍可用普通并发完成。子 Agent
真正需要认真设计的是执行环境。allowedTools 表示自动批准规则,不是“除此之外绝对没有工具”;部分调用在前置规则批准后不会进入 canUseTool。若租户范围检查必须逐次执行,应选择覆盖该调用路径的检查点,例如 PreToolUse hook,并由工具后端再次校验业务身份。权限规则也不等于文件系统和网络隔离。权限 · Hooks · 安全部署
它适合需要 Agent 在工作环境中持续操作的任务,但 resume 或 fork 不能替代工作区管理:分叉会话历史不会复制或回滚文件系统。要让两个候选报告互不覆盖,应用仍要准备各自的工作区或版本化产物。会话
OpenAI Agents SDK:把模型协作接入应用自己的调用链
OpenAI Agents SDK 提供运行循环、函数工具、交接、会话、审批和 tracing。已有后台服务可以把“读取授权资料”“计算可比指标”“保存报告”包装为工具;函数签名与说明形成模型可见的参数契约,业务服务继续掌握数据访问和写入规则。框架负责接住模型提案并推进循环,不要求业务数据库让位给聊天记录。工具
协作有两种不同结构。把专家作为工具调用,主 Agent 保持控制,接收专家结果后继续比较与成稿;handoff 则把对话控制交给接收方。前者适合“请专家核查统计口径,再由我完成报告”,后者适合“这个请求现在由另一类服务负责”。交接还涉及历史范围:默认传递的会话未必适合所有专家,应明确筛选输入,不能把压缩历史误当作脱敏。交接
状态支持也比“自己保存所有消息”更完整。Session 可自动加载和保存会话历史;需要人工批准的运行可以暂停为可序列化的 RunState,由应用存储后再恢复。两者分别解决会话历史与可恢复执行状态,不能混为一种业务事务。比如报告允许自动保存,但发送给外部收件人要审批:审批应绑定具体收件人、报告版本和动作,服务端核验批准者并防止旧批准重放。反序列化一个状态对象本身不会完成这些认证。Sessions · 人工审批
若等待需要跨越进程重启或很长时间,SDK 也提供与 Temporal 等持久工作流系统集成的路径。应区分三层:Session 保存会话,RunState 保存可继续的运行状态,持久编排基础设施负责长期执行与唤醒。不能因此把 OpenAI SDK 归为“只有内存循环”,也不能把序列化状态误认为已经部署了可靠的后台执行服务。长任务与持久执行
Guardrails 与 tracing 让检查和排障更容易,但覆盖范围必须读清。默认并行的输入检查可能与 Agent 执行重叠;若要求检查通过之前绝不能调用工具,就应采用阻塞检查。输入 guardrail 也不是每次工具调用的检查;逐次动作仍需对应工具管线或后端校验。轨迹能显示模型、工具和交接,却不能代替租户权限,也不自动证明结论正确;其中的输入输出还可能包含敏感材料,需要决定保留什么。Guardrails · Tracing
LangGraph:把不确定的判断放进可恢复的流程
LangGraph 以图状态、节点和持久化组织工作,既能表达预定工作流,也能容纳模型动态选择工具。材料比较可以拆成读取、口径检查、必要时询问用户、计算、成稿几个阶段;只有真正需要语义判断的部分交给模型,确定性计算仍是普通代码节点。图的价值不是强迫所有任务走同一条线,而是让应用明确哪些转移可以自主决定、哪些必须停下来。工作流与 Agent
Checkpointer 保存线程内执行状态,store 承载跨线程数据。持久化也有取舍:同步写入与异步写入的故障窗口不同,不能看到“有 checkpoint”就推断每一步都已安全落盘。对重要审批和外部写入,应按实际恢复要求选择持久化方式。持久化模式
interrupt() 可以暂停并等待输入,再以原线程身份恢复,但恢复会重新执行所在节点开头的代码,不是从暂停的那一行继续。假设报告发送成功后、节点提交前进程崩溃,恢复仍可能再次走到发送步骤。把发送放在审批之后并不足够,目标接口还需要稳定幂等键或原结果查询。查询暂时没有结果也不代表未执行;仍无法确认时应保留未知,不能自动重做。框架解决“从哪一段工作继续”,业务接口解决“这个效果是否已经发生”。中断与副作用
同样叫 Agent,交给框架的责任并不相同
Codex 同样说明执行边界与审批策略需要分别理解:允许运行一条命令,不意味着它可以访问所有文件和网络;命令运行成功,也不等于改动符合产品需求。工作区、验证与发布仍有独立的条件。Codex 安全边界
这些能力有重叠,上表是比较视角,不是排他分类。Open ETF Agent 则继续充当可拆解的教学样本:原始证据、共享预算、未知结果与有限组合可以沿固定源码检查,但不能凭教学样本的约束推断成熟框架也缺少对应能力。真正值得比较的是:同一份资料、同一次审批、同一个外部效果,在选定框架里分别由谁保存和验证。
七、用户离开以后:我们先把“继续做”和“回来读”分开
前面比较的是框架能提供什么。下面换成我们在私有研究应用中实际遇到的问题:不是描绘一个完整个人助手,而是看一次研究怎样逐渐承担跨时间的责任。这些案例已有独立专题;这里保留改变设计判断的经历,不把工程链路验收当作研究质量或真实用户收益。
断开连接,不应改变任务是否完成
最初很容易把浏览器连接当成任务的生命线:页面在,流式输出就在;页面走了,任务似乎也结束了。我们实际断开连接后,研究仍在推进。这迫使完成判断从“连接是否结束”移到原任务的持久状态和最终正文。
一次验证又暴露了更细的误判:执行占用已经释放,读取到的状态却仍是 streaming。稍后原记录完成,正文也已保存。若只盯着释放信号,就会把“资源可以让出”误判成“成果已经可读”,甚至错误启动第二次研究。我们把验收改为观察原任务终态与发表正文,并在关闭原运行环境后,由独立读取进程取得同一份成果,没有新增模型请求。
这个成果的价值很具体:用户回来要的是已经做完的工作,不是再花一次时间重新生成。 它证明已完成结果可以冷读,不等于任意中途崩溃都能无损恢复。传统后台同样会做异步任务;Agent 额外需要保留探索已经取得的证据与结果,不能用一次重新生成来假装读到了原成果。
“报告完成了”和“现在该通知了”是两件事
接着,定时交付让“完成”再次分叉。约定“某时交付”时,提前完成的正文可以先保存,但不能因此提前发送最终通知;约定“某时以前交付”则允许提前完成。如果到点只有部分结果,之后补齐正文也不能抹掉曾经错过期限的事实。
我们在真实应用页面、认证链路和隔离数据库中,用合成账户与脚本模型验证了这些区别:离开再回来沿原任务读,部分交付与后来完成分别记录,其他账户不能读取成果。这里验的是应用行为,不是生产服务时延或真实模型研究能力。
长任务的代价因此不只是一个队列。系统要分别保存执行进展、可读成果和交付承诺;一个总的“成功”字段已不够表达用户经历。异步研究与定时交付展开了这次拆分。
这次拆分也给出了一个有用的展望:长期目标可以跨越许多轮研究,每轮执行仍有自己的范围与终点。已经验证的是任务与连接分离、成果独立回读;把它进一步组织成可修改、可退出的长期委托,还需要管理每次触发的条件和当前授权。下图把这两个时间尺度与单次模型请求放在一起,帮助看清下一步要承担什么。
长期目标、单次 Run 与模型请求的三个时间尺度:有界执行按获准事件唤醒,等待可释放计算,成果独立保留
图 3 · 从已验证的任务与成果分离,推演长期目标、单次执行和模型请求的分工。完整长期委托仍是设计方向。 查看完整图
八、用户回答以后:消息收到,不等于工作已经改变
任务能在用户离开后继续,随后就会遇到另一种等待:模型需要用户补充资料、确定范围或批准动作。弹出问题框并不难,难的是回答能否进入真正等待它的工作。
我们把“收到回复”和“采纳回复”分成两个状态。收到表示系统已经保存;采纳表示原执行在安全的继续位置读到了它。等待一个决定时,其他独立工作仍可完成;回复到达也不能把无关任务一起放行。
这个区别在子任务协作中尤其明显。主任务替用户概括一句“可以继续”,与原专家实际读到用户的完整回答,不是一回事。我们的受控验证沿原应用、认证 HTTP、数据库和独立进程走通了这条链:恢复后的主任务先取得原回答,再明确继续原来的子任务;子任务获得的是独立的用户消息,不是主任务的随意转述。同一身份、相同原文的回复在回执丢失后重试,返回原接纳结果,不再新增一条回复或重派原研究;已经结束的任务则需要显式继续,不能被迟到消息悄悄重新启动。
这样做的价值,是让人的决定对执行真正生效,也让“还没有生效”可见。 后台表单通常把提交成功作为这一步的终点;Agent 的人机交接还要检查后续消费者,否则界面显示“已答复”,执行却可能继续使用旧条件。
这组成功来自合成数据和脚本模型驱动的真实应用链路,验证的是回复归属、交接与重放。它没有证明真实模型已经善于提问,也不代表生产中的自动挂起与恢复已全面启用。我们宁可保留这个边界,也不把一个机制成功包装成完整协作体验。持久人机交互记录了收到、采纳与显式继续的差别。
九、下一次对话:我们怎样判断记忆真的被使用了
前两步维护的是同一个任务。个人助手还需要跨任务的连续性:用户是否每次都要重说同一件事?但“数据库里有一条记忆”并不能回答这个问题。
启用可选的自动语义学习时,我们把它安排在当次回答形成持久终态之后,避免学习失败拖住已经可以交付的回答;同时把个人记忆与测试记忆分开,并把归属固定在对话创建时。切换界面选项不应把旧任务改归另一存储,重置测试数据也不能让迟到任务把旧结果写进新的一代。
在一组小规模真实模型验证中,我们使用合成用户陈述和明确授予的合成 Host 权限,观察到候选记忆成为有效记录,并进入另一次新对话的实际模型输入。这比“保存接口返回成功”多证明了一步:后续消费者确实取得了这条信息。 同组其他提议保留为候选;另一次普通自用链路中,自动学习任务确实运行,但提议被丢弃。后者证明处理链和归属正确,不能算作又一次成功记住偏好。
这些观察也改变了验收方式。回答符合某个偏好,可能只是模型本来就会这么写;只有检查实际输入,才能确认记忆参与了生成。而参与生成仍不等于改善质量:这组样本没有受控证明长期回答更好,也没有证明模型能普遍判断哪些信息值得记住。
因此,个性化的价值不能只用“存了多少条”衡量。值得保留的是跨对话少重复交代的可能性,必须支付的工程成本则包括来源、适用范围、更正和失效。我们已经在真实模型链路中确认有限的保存与消费,也明确保留“没有采用”的结果;持续收益仍需另外验证。关于旧记忆如何继续影响输入,以及为什么删除记录不等于完成遗忘,可继续读上下文治理行动篇与遗忘的持久效果。它们不是这组新增验证的原始记录。
沿着这条消费链继续看,个人助手有望减少用户重复交代,也必须让用户能够更正旧信息。图中的来源、范围、版本与授权不是“多存一点历史”的同义词:我们已核对有限的记忆保存与后续消费,完整的跨任务个性化治理和持续收益仍需继续验证。
个性化的设计关系:按来源、范围和版本使用信息,更正应撤销旧版本的后续使用资格并检查已识别的依赖摘要,操作授权独立控制执行
图 4 · 记忆怎样参与下一次工作,以及更正与授权应怎样约束它。图展示工程关系,不把有限样本扩展成完整个性化产品。 查看完整图
十、用户每天回来:个人助手也要把普通阅读做好
跨对话记忆之外,我们还做了一件看起来更普通的事:每日研究生成以后,让用户能稳定地回来读。它没有自动推送那么醒目,却直接影响“这还是不是我刚才看到的那份研究”。
应用把“生成今日研究”和“读取今日研究”分开。用户明确生成成功后,同一账户在同一服务端 UTC 日期再次打开或重复点击沿原成功结果读取;失败与没有合适条目分别处理,不能把空白当作正常完成,也不能把重开页面当作再次生成的授权。
实际问题出在两个地方。首先,长时间持有生成锁的研究占用了普通查询池连接,随后研究自身需要的嵌套查询得不到连接。我们改用独立且有上限的锁连接池,把持锁与查询资源分开,并在取得锁后再查一次已有成功结果。其次,缓存卡片展示的来源曾与原正文引用不一致:原引用是对的,读取投影错了。修正投影后,原卡片重新显示对应来源,正文没有重写,也没有新增模型调用。对于缺少准确引用身份的旧记录,仍保留已有许可视图,不能假称所有历史资料都能自动精确重绑。
这个案例提醒我们,Agent 产品的可靠性也藏在“不调用模型”的部分。 阅读应该是阅读,修正来源展示不应该生成另一篇报告;锁、连接池和来源身份这些后台问题,不会因为前面接了模型就消失。
有限的原结果复评也没有给出“每日选题都好”的结论:关联有支持的条目与关联有限的条目同时存在,实际追问成功率和真实用户采纳尚未验证。因此我们把成果表述为生成、保存、来源展示与复读链路得到改善,而不是已经做成了懂用户的主动投研服务。每日研究缓存与来源保留了这一案例的具体机制。
稳定复读是向主动助手继续推进的起点,而不是终点。下一步值得追求的是:按获准条件检查变化,真正影响目标时再研究,并把“值得现在通知用户吗”作为独立判断。这样的主动性应允许安静等待,也允许用户暂停委托;下面的循环是由现有案例引出的设计展望,尚不是已经验收的自动服务。
个人 Agent 设计展望:获准事件唤醒,重建当前目标和权限,有界执行并校验成果,按价值通知或安静记录,再持久等待
图 5 · 适度主动性的设计展望:事件触发有界工作,价值判断决定是否通知,等待不需要模型持续运行。 查看完整图
回顾:视野扩大,是因为前一步真的遇到了下一步的问题
最初,一次请求结束时,我们只要交出结果。研究任务变长,用户会离开,于是连接的终点不再是工作的终点;成果必须能独立保存和回读。任务需要人作决定时,保存一条回复又不够,必须知道它是否改变了实际执行。到了下一次对话,保存一条记忆同样不够,还要确认它进入了正确的输入。用户第二天回来,最后还要能分清这是原成果、新研究,还是一次单纯的来源展示修正。
这就是我们从后台请求走向长期个人助手时,视野实际展开的路径。不是因为先画出了一张能力全景图,再逐格填充,而是因为返回成功、保存成功、模型调用成功,都不足以单独说明用户的事情已经办好。 每一步都把责任延伸到下一个消费者和更晚的时间。
这些经验还没有组成一个全面成熟的长期个人助手。真实模型质量、选题价值和长期使用收益,需要与机制正确性分开继续检验。但方向已经更具体:成熟框架帮助我们组织探索与恢复,后台工程保存事实、身份和效果;个人助手的新增责任,是让用户的决定和既有成果在下一次工作中仍然可信。长期性不是让模型一直运行,而是让用户回来以后,不必重新建立对系统的信任。
从一次请求到持续任务、人机协作和长期个人助手:由当前结果扩展到跨中断的事实、人的决定和跨多次执行的委托
图 6 · 视野从一次请求扩展到持续任务、人机协作和长期个人助手。前三者有本文具体案例支撑,完整长期助手仍是这些经验指向的目标。 查看完整图
延伸阅读与交流
继续沿具体机制阅读,可以选择六层调用全景、超长研究全景、上下文治理行动篇与客户端交互全景。它们分别展开请求交接、持续研究、记忆消费和用户控制;本文的比较与实践复盘可独立阅读。
English edition · 全景系列。如果这些文章与可运行示例对你有帮助,欢迎给 Open ETF Agent 或工程文集一个 Star,也欢迎用具体场景讨论不同的工程选择。
原文与交流
阅读原文
本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。
If back-office applications have been used, Agent ' s first contact is often familiar: receiving requests, checking information, calling interfaces, saving results and returning to users. Putting the model in the middle seems to be an operational system with natural language portals.
The real change occurs in the course of operation: what next step does is no longer written in advance by the developers, but may be determined on an ad hoc basis by the model based on the material just seen. This decision will also be influenced by context, tool descriptions, historical summary and user preferences.
Thus, the Agent Project was to accommodate a decision-making chain with semantic uncertainty based on mature back-office work. Developers need to be able to both explore and interpret each action, each interruption, and each outcome. At the personal assistant level, these constraints are subject to change across time and users.
The first half of the work is controlled more by a teaching mission: read the two Fund disclosures and generate reports, and see how tools, status and maturity frameworks are organized. The second half turns to the different delivery, manual response, memory consumption and daily re-reading that we have done in our private research applications, explaining why the horizon has expanded with practical success and reverse examples. Teaching cases, script models acceptance check and small-scale real model observations, respectively, do not represent real investment research or automated trading capabilities.
The first half of the open teaching exercise was based on Open ETF Agent v. 0.19.0, which was checked on 3 November 2026, and the mainstream system used official information consulted on the same day. Open ETF Agent is a local teaching project suitable for dismantling mechanisms; Claude Agent SDK, Codex, Open AI Ages SDK and LangGraph provide different levels of operational capability. They assume comparative coordinates in this paper and do not constitute product rankings. Version and Source Entry
I. To see changes in control from the same mission
It is assumed that the user will say: “Comparison the material of the two funds, tell me what has changed, attach the source and keep a report.”
When the rules are clear, the back-office program can fully complete it: read the specified file, verify the date and field, perform fixed calculations and apply the reporting template. When field was missing, the error was returned and when human confirmation was required, the approval process was initiated. Such a programme would be easy to test and would facilitate recovery.
But an open mission may reveal the real problem after reading the material: The timescales vary between the two documents, with one table disclosing only some items and the so-called “growth” using different denominators. The system needs to decide whether to read the original language, find a comparable calibre, change the analytical method or give only conditional conclusions.
Here the value of the model emerges: it can produce new research actions based on observations. At the same time, models can misjudge gaps, choose wrong tools or write fluid conclusions when they are not sufficiently substantiated.
These are not two mutually exclusive worlds. The workflow engine already supports dynamic branches, hiking and long-term missions, and Agent is well embedded in a fixed process. The change is that part of the control decision is generated by the model, whose judgement conditions are constantly changing.
Ruled drive path against Agent observation cycle: model proposes action, host validates and executes, returns model, refuses and delivers each exit
Figure 1. Decision-making can be delegated to model exploration, and the conditions for implementation remain in the hands of the system. The grouping in the figure is a description of responsibilities and does not require a break-in into independent services. View Full Chart
II. The smallest Agent is an observation cycle, where engineering is difficult outside the cycle and in transit.
A model request may return the answer or the tool call proposal. Pick up the proposal while running, verify and call the tool, and put the real results in the next model input. New observations once again change the subsequent choice until delivery, waiting or stopping.
Claude Agent SDK has made the cycle, tools and context management used by Claude Code available for application; Open AI Agents SDK's runner will also continue around tool call, interface and final output. This suggests that it is not necessary today to write a cycle of its own from zero, but it is important to understand what responsibilities it assigns to its application. Claude SDK Open AI Runner
In the case of Open ETF Agent, the model can propose to read a page, perform calculations or save reports. The tool host will check the scope of the tool, document scope and parameters, and run the actual distribution and results. The model states that it is “saved” and that the host leaves a returnable document, which is two different types of evidence. Open run time and tool realization
Tool interfaces not only for program calls, but also for modeling.
The caller for the normal interface is normally programmed according to an established contract. When the model calls the tool, the use is inferred from the name of the tool, the description of the parameters and the return format. An all-powerful tool called query may leave the range of resources, page breaks, time calibres and failure semantics to models.
Better tools on the surface make the key differences directly visible. For example, reading a page of an authorized document is easier to limit than reading any path; returning document versions, page numbers and integrity information is easier to support subsequent verification than returning only a string.
Open ETFAgent's read result rereads the original results already obtained instead of quietly accessing the latest content of the same location; the computational retention reference for bound sources allows CSV to continue consuming the same result. In this way, the figures in the report, the figures in the annex and the basis on which they were read at the time had an opportunity to match them. Tool contracts
Skill, MCP and permission answered different questions.
Skill is suitable for a reusable method of sealing: what to look at first, how to compare, how to address gaps encountered, and the necessary templates and resources. MCP provides external tools and data access protocols. They improve the way Agent works without automatically proving that an action has been authorized by the current user.
Nor can the rules of a particular project be described here as common to all platforms. In Open ETFAgent, Skill does not extend the original authorization on its own; Claude SDK allows the host to set the pre-approved tool according to the mailed-tools configuration of the mailed project or individual, and is bound by the organizational settings. The decision on permission is a credible configuration and strategy accepted by the host, and the body of external information cannot be given the same status by a single instruction. Claude Skill Mechanism
Codex expressed the other distinction intuitively: Sandbox limits access to documents, networks, etc. for implementation, and approval strategies determine when further approval is required. Approval and separation from enforcement are useful and cannot be replaced by a smarter model. Codex, enforce the border.
Developer to manage two types of state: what happens to the system, what the model sees now.
Back-office engineers are accustomed to using databases as a factual source. Agent also produced a limited “work view”: this model actually requested context.
The fact that a particular information has been stored in the database does not mean that the model has read it; that the model has read a section or that it can be seen on every round thereafter; and that the summary writing "verified" is not a substitute for the original validation results.
What's the difference after a run?
Traditional back-offices also update databases, preserve reports and accumulate feedback, which cannot be described as “every time starting from scratch” and incorporate all changes in Agent into memory. The first section compares how a mission operates; here it compares what remains and how it will be used next. Endurance does not amount to learning, is stored in the same database and does not represent the same state.
Two previous materials are still used as examples of teaching: for the first time, the cost calibration was omitted, and a week later the user came back with a new version of the material. Both systems have different results from reading the new database records; Agent, apart from this, continues to ask:
- Only old reports: no guarantee that new Run knows about the last omission.
- Bringing old reports and user corrections clearly into the current input: the change is the current context, where the model has the opportunity to check the calibration of costs, rather than having acquired new knowledge of weights.
- Maintaining a “single-cost calibration for comparison” as an approved preference and correctly recalling it: to create cross-mission continuity; and to check actual model input instead of only database records.
- Clearly revise the comparison, Skill, to require each calibration to be checked: the change is the reusable method. The same check can also be added to the rules or workflow in the background.
This is an example of a possible mechanism, not a real quality assessment. The actual Memory case in section IX recognizes only limited preservation and subsequent input consumption and does not translate it into long-term quality gains.
So, backstage changes, and Agent changes; one difference is that Agent gives the selected historical and derivative material to the model for reinterpretation as a condition for next step judgement. Rather than replacing the back-office base, this adaptation space requires a clearer distinction between business facts, implementation facts and judgement material. It is not only “what to keep” that needs to be verified, but also “what to actually read next time, why to use, and how to influence action”.
The context project became concrete as a result: rather than stuffing all the materials that could be found, it chose what was useful to the current judgement, still valid and clearly sourced. Read the original language back if needed and omitted if need be.
This explains why “making context window big” is not the only answer. Larger windows can retain more material, but do not automatically resolve conflict of content, old preferences fail, tool results induce or duplicate research. The choice of what to enter the next request is in itself part of the application.
LangGraph separates checkpoints within a thread from cross lines store; Claude SDK also clearly distinguishes between session history and filesystem state, and recovery or forkback does not automatically copy and roll back files. Different systems have been achieved differently, but together remind us that a return to dialogue, a return to counting positions and a return to external results cannot be combined with a “restoration success”. LangGraph Endurance Claude Session
context management will also change resource allocation. summary, expert verification and supplementary retrieval are all practical tasks that should be included in the budget for the same mandate, rather than merely limiting the number of main dialogue rounds. Open ETF Agent has reported that the primary mission was not completed but repeated the same materials; its restoration shifted to verify and reuse the range of summary, which is still valid, rather than simply scaling up the call to quota. This example suggests that the mechanism for maintaining context also has to be suspended. Teaching achieves the main constraint by calling quota, which does not amount to a complete token or expense book. Design a path.
IV. THE LONGER THE MANDATE, THE RECEIVING ACCOUNTS “I DON'T KNOW WHAT HAPPENED”
A common back-office development is also familiar: an authorized operation has been sent to an external system, the other party may have been completed, while local responses have not been received because of the offline.
If it was merely a query, rereading might be acceptable, but the new result might still be appropriate at another point in time. If it is a mail, order or calendar change, re-enforcement may create a second effect. This information gap cannot be addressed by the model's “think again”.
The key boundary is before and after dispatch. An express rejection prior to dispatch allows for the correction of the parameter or retry when conditions permit; a reliable result after dispatch continues as it is; and no reliable result after dispatch should remain unknown, rather than a remote translation of local timeout failed.
Distinguishing unexecuted, confirmed and results unknown from distribution: unknown operation to check results without automatic re-issuance or release remote capacity from local timeout
Figure 2 unknown is the real state that needs to be addressed. The process has stopped and does not mean that external movements have stopped. View Full Chart
Open ETF Agent records the original Run proposal, the distribution of tools, the submission of results and the consumption of results, starting with the Protracted Recovery Design. When the full proposal is saved, the original proposal can continue to be consumed; when the tool has been distributed and the outcome is unknown, it cannot be re-executed to pretend recovery. Only the adaptor that clearly supports the check can query whether the original operation was completed. The original delegation of authority, budget and deadline will not be updated with the resumption. Resume design. Resume branch when running.
This is not a universal external “just one time” guarantee. Database status and external actions are usually not in the same service and require such key, result query or clear manual check paths. The LangGraph official also warns that the code may be restarted when it is restored to the interrupt() node, and that even if the side effects are after approval, writing down failures when the node is successfully completed may lead to repetition. LangGraph break and side effects
Sustainable recovery will also move the horizon towards human collaboration. If the statistical calibration of the two materials cannot be directly compared, Agent can explain the differences and ask users to choose the range of comparisons; this is not a failure of implementation and does not have to allow models to speculate. The system should keep a specific issue and the candidate at the time, pending a response to verify whether the response remains relevant to the current mandate and the conditions of validity. Save checkpoint solves "do not lose progress" without making a decision on behalf of the user; it can continue and does not mean that it should continue now.
For Agent, such problems are particularly susceptible to the perception of “autonomous retry”. A good run should sometimes prevent the model from continuing: It needs to check the original operation clearly, not give the model another chance to guess.
Five: There are three levels to complete.
There are at least three different questions about the initial reporting tasks: whether the process is correctly concluded, whether the conclusions stand and whether the user has a readable result.
The tool successfully reads the document, indicating only that the document was read; saving the report only indicates that some byte was saved; the report refers to the real page and does not automatically prove that every sentence is supported by that page. Open ETF Agent's running results are kept semanticstatus: unreviewed, separating execution from semantic evaluation. Results and return notes
As a result, traditional tests are still clearly located: permission, parameters, calculations, services, restoration and integrity of the product, a claim requiring certainty. The new questions introduced by the model are examined by task sample as to whether it has found a basis, identified incomparable conditions, explained uncertainty and properly ceased when insufficient evidence is available.
Finally, we have to go back to the user side: whether the report can be opened, whether the annexes are consistent with the text, and whether the results of the stages that have been saved after the mid-course failure can continue to be read. An interface displays “completed” documents but cannot download them and delivery is still incomplete.
For research missions, it is not appropriate to assess the mechanical order of the only tool required. As long as licences and business constraints are the same, models may find the same basis using different pathways. On the other hand, the trajectory is very beautiful and tool call Zs are numerous and may not solve the problem. Objectives should be achieved, based on quality, performance reliability and cost should be observed together, avoiding optimizing only one of the easiest to count.
VI. Common inspiration from mainstream Agent: reuse of operational capacity and retention of operational responsibility
The mature framework already provides more than “model calls plus one loop”. Meetings, tool implementation, manual clearance, context management, durable recovery and trajectory observations are all available. The real difference is what they use as an implementation module, who decides next step, and how to access their business constraints. The “two materials compare and keep the report” is still used as a pedagogical comparison and the official competency list is not used as a running test for this paper.
Claude Age SDK: Hand over the work environment to an enforceable assistant
Claude Agent SDK reuses Claude Code tools, loops and context management. It is closer to embedding an implementer with the ability to read and write files, run commands and call extension tools than it is to continue by collating tool calls per round of messages. context approaches the upper limited-time, which reduces the application maintenance cycle, but early details may be lost and key operational constraints should not be confined to an early round of dialogue. Run Loop
In the scenario of the comparative material, it is possible to prepare an independent working directory for Agent to read two files, run controlled calculations and generate reports on demand. If a check requires an independent context, it can be handed over to the specialist Agent, whose main task is to consolidate the results. The proceeds here are not “smarter roles”, but rather the separation of long materials and specialized methods from the main context; simple parallel readings can still be done in common. Child
What really needs to be carefully designed is an implementation environment. A listedTools indicates that the automatic approval rule is not “there is absolutely no other tool”; part of the call does not enter a canuseTool after the pre-rule approval. If the tenant range check has to be performed on a sequential basis, select the check points that cover the call path, such as PreToolUse hook, and verify the business identity again at the back end of the tool. Nor is the permission rule equal to the segregation of document systems and networks. permission Hooks Safe Deployment
It suits the task that Agent is required to operate continuously in the working environment, but resume or fork cannot be a substitute for workspace management: fork session history does not copy or roll back file systems. In order for the two candidate reports not to be covered by each other, the application would still have to be prepared for the respective workspace or version of the chemical product. Session
Open AI Agents SDK: Apply your own call chain for model collaborative access
Open AI Generations SDK provides run loops, function tools, interconnections, sessions, approvals and processing. Back-office services are available to package “reading authorized information” “calculating comparable indicators” “storing reports” as tools; functional signatures and descriptions form model-visible parameters compacts, and business services continue to master data access and write rules. The framework is responsible for capturing the model proposal and advancing the cycle, without requiring business databases to be assigned to chat records. Tools
There are two different structures for collaboration. Maintain control of the expert as tool call, master Agent, and continue to compare with the written results after receiving the expert results; and Handoff gives dialogue control to the recipient. The former is for “experts to verify the statistical calibre and I to complete the report”, while the latter is for “the request now falls under another type of service”. Intersection also involves a historical dimension: the default message does not necessarily fit all experts, the input should be clearly screened, and compression history errors should not be treated as dissensitisation. Handover.
The state support is also more complete than “all messages saved by yourself”. The session automatically loads and saves the session history; operations that require manual approval can be suspended as serialized Runstate, which is restored after storage by the application. They address the history of sessions separately from the state of implementation, which cannot be confused as an operational matter. For example, the report is allowed to be saved automatically, but sent to an external recipient for approval: approval should bind specific recipients, report versions and actions, service-end approvalers should verify approvals and prevent re-alignment of old approvals. Inverse sequenced a status object will not by itself complete these authentications. Sessions. Manual approval
Waiting for the process to be restarted or to take a long time, SDK also provides a path for integration with durable workflow systems such as Temporal. A distinction should be made between three levels: the Session saves sessions, the Runstate saves a continuing state of operation, and the durable structure infrastructure is responsible for long-term implementation and awakening. Open AI SDK cannot therefore be classified as "memorization cycle only" or miscalculated as having deployed reliable back-office implementation services. Long-term mandate and sustainability
Guardrails and Tracing make it easier to check and disable, but the coverage must be read. Default parallel input checks may overlap with Agent execution; if inspection is required never to be called before passing, block checks should be used. Enter guardrail and not every tool call check; successive actions still need to be matched by a tool pipe or backend verification. Tracks show models, tools and interfaces, but do not replace tenant permission and do not automatically justify the conclusion; their input and output may also contain sensitive materials that need to be retained. Guardrails Tracing
LangGraph: Put an uncertain judgment into a recoverable process
LangGraph organizes its work in graph status, nodes and perseveration, both to express the workflow reservation and to accommodate the model dynamic selection tool. Materials can be broken down into reading, calibration, querying users, computing, writing stages, if necessary; only those parts that really require semantic judgement are handed over to the model, and certainty calculations remain ordinary code nodes. The value of the map is not to force all missions to follow the same line, but to allow applications to identify which transfers can be determined by themselves and which must stop. workflow and Agent
Checkpointer saves the inside execution state of the thread, Stoe loads the cross-line data. Persistence is also a trade-off: unlike the malfunctioning window where synchronisation is written, “checkpoint” cannot be seen to assume that every step has been safely closed. For critical clearance and external writing, a durable approach should be chosen based on actual recovery requirements. Enduring Mode
Interrupt() can suspend and wait for input and resume as original, but restores the code that starts at the node, not continue from the suspended line. Assuming that the process has collapsed after the report has been sent successfully and before the nodal submission, recovery may still move to the sending step again. Sending after approval is not sufficient, and the target interface also requires a stabilization key or original result query. The fact that the query is pending does not mean that it has not been executed; if it is still unconfirmable, it should remain unknown and cannot be automatically repeated. The framework addresses “from which period of work to continue” and the business interface addresses “whether this effect has occurred”. Interruption and side effects
Same as Agent. The responsibility for the frame is different.
Codex also stated that the implementation of the border and approval strategy would need to be understood separately: allowing the operation of an order does not mean that it can access all documents and networks; the order is successfully operated and does not mean that the change meets product needs. Workspaces, certification and publish remain independent. Codex secure border
These competencies overlap and the above table is a comparative perspective rather than an exclusive classification. Open ETF Agent continues to act as a detached teaching sample: original evidence, shared budget, unknown results and limited combinations can be checked along the fixed source code, but the maturity framework cannot be inferred from the constraints of sample. What is really worth comparing is the same information, the same approval, the same external effect, and who saves it and validates it in the chosen framework.
After the user has left: let's separate “continue to do” from “Read back”.
What the framework provides is the comparison. Instead of depicting a full personal assistant, we look at how responsibility over time is gradually assumed. These cases already have a stand-alone topic; the experience of changing design judgement is retained here, rather than treating engineering links acceptance check as research quality or real user gain.
Disconnect, do not change whether the mission is completed
At first, it was easy to connect the browser as the lifeline of the mission: the page was there, the current output was there; the page was gone and the task seemed to be over. Research is still advancing after we actually cut off the connection. This compels the completion of the judgement to move from the “termination of the connection” to the durability and final text of the original mission.
A single validation revealed further miscalculation: execution of occupancy has been released and the read state remains streading. The original records were later completed and the text was kept. By simply staring at the signal, “resources can be released” is miscalculated as “results are readable” and even wrongly initiated a second study. We changed acceptance check to observe the final and published text of the original mission, and after closing the original operating environment, the same result was achieved by the independent reading process, with no new model requests.
The value of this result is specific: the user returns for what has already been done, not for another time to be regenerated. It proves that the completed results can be read in cold print and do not amount to an arbitrary collapse without damage. Traditional back-offices also perform different tasks; Agent has an additional need to preserve the evidence and results obtained from exploration and cannot be regenerated to pretend to read the original results.
"The report is complete" and "the time to notify" are two things.
Next, time delivery allows “complete” to be split again. When “a certain delivery” is agreed, the body completed earlier may be saved first, but the final notice cannot be given in advance; the agreement “a certain delivery prior to” allows for early completion. If there were only partial results at the point, the completion of the text would not erase the fact that the deadline had been missed.
We have validated these differences with synthetic accounts and script models in real application pages, authentication links and isolated databases: leaving and coming back to read the original mission, partial delivery and subsequent completion of separate records, while other accounts cannot read the results. The test is applied behaviour, not production service latency or real modelling capability.
The cost of long missions is therefore more than just a queue. The system needs to preserve implementation progress, readable results and delivery commitments separately; an overall “success” field is no longer sufficient to express user experience. This timed split has been carried out by the Step Study and Time Delivery.
This split also offers a useful perspective: long-term goals can cut across many rounds of research, each of which has its own scope and end point. What has been verified is the separation of tasks from connections and the independent reading of results; it is further organized into a reversible, reversible, long-term commission, with the need to manage each trigger and the current delegation of authority. The figure below combines these timescales with the single model request to help see what next step is going to take.
Long-term objectives, single Run and three timescales for model requests: enforcement awakened by authorized events, waiting to be released, results independently retained
Figure 3 Separation of proven tasks from results and evolution of the division of labour between long-term objectives, single execution and model requests. Full long-term delegation remains the design direction. View Full Chart
viii. After user answer: Message received does not mean that work has changed
The mission can continue after the user has left, and then another waiting period is encountered: the model requires additional information from the user, determination of the scope or approval of the action. The pop-up question box is not difficult; it is difficult to answer whether or not to get into the job that really awaits it.
We split “received responses” and “accepted responses” into two states. The receipt indicates that the system has been saved; the acceptance indicates that the original execution was read at a safe continuation. While waiting for a decision, other independent work could still be done; the return arrival could not release unrelated tasks together.
This distinction is particularly evident in subtask collaboration. A general “can continue” for the primary task is not the same as the complete answer actually read by the original expert. Our controlled certification goes along this chain with the original application, authentication HTTP, database and independent process: the primary mission after recovery gets the original answer, then the original subtask clearly continues; subtask gets independent user information, not a random recitation of the main mission. The response in the same identity, in the same original language, after the loss of the letter, returns to the original reception and does not add a new response or re-assign the original study; the completed task needs to continue in a visible manner and cannot be quietly restarted by late news.
The value of doing so is to give real effect to the decision for implementation and to “not yet in force”. Back-office forms usually end with a successful submission; Agent's hand-over also checks subsequent consumers, otherwise the interface shows a “response” and implementation may continue using the old conditions.
This group was successfully derived from the real application links driven by synthetic data and script models, which were validated by the return attribution, transfer and replay. It does not prove that the real model is good enough to ask questions, nor does it mean that the automatic hanging and restoration in production is fully operational. We would rather retain this boundary than package a mechanism successfully into a full collaborative experience. The SPL interactively recorded continued differences between receipt, adoption and appearance.
IX. THE NEXT DIALOGUE: HOW DO WE DECIDED THAT MEMBER WAS REALLY USED?
The first two steps were to maintain the same task. Personal assistants also need continuity across missions: do users always repeat the same thing? But "there's a memory in the database" does not answer that question.
When the optional automatic semantic learning is enabled, we schedule it after the current response has become a permanent one, avoiding the failure of learning to delay an answer that can already be delivered; at the same time, separate individual memory from test memory and fix attribution at the time the dialogue is created. Toggle the interface option should not convert the old task to another storage, or reset the test data so that the late mission can write the old result into a new generation.
In a small set of authentic model validations, we use synthetic user presentations and clearly awarded synthetic Host permissiones to observe candidate memory as a valid record and enter into a practical model input for another new dialogue. This is more than proof of the success of the “maintain interface return”: subsequent consumers do indeed have this information. Other proposals from the same group were retained as candidates; in another ordinary self-service link, the automatic learning mission did run, but the proposal was abandoned. The latter proves that the processing chain and attribution are correct and cannot be counted as another success in remembering preferences.
These observations have also changed the acceptance check approach. The answer corresponds to a certain preference and may be that the model is written as such; only if the actual input is checked can the memory be recognized as contributing to the generation. Participation in generation is still not the same as improving quality: This group of sample did not prove to be a better long-term response, nor did it prove that the model generally judged what information was worth remembering.
Thus, the value of individualization cannot be measured only by “how many exist”. It was worth retaining the possibility of less repetition across the dialogue, while the cost of the works to be paid included origin, scope of application, correction and invalidity. We have identified limited conservation and consumption in the real model chain and have expressly preserved the “no-use” result; continuing gains still need to be verified separately. With regard to how old memories continue to influence input and why the deletion of records does not amount to completion of the forgotten, it is possible to continue reading the context governance chapter and the lasting effect of the forgotten. They are not original records of this group of additional verifications.
Following this chain of consumption, personal assistants are expected to reduce the number of repeat statements from users, who must also be able to correct old information. The source, scope, version and mandate are not synonymous with “a little more history” in the figure: we have checked limited memory preservation and subsequent consumption, and complete cross-mission personalized governance and ongoing gains still need to be validated.
Individualized design relationships: using information by source, scope and version, correction should remove the old version ' s subsequent eligibility and check the identified reliance on summary, with operational authorization for independent control of execution
Figure 4. How to remember how to participate in the next exercise and how corrections and mandates should bind it. The figure shows the engineering relationship and does not extend the limited sample to complete individualized products. View Full Chart
X. Users come back every day: Personal assistants also have to read. Okay.
Beyond the memory of the conversation, we did something that seemed more ordinary: Through daily research, users can return to read in a stable manner. It does not automatically send as much visibility as it does, but it has a direct impact on “this or the study I just saw”.
The application separates “generation of today's research” from “reading today's research”. When the user is clearly successful in generating the same account, clicks again or again on the UTC date at the same service end to read the result of the success; failure is treated separately from the absence of a suitable entry, and the blank cannot be considered normal completion or the re-opening of the page is not authorized to be generated again.
The real problem is in two places. First, long-held research with generating locks takes up common query pool connections, and then researching its own embedded queries is not connected. We have moved to an independent and capped lock-link pool to separate the lock from the query resources and to check for successful results once the lock has been secured. Second, the source of the cache card display had been inconsistent with the original text quote: the original quote was correct and the projection was misread. When the projection is corrected, the original card re-shows the corresponding source, the body text is not rewritten and no new model calls have been added. In the case of old records that lacked accurate references to identity, a valid view was kept and it could not be assumed that all historical information could be automatically and accurately retied.
This case reminds us that the reliability of Agent's products is also hidden in the "no call model." Reading should be reading, and correction of the source display should not generate another report; back-office problems such as locking, connecting pool and source identity do not disappear as a result of a previous model.
The limited review of original results also did not give the conclusion that “the selection is good on a daily basis”: the associated supporting entries exist at the same time as the associated entries are limited, and the actual queries about success rate and the actual user acceptance have not yet been validated. We therefore express the results as generation, preservation, source display and re-reading links, rather than as a user-informed, proactive research service. The daily study of cache and the source retained the specific mechanism for this case.
Stable repetition is the starting point, not the end point, for moving forward towards active assistants. next step is worth pursuing: checking changes on the basis of approved conditions, re-examining the real impact on the target and using the phrase “are it worth informing the user now” as an independent judgement. Such initiative should allow for quiet waiting and for users to suspend their entrustment; the next cycle is a design vision that is generated by existing cases and is not yet an automatic service that has been provided by acceptance check.
Personal Agent Design Vision: Awakening of authorized events, rebuilding of current targets and permission, implementation and validation of results, value-based notification or silent recording, and protracted waiting
Figure 5 Design prospects for moderate initiative: the event triggers work, value judgement decides whether to notify and waits for the model to run. View Full Chart
Retrospect: the widening of the horizon was due to the fact that the problem of next step was actually encountered in the first step.
Initially, at the end of a request, we simply hand over the results. The longer the research mission, the user leaves, the end point of the connection is no longer the end of the job; the results must be independently preserved and read back. It was not enough to keep a response when a mandate required a decision, and it was important to know whether it changed the actual implementation. By the time of the next dialogue, it would be equally inadequate to keep a memory and to confirm that it entered the correct input. The user returns the next day and is able to determine whether this is the original product, new research, or a simple source presentation.
That's the way we actually move from a backstage request to a permanent personal assistant. It is not because a capability panorama has been drawn and then filled in on a case-by-case basis, but because returns have been successful, preservation successful, models have been successfully called, not enough to show that the user's affairs have been done separately. Each step extends responsibility to the next consumer and later.
These experiences have not yet formed a fully mature long-term personal assistant. The quality of the true model, the value of the chosen subject and the benefits of its long-term use need to continue to be tested separately from the validity of the mechanism. But the direction has become more specific: mature frameworks help us organize our exploration and recovery, back-office projects preserve facts, identities and effects; and the added responsibility of personal assistants is to make user decisions and established results credible in the next exercise. The long-term nature is not to keep the model running, but to return the user without re-establishing trust in the system.
From one request to an ongoing mission, human collaboration and long-term personal help: from the current results to the facts that cut across interruptions, decisions of people and multiple assignments
Figure 6. The first three are supported by this specific case, and full long-term assistants remain the target of these experiences. View Full Chart
Extension reading and communication
Continued reading along specific mechanisms allows for the selection of six layers to be called to the panorama, the superlong study panorama, the context governance action section to interact with the client panorama. They carry out the exchange of requests, continuous research, memory consumption and user control; the comparison and practice of this paper can be read independently.
English edict. Panorama series. If these articles and runable examples help you, you are welcome to have a Star for Open ETF Agent or Engineering and to discuss different project options with specific scenarios.
Original language and communication
Read original
Auto-fetched and translated by AI Atlas. All rights belong to the original author.