自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 问答 (1)
  • 收藏
  • 关注

原创 AgentScope Java v2 第13课,派出去的活怎么自己回来

第13课揭示子代理机制核心:agent_spawn 三态(同步/后台/强制同步)实测仅两条路径有效——同步直返与 task_output 兜底,文档承诺的“后台自动注入”未实现。子代理为完整 HarnessAgent,不可嵌套(限3层),继承 DENY 权限,支持 persistSession 确定性复用,连 MEMORY.md 自动写入。实验基于真实 DeepSeek 调用,证据可对账,结论来自两轮复现(E1-E5)。委派非控制权转移,主代理仍负总责,返回逻辑依赖显式查询,非自动注入。

2026-11-11 08:27:36 39

原创 AgentScope Java v2 第12课,一套工具三种后端

同一个 write 调用,本机柜 25 字节落盘,KV 柜变成一条键、磁盘查无此物——agent 的文件世界不止磁盘一种。第 12 课解剖这套文件系统:7 个工具永不变,底下三个柜子(本机 Overlay、KV 命名空间、沙箱容器)随 Builder 一行切换;路径边界有画线与砌墙两套哲学,write 只管创建、快照要自己灌回、产物出厂走 deliver_artifact。读完就知道部署形态怎么选、参数什么时候动、哪些文档话不能信。共约 5501 字 · 阅读约 14 分钟。

2026-11-10 09:00:01 123

原创 AgentScope Java v2 第11课,agent 的家底是一棵会生长的目录树

重置后 agent 的工作区是 0 项,聊一句长到 12 项,半小时 34 项——没人写文件,全是框架照契约自己长。本课解剖这棵树:三类落点、AGENTS.md 三层遮蔽、注入管线五段、@path 四道闸、tools.json 白名单,以及 8000 token 预算对中文的失真。看懂它,就知道 agent 每轮带着什么去回答、改哪样才真的生效。共约 6214 字 · 阅读约 16 分钟。

2026-11-09 08:38:42 297

原创 AgentScope Java v2 Lab-1,审批只走有门的腿

将挂有 ASK 规则的 Agent 接入 OpenAI 兼容 API 时,finish_reason: "tool_calls" 表面正常,实则服务端已因权限规则触发 cancel,未执行操作。问题根源在于:API 腿无审批回路,无法响应 ASK 指令,导致“暂停”被协议误译为“完成”。解法是双腿分叉——人工回路保留全量规则与审批;纯 API 腿强制 Bypass,仅留 deny 白名单,确保审批不可绕过。附第 6 课十题查漏与货代生产对照,所有证据可溯源。

2026-11-06 08:30:00 319

原创 AgentScope Java v2 第10课,压缩改历史,记忆搬事实

本文通过三个实验拆解AgentScope 2.0.3中压缩与记忆机制的运作逻辑:压缩将9条历史简化为摘要+尾部,虽保留“夜莺”等关键记忆,却丢失原始语句;记忆则在不调用工具的情况下,主动将事实写入磁盘。核心在于三道上下文闸门——固定开销、动态历史裁剪与内存刷新,其中仅前两道影响工作历史。压缩触发依赖50条或16万token阈值,实际切点受“工具配对保护”约束,确保不破坏上下文完整性。摘要以USER角色注入,承载意图、总结、成果与下一步行动,但原文仅存于快照或日志中。最终揭示:压缩非加法,而是有损替换;记忆非

2026-11-05 09:14:25 177

原创 AgentScope Java v2 第9课,Harness 总架构:13 个中间件从哪来

一个未配置的HarnessAgent默认加载13个中间件、23个工具,并将状态存于家目录。本文通过解剖端点/workbench/harness/anatomy,揭示其默认装配机制:12项能力并非对应12个中间件,核心逻辑在“横切归中间件,控制流归引擎”。中间件顺序由框架固定,用户自定义仅影响自身排序;状态、权限等共享对象跨中间件传递,实现插拔式扩展。最终明确,Harness是模型之外的工程系统,边界清晰,责任分明——差异不在循环本身,而在默认装配的厚度与栈位布局。

2026-11-04 09:09:14 422

原创 AgentScope Java v2 第8课,会话状态住在哪

本文剖析会话记忆的三层架构:L1对话历史、L2会话账本(跨请求持久化)、L3模型无记忆。通过E1–E4与G2五组实验,揭示记忆失效边界——刷新丢令牌、重启失中断表、删除需逐出缓存、共享store致状态串乱。核心结论:记忆存在于AgentState,由RuntimeContext携带,落于实例表、stateCache与AgentStateStore三处;模型仅被动接收,不参与记忆。实测基于AgentScope 2.0.3,验证框架级状态管理逻辑。

2026-11-04 09:08:46 249

原创 AgentScope Java v2 第7课,中间件洋葱模型

本文介绍Agent中间件机制:通过在执行流程外嵌入自定义类,实现不改框架、模型与提示词的前提下,对Agent行为进行全局控制。核心为五个钩子(onAgent/onReasoning/onActing/onModelCall/onSystemPrompt),分别作用于整单、轮次、工具批、模型调用及提示词生成阶段,支持日志审计、内容加工、限流计费等跨工具逻辑。结合AOP思想,采用“洋葱模型”实现多层注入,通过order控制执行顺序,支持短路与事件流处理。实测验证其可改输入、加工事件流,但无法修改历史记录。附文档

2026-11-04 09:08:17 306

原创 AgentScope Java v2 第6课,权限系统与 HITL

本文通过六个实验深入解析AgentScope 2.0.3的权限系统,以“订舱被卡”为切入点,逐层拆解HITL机制:从审批卡生成、事件流结构、批准后恢复逻辑,到参数修改、规则优先级、模型盲区与模式切换。每个实验均结合页面操作、代码实现与源码定位(javap+GitHub),验证deny→ask→自检→allow→BYPASS→兜底ASK的六步流程,揭示权限系统如何在工具调用中动态拦截与放行,强调人工干预并非简单开关,而是深度集成于执行链路的核心控制点。

2026-10-29 14:50:44 130

原创 AgentScope Java v2 第5课,两个注解背后的调用链

agent 调工具,从头到尾没有一行 Java 代码在思考。本文把两个注解背后的调用链拆开:注册如何把方法变成模型面前的菜单、模型如何只点菜不做菜、框架如何反射派工回填,外加一台 MCP 服务器三行接入;最后用一条四个字的指令「帮我订舱」让模型自己证明——调不调,它说了算。

2026-10-28 15:44:28 403

原创 如何写 Skill 番外,你的第一个自定义 agent

本文讲述作者将重复使用的“触发盲测纸条”固化为首个自定义 agent —— trigger-tester 的全过程。通过四次手写同一提示词的实践,揭示了“重复劳动即造岗”的核心原则。文章系统解析了自定义 agent 的三大读者(委派者、运行时、分身)及其对应字段的职责,强调 description 为常驻预算重点,body 是分身世界观。同时指出字段拼错静默忽略的风险,提出“写完即验”的防错策略,并揭示描述符总量超限的第四道预算关——岗不在多,在于有效留存。最后以两份标本对比,展现不同 body 哲学的设计

2026-10-27 08:35:08 126

原创 如何写 Skill 第12课,收束:学完,不等于学会

十二课结课考3/8,三道对题皆源于亲手检索的硬事实,五道错题集中于机制与判断句,暴露“学完不等于学会”——流畅≠存储。学习科学揭示:测试是学习而非评估,检索练习强化存储强度。工坊实操中,以215K安装标本为基,偷骨架补软肋,六站全过,worktree-flow验收通过;差分显示其卖点非token压缩,而是错误下限控制。文末附判断句地图与skills.sh上架路径,复盘核心:唯有主动检索,方能将知识炼成可调用的“存储”。

2026-10-27 08:34:42 213

原创 如何写 Skill 第11课,实战工坊:痛点验出来,骨架偷出来

选题之难不在“怎么写”,而在“写什么”。本文以安装量为需求证据,通过skills.sh数据与GitHub API对质,验证痛点真实性。经五判据筛选,锁定高价值标本using-git-worktrees(21.6万安装),并解剖其单文件、零脚本结构,厘清worktree与branch本质差异。全程坚持“验过的才算数”,从选题到立项,步步实证,杜绝臆断。

2026-10-26 15:42:01 307

原创 如何写 Skill 第10课,字段全景:请求,不是契约

SKILL.md 字段对账揭示核心真相:写字段是请求而非契约,生效以真机为准。20个实现字段、18个命令字段、6个标准字段形成三圈,存在静默忽略与打包报错矛盾。字段按读者分三堆——模型读3个(name/description/when_to_use)、人看3个(argument-hint/user-invocable/disable-model-invocation)、运行时认14个。工具善意幻觉致多处翻车,校验器、教程、标准间冲突频发。静默降级、格式暗坑、可移植性三律与换机三问,皆指向唯一真理:唯有真机认

2026-10-26 08:24:20 271

原创 如何写 Skill 第9课,评测:装上和关掉各跑一遍

评测技能实效,须立“三账”公式:对预期、对基线、对成本。仅跑通不等于有效,必须通过双臂对比(含对照组)计算 delta,以 pass rate、token、时长三列读数真实反映贡献。题库按真实使用设计,判分需带原文证据、存疑从 FAIL,检查项依四形态过堂。两轮真机实验验证:技能非“有功即稳”,而在于差值是否正向且可衡量。

2026-10-23 11:44:36 357

原创 如何写 Skill 第8课,多 skill 体系治理:从治一个到治一片

装上百个 skill 后,问题不在单个技能,而在“之间”:领地重叠、名字座次冲突、开关分层混乱、条目污染账本。本文以三个真实库的审计为教材,剖析四类“之间病”的机理——领地叠缝、名字座次、三层开关、卫生缺失,并揭示官方规范的局限性。文末附十分钟个人库对账清单,助你从“写得好”迈向“用得准”。

2026-10-23 08:38:49 146

原创 如何写 Skill 第7课,子 agent 派工:买的是干净,不是人手

自定义 agent 是下的一个 md 文件:项目级盖过用户级,name 和 description 必填,正文就是它的 system prompt,字段约 24 个(官方文档,2026-10-16 现查)。一次性活别建,纸条点名内置工种更便宜;低频活别建,每月一次养不起一个岗;探索期别建,需求还在漂,固定岗是负资产。本机我的用户级和项目级 agents 目录双双为空(我实测,2026-10-16),前面六课的实验零自定义 agent,照样走完。

2026-10-22 08:55:47 118

原创 如何写 Skill 第6课,分诊五连问:skill 看病指南

本文揭示 skill 调试的“静默失败”困境:无报错、无断点、难复现。提出五问分诊树——在吗(装载)、响吗(触发)、照做吗(正文)、跑得动吗(脚本)、灵吗(接口),每层依专属证据渠道(菜单、批测、全文、stderr、支持矩阵)诊断。附30秒机械体检命令与四件骨架,强调“量两次,判两次”,杜绝误判。核心是构建反馈回路,以结构化排查替代盲目猜测,实现高效定位与修复。

2026-10-20 11:15:27 233

原创 AgentScope Java v2 第4课,一个 cached 读数背后是两套机制

本文通过三组实验、字节码分析与官方文档,揭示HarnessAgent中cached=768的真相:该数值为服务端缓存命中输入token数,非新组件产物。实验显示缓存对请求前缀高度敏感,仅当输入完全一致时才命中。机制上,Model接口负责请求分发,ChatUsage.cachedTokens记录命中量,经事件链传递至前端。缓存生效依赖真实模型调用,假模型因无usage数据无法体现。最终确认768是标准缓存机制下的正常读数,其背后是模型解析与前缀缓存优化双重机制共同作用的结果。

2026-10-16 09:26:22 244

原创 AgentScope Java v2 第3课,从 ReActAgent 到 HarnessAgent

结论先说:HarnessAgent 不是第二台引擎,它就是上一课那个 ReActAgent,外面套了一层替你装好中间件的装备舱。我拿自己的 workbench 做了个控制变量换装实验:同一道题,同一个模型,事件流一条没多,input 涨到 8.2 倍。这门课我上完本来是想吐槽的。第三课的主题是 Quickstart 精读,我原本以为就是带读一遍官方快速上手,结果上完只剩一句感想,原话记在笔记里:「我感觉没学到什么东西啊,就是改了一点代码?」后面还跟了两句:「至少把 ReActAgent 和 HarnessA

2026-10-16 09:25:34 290

原创 AgentScope Java v2 第2课,ReActAgent 的循环引擎

本文通过实验剖析ReAct循环的三种收场方式:正常收束、打满降级与用户中断。实测表明,当maxIters耗尽时,框架并非抛出RUN_ERROR,而是转入summarizing流程,以RUN_FINISHED结束,且仍能输出完整答案。关键事件EXCEED_MAX_ITERS以RAW类型发出,不触发异常,揭示“打满≠错误”的核心机制。作者以三次预测全错为代价,验证了框架在边界条件下的稳健设计,强调需以字节码和实测为准,而非直觉推断。

2026-10-16 09:25:05 316

原创 如何写 Skill 第5课,输入输出接口:skill 的三张口

本文通过实测三类技能接口($ARGUMENTS、!command、context:fork),揭示其底层机制:参数以消息尾随方式传递,预载命令在渲染期执行并替换为输出,外派则将任务交由“失忆分身”独立处理。三大特性均非直接生效,而是通过字段体系构建能力边界——官方仅支持20个字段,跨平台仅认6个,version不列其中。可移植写法核心为:正文必写兜底句,依赖模型从调用消息中提取输入。全文基于公开标本与真实实验,全程透明可复现。

2026-10-16 09:24:20 122

原创 AgentScope Java v2 第1课,消息与事件模型

一句“现在几点”触发44条事件流,揭示Agent内部机制:事件分“进历史”与“仅流过”两类。消息世界以Msg为信封,ContentBlock为信纸,实现类型化通信;事件世界则通过31类事件(如REASONING_START、TOOL_CALL)传递增量过程,仅拼合完成的块进入历史。关键区分在于:事件是过程,块是状态;事件可丢,块需存。工具调用三阶段(注册、宣告、意图)强调每轮重传,模型不记事。最终,44条中仅17+1+17=35条构成有效消息,其余为过程日志或账单。核心结论:事件流是消息世界的投影,完整可重

2026-10-14 21:36:29 388

原创 如何写 Skill 第4课,脚本不进门

按系列惯例,文中自家项目的 skill 脱敏成「评审类 skill A」「测试类 skill B」,其余标本一律实名。skill-audit 是这一课现搓的,经允许,你可以照着复现。

2026-10-14 21:35:09 449

原创 如何写 Skill 第3课,正文不是文档,是快照

本文揭示大模型技能系统中“快照机制”的深层影响:正文作为一次性注入、跨轮留存的静态快照,导致四问判别标准(常驻性、简洁性、归属、行数)均依赖信息完整性。摘录测试中3/5误判,根源在于局部信息缺失——如“Why two axes”叙述因未被引用而被误删,全文才显其价值;超线(1004行)虽超标,但通过Triage分级与路由设计实现自救。核心结论:模型不重读,判决取决于上下文完整度,而非内容本身。

2026-10-13 07:51:44 293

原创 如何写 Skill 第2课,description 是路由表不是简介

本文揭示了技能触发机制的核心误区:description 是路由唯一依据,而非简介。作者通过亲身教训指出,误报与漏报源于描述词序不当或负边界未写入description,而“幽灵skill”实为frontmatter解析失败导致description为空。修法关键在于:漏报补真实用户话术,误报删宽泛动词;所有边界必须写在description中。验证须用真实prompt对比装/关状态,确保“该来者来,不该来者不来”。

2026-10-13 07:51:11 289

原创 如何写 Skill 第1课,上下文经济学

先给结论。写 skill 的全部讲究,拆到底是一笔账:怎么花最少的上下文,办最多的事。最顺手的两条老路,全塞系统提示和封装成工具,都答不全这道题;答案卡在中间,按三层收钱。先声明一句:文中两个自家 skill 脱敏叫「评审类 skill A」「测试类 skill B」,tdd 这类公开 skill 实名,机制、数字照实测写。这个系列怎么来的,一句带过:我手搓过不少 skill,效果时好时坏,说不清为什么,干脆系统学一遍。第一课不讲写法,先对账。账不清楚,写法都是碰运气。第一笔:300 行规范全文贴进 CLA

2026-10-12 21:17:04 295

原创 AI 编程的需求交付,我是这样管起来的

本文揭示了在AI编程时代,即便代码无误、测试全绿,仍可能产出“非预期功能”的根本矛盾:需求在传递中逐级衰减。作者通过四套开发流程套件的亲历横评,指出瓶颈已从“写代码”转向“需求交付”。最终选定Matt Pocock系列流程作为主干,其核心是“拷问式澄清需求”与“规格驱动开发”,通过grill、to-spec、to-tickets、implement、code-review五步闭环,实现需求精准传递。关键在于将“对”的定义前置,用pre-agreed seams和双轴评审守住质量,真正解决信息衰减与质量幻觉问

2026-10-12 08:43:14 349

原创 适配Android15 | 升级SDK35 | failed to load include path platforms\android-35\android.jar

先说结论,IDE要升级到2024.1.2 或更高版本,我之前是2024.1.1,反复折腾,都无法build,报错【failed to load include path platforms\android-35\android.jar】,查找文件,确实是存在的。目前Android的APP需要做升级适配,原本是打算升级到34,即Android14的,但是看到35 即Android 15 beta出来了, 想着一步到位,就处理了。建议2:如果引入依赖有问题,需要上第三方SDK查看文档,看看需要升级到什么版本。

2024-10-15 16:07:14 6777

原创 跨系统通信(系统间接口调用)的数据状态控制

一般的,如果做好足够的测试,生成上出现问题大概率是网络或者配置参数问题,一般可认为数据未正常发送到对方,但是需要谨慎,集齐特殊场景下,网络波动引起的异常。2、发送数据到外部系统,收到成功的返回,则数据标记为1,已发送,处理中。如果发生异常3,则表示对方成功接收到了数据,但是本地处理有问题,这种情况最为复杂,因为此时并不清楚对方的返回结果,因此建议此类数据进行锁定,都需要人工干预才能再处理。通常的,与外部系统交互,发送和接收的报文,包括相关异常,都需要记录到日志表,以便待查。然后进行后续耗时的操作。

2024-10-15 15:51:26 1075

原创 Angular10+Zorro10整合

随着前后端分离的火爆,以及npm生态的成长,各种前端开发越来越火爆,加上之前就接触过angular、ionic、uniapp等等,做过移动端的H5开发,这次想着整理一把PC版本的前后端分离。 目前angular以及发布了10版本,随着版本的逐渐迭代,功能的完善,以级生态的丰富,可以说是,现在要什么有什么,只有你想不到,没有你找不到。angular相关的信息可以查看文档:https://angular.cn/docs,他也有一些推荐,包括官方的,华为的,gz-Zorro的,以及...

2020-10-22 22:07:41 2864 3

原创 VMware 安装/升级 macOS 10.15.4

最近,因为客户使用我们的IOS版本APP出现了问题,了解到客户版本为IOS13.3,版本,因此想要在本机上debug一下看看具体是什么问题。 因为使用的是VMware+mac虚拟机做的开发,在调试的时候,遇到的第一个问题就是版本问题。现有环境mac是10.14.5,xcode许久未升级,这次要升级至少需要mac10.15.2的版本。系统升级也不敢随便升级啊,因此先找个真机调试包,...

2020-03-29 21:05:24 10471 1

原创 算法之排序2——选择排序

选择排序的基本思想:每次选择出一个最大(最小)的数,放到最前(最后)。其实选择排序和冒泡排序非常类似,每一次计算都是选出一个最大(最小)的数,差异在于处理的方式不一样。    第一次选择:用第一个数,逐次比对后面的所有的数,把更小的数放在第一位;    第二次选择:用第二个数,逐次比对后面的所有的数,把更小的数放在第二位;    ......    第N-1次选择:用第N-1个...

2018-11-25 15:06:29 307

原创 算法之排序1——冒泡排序

冒泡排序的基本思想:每次比较相邻的两个元素,如果不符合排序顺序,就交换位置。冒泡排序的算法核心是冒泡,假如有10个数,要进行9次运算,每次一次运算都挑选出最大(最小)的数,放到数组的最后(最前);每次都从第一个数开始,已经排序好放到最后的数不再参与。    第一次冒泡时,从第一个数开始,需要比全部的数;最大的数放到了最后;    第二次冒泡时,从第一个数开始,只需要比N-1个数,因为最...

2018-11-25 14:39:52 292

原创 算法之排序0——简化版桶排序

看了《啊哈!算法》一书,打算写点读书笔记,记录一下。先说说桶排序,先说说超级简化版本的桶排序: /** * 简化桶排序,以简单的整型为例,数值是多少,就在数组下标相同(桶)的数加一;例如取到数13,那么就a[13]++; * 然后循环桶,输出值大于0的角标(1输出1次,2输出2次) */ public static void Tong() { int a[] = ...

2018-11-25 13:32:46 287

原创 微信支付趟坑记

最近因为项目需求做了支付,暂时集成了支付宝支付和微信的支付,涉及到PC端口Web网页支付,和手机APP支付。支付宝的集成相对容易一些,文档齐全,描述规范,也便于理解,在此就不再累述;但是微信支付真的就是呵呵哒了,文档及其简单,有等于没有,沙箱测试环境问题非常多,且支付过程难以理解,趟了无数坑之后,终于搞定,因此记录一下,希望能帮到有需要的人。 【只说微信APP支付】 先简单讲几...

2018-05-27 12:41:06 3393

原创 Java集合整理

整理一下Java的集合。Java的集合主要包括以下几个主要的接口:主要分为collection接口和map接口,还有一个Iterator,迭代器;它是一种设计模式,也是一个对象,它可以遍历并选择序列中的对象;Java中的集合,可以简单的分为3类:List、Set、Map。1、List接口,最常用的实现是ArrayList,一般开发中用到List集合存储对象;2、Map接口,最常

2016-08-16 16:52:30 301

原创 Java技能树

Java技能树

2016-08-16 16:17:52 913

原创 spring security

spring security框架出来很久了,之前也研究过一段时间,现在有时间刚好整理一下。这次做的,是全数据库配置,5张表。用户,角色,资源,用户-角色映射,角色资源映射。当然还可以进一步的扩充,菜单表,用户菜单表。 jar包什么的,可以直接从官网下,就不再说了,先从web.xml配置说起。 security 的filter,拦截全部的请求:<filter>...

2013-07-27 10:10:13 184

原创 DB2递归查询

     递归 SQL 在 DB2 中通过公共表表达式 (CTE,Common Table Expression) 来实现。递归 SQL 由递归 CTE 以及对递归 CTE 结果的查询组成。那什么是递归 CTE 呢?简言之,如果 CTE 中的 FULLSELECT 在 FROM 子句中引用到 CTE 本身,就是递归 CTE。递归 CTE 包含以下三个组成部分:初始查询初始查询是 C...

2013-07-27 09:38:55 790

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除