- 博客(27)
- 收藏
- 关注
原创 07:Permission & Safety:Claude Code 如何裁决一次动作能不能执行
上一篇讲 plan,重点是 Claude Code 怎样先把任务整理成一条行动路线。但 plan 只是“准备怎么做”。真正动手时,系统还要继续问:这一步现在能不能执行?这个问题很具体。比如 plan 里写“读取配置确认服务启动参数”,听起来很正常。可真正落到工具调用时,目标文件可能是.env。再比如 plan 里写“运行测试验证修改”,如果命令是pnpm test,通常是合理的验证动作;如果命令变成下载脚本并直接执行,风险就变了。
2026-08-19 20:58:46
189
原创 06:Planning & Task State:Claude Code 怎么使用 plan 稳住任务
上一篇讲 Context Management,重点是:Claude Code 每一轮到底让模型看见什么。但模型看见材料以后,还要继续往前走一步。它需要把用户目标、项目上下文、工具结果和已有约束整理成一个可以执行的路径。否则上下文越多,反而越容易变成“看到哪里就追到哪里”。所以这一篇只抓住一个问题:Claude Code 是怎么使用 plan,把一个模糊任务变成可执行、可校正、可验证的工作路径?这里的 plan,不是为了让回复看起来更有条理。
2026-08-19 20:58:11
151
原创 05:Context Management:Claude Code 如何决定这一轮看什么
上一篇讲 Memory System,重点是:哪些经验值得跨会话留下,下一次还能被 Claude Code 召回。但记忆被保存下来,只解决了一半问题。真正到某一轮模型调用时,还要继续追问:这些记忆、项目规则、工具结果、文件片段、历史消息,到底哪些会进入上下文?按什么顺序进入?太多时怎么处理?这篇就看 Context Management。这里说的上下文,范围比“聊天记录”大得多。
2026-07-14 17:18:57
227
原创 04:Memory System:Claude Code 如何把经验变成可召回知识
上一篇把 Prompt System 理解成 Claude Code 的行为协议装配层。提示词系统解决的是“本轮 agent 应该按什么身份、规则和工具契约行动”。但长期协作里还有另一个问题:有些信息反复出现,用户不想每次都重新解释,agent 也不该每次都重新踩坑。这就进入 Memory System:Claude Code 如何判断什么值得被记住,并在后续任务里把它重新召回?这篇拆的是一条信息管道:一条信息从当前会话出现,到成为可复用记忆,再到下一次进入模型上下文,中间到底发生了什么。
2026-07-14 17:18:36
388
原创 03:Prompt System:Claude Code 如何让 Agent 按协议行动
上一篇把工具系统当成 Claude Code 的执行层来看。工具让 agent 有了行动能力:它可以读文件、搜代码、改内容、跑命令、拿到验证结果。但工具一旦能接触真实项目,新的问题马上出现:模型为什么知道自己该怎样使用这些工具、遵守哪些项目规则、用什么方式和用户协作?这篇就接着看 Prompt System。我现在更愿意把它叫作“行为协议层”。
2026-07-05 14:31:57
350
原创 02:Tool System:Claude Code 如何把想法变成行动
文章摘要: Claude Code 的工具系统是连接模型意图与真实项目的执行层,负责将“读文件”“改代码”等动作转化为受控操作。其核心流程包括参数检查、权限判断、执行动作和结果封装,确保每一步可追溯。工具分为三类风险等级:只读观察、写入修改和命令执行,支持并行调用以提升效率。工具协议需明确描述、输入、风险和输出格式,便于模型选择与系统调度。结果需结构化(如diff、退出码、错误类型)以支撑主循环的下一步决策。工具分层管理(常驻/延迟加载)和扩展机制(插件/MCP)适应复杂场景,平衡能力与风险。
2026-07-05 14:31:28
309
原创 01:Agent Loop:Claude Code 的运行时主循环
上一篇先把 Claude Code 放回工程系统里看。它更像一个能进入仓库、观察环境、调用工具、处理风险、验证结果的 coding agent。沿着这个角度往下拆,第一条主线就是 Agent Loop。工具、上下文、提示词、计划、权限、恢复、多 agent,后面都会单独讲。但这些模块最后都要挂到同一条运行链路上:用户给出一个目标以后,Claude Code 如何一轮一轮地观察、判断、行动、接收反馈,直到任务完成、阻塞或需要用户决策?
2026-07-01 20:30:59
418
原创 00:为什么要拆 Claude Code:从一次回答到工程系统
这个系列写完以后,我希望得到一套理解 coding agent 的工程框架。它的主循环是什么?它有哪些基础工具?它如何组织提示词和项目规则?它如何管理记忆和上下文?它如何规划任务并维护状态?它如何处理权限和安全?它如何记录执行轨迹?它如何从失败中恢复?它如何扩展到外部工作流?它什么时候需要多 agent?这些问题能帮助我把一个产品拆回工程系统。
2026-07-01 20:21:50
222
原创 MySQL
insert into 表名(字段名1,字段名2) values (值1,值2),(值1,值2)…;delete from 表名 where id = xxx;update 表名 set 字段名1 = 值1,字段名2 = 值2 where id = xxxx;select * from 表名 where id = xxx group by 分组字段名 【having 分组后过滤条件】order by 字段名 asc/desc limit 起始索引,查询记录数;
2025-09-03 21:24:42
653
原创 SQL进阶
MySQL存储引擎与索引优化摘要: MySQL主要存储引擎包括InnoDB(支持事务、行锁)、MyISAM(不支持事务、表锁)和Memory(内存存储)。InnoDB采用B+树索引结构,支持聚簇索引,而MyISAM使用非聚簇索引。索引优化需遵循最左前缀法则,避免索引失效情况(如列运算、字符串不加引号等),推荐使用联合索引减少回表查询。SQL优化建议批量插入数据、有序主键设计避免页分裂。性能分析可通过慢查询日志、explain执行计划等工具实现。合理设计索引需考虑字段使用频率、区分度和联合索引顺序。
2025-05-27 14:41:43
633
原创 SQL基础
SQL(结构化查询语言)是用于管理和操作关系型数据库的标准语言。它主要分为以下几类:DDL(数据定义语言),用于定义和修改数据库结构,如创建、修改、删除表和数据库;DML(数据操作语言),用于对数据进行增删改操作;DQL(数据查询语言),用于查询数据,包括基础查询、条件查询、聚合函数、分组查询、排序查询和分页查询;DCL(数据控制语言),用于管理数据库访问权限。此外,SQL还支持多种函数,如字符串函数、数值函数、日期函数和流程函数,以及约束条件来确保数据的完整性和一致性。在多表查询中,SQL支持内连接、外连
2025-05-21 12:33:39
262
原创 Java反射
文章主要介绍了在Java中如何通过反射机制获取类对象、构造方法、成员变量和成员方法。首先,获取类对象有三种方法,且这三种方法返回的结果相同。其次,获取类中的构造方法可以通过getConstructors()或getDeclaredConstructors()实现。接着,获取成员变量可以通过getFields()或getDeclaredFields()方法。最后,获取成员方法可以通过getMethods()或getDeclaredMethods()。这些方法为动态操作类提供了灵活性和扩展性。
2025-05-19 11:36:19
238
原创 网络编程学习
本文介绍了网络编程的三大要素:IP地址、协议和端口。IP地址通过InetAddress类进行管理,用于标识网络中的设备。协议部分主要讨论了UDP和TCP两种通信协议,UDP适用于无连接的数据传输,而TCP则提供可靠的、面向连接的通信。UDP通讯程序包括发送和接收数据的过程,支持组播功能,组播IP地址范围为224.0.0.XXX。TCP通讯程序则通过建立连接、传输数据和关闭连接来实现可靠的数据传输。这些内容为网络编程的基础知识,帮助开发者理解并实现网络通信功能。
2025-05-19 10:27:56
186
原创 多线程&JUC
本文主要介绍了并发与并行的概念、多线程的实现方式、线程的生命周期、线程安全问题及其解决方案,以及线程池的使用和自定义线程池的创建。并发指多个指令在单个CPU上交替执行,而并行则是多个指令在多个CPU上同时执行。多线程可以通过Thread类、Runnable接口、Callable和Future接口实现。线程的生命周期包括创建、就绪、运行、阻塞和终止等状态。线程安全问题可以通过同步代码块、同步方法、Lock锁等方式解决。线程池则通过Executor框架实现,可以自定义线程池的大小和参数,以提高线程管理的效率和性
2025-05-17 12:05:20
214
原创 IO流学习
本文介绍了Java中流操作的核心概念和技术,涵盖了字节流、字符流、缓冲流、转换流、序列化流、打印流以及解压缩流的使用方法。字节流包括FileOutputStream和FileInputStream,支持文件的读写和复制;字符流通过FileReader和FileWriter处理字符编码问题;缓冲流(如BufferedInputStream和BufferedReader)提升读写效率;转换流(如InputStreamReader)用于字节流与字符流的转换;序列化流(ObjectOutputStream和Obje
2025-05-17 09:47:38
466
原创 File文件
本文介绍了File类的常用成员方法,主要分为三类:判断和获取、创建和删除、获取并遍历。判断和获取方法用于检查文件或目录是否存在、获取路径等;创建和删除方法用于创建新文件或目录、删除现有文件或目录;获取并遍历方法用于获取文件夹中的所有内容,并将其以数组形式返回。这些方法为文件操作提供了基本功能,适用于处理文件系统中的各种任务。
2025-05-15 10:19:28
488
原创 异常捕获与抛出
文章主要介绍了Java中的异常处理机制。首先,JVM默认处理异常的方式是将异常信息打印在控制台并停止程序运行。其次,通过try-catch结构可以捕获并处理异常,允许多个catch块,且父类异常应放在子类异常之后。异常可以合并处理,程序在捕获异常后仍可继续执行。文章还详细介绍了异常处理的常见方法,如getMessage、toString和printStackTrace,并解释了它们的功能。此外,抛出异常通常写在方法上,以告知调用者异常情况,而捕获异常则写在可能出错的代码上,以确保程序继续运行。最后,文章提到
2025-05-14 14:06:49
266
原创 集合-方法引用
本文介绍了Java中方法引用的几种常见形式。引用静态方法时,直接使用类名::方法名;引用成员方法时,其他类方法需先实例化对象,本类方法使用this::,父类方法使用super::,静态方法中this和super不可用;引用构造方法时,使用类名::new,需确保参数对应且方法内容符合要求;类名引用成员方法时,直接使用类名::方法名;引用数组构造方法时,使用数据类型[]::new,需确保数组类型与流中类型一致。这些方法引用形式简化了代码,提高了可读性。
2025-05-14 10:40:09
201
原创 集合stream流
本文介绍了Java中Stream流的使用方法,包括如何获取流、中间方法和终结方法。单列集合可以通过list.stream()获取流,双列集合需先转换为单列集合后再使用.stream()。数组可以通过Arrays.stream()获取流,零散数据则使用Stream.of()。中间方法如过滤、映射等可以对流进行操作,终结方法如toArray()和collect()则用于将流转换为数组或集合。toList()和toSet()的区别在于后者会自动去重。
2025-05-14 09:42:47
256
原创 双列集合学习
本文介绍了Java中的双列集合,主要围绕Map接口及其实现类展开。Map通过键值对存储数据,常用方法包括put用于添加或覆盖数据,并支持三种遍历方式:通过键找值、键值对同时遍历以及利用lambda表达式。HashMap是Map的常用实现,而LinkedHashMap保持了插入顺序,TreeMap则根据键自动升序排序,支持自定义比较器。此外,文章还提到了Collections工具类,用于操作单列集合,并补充了可变参数的概念,强调其灵活性和使用位置。
2025-05-13 16:20:34
195
原创 1.Flask_FileUpload 2.矛盾 3.你必须让他停下 4.game1
1.Flask_FileUpload这个回显的意思查了一下大概是:不同APP下templates目录中同名.html文件造成冲突。我们直接使用cat命令查看flag试试让上传一个jpg文件输出py代码思想是将.py代码包装成jpg文件osos库提供通用的、基本的操作系统交互功能。os库是Python标准库,包含几百个函数分为路径操作、进程管理、环境参数等几类。路径操作:os.path子库,处理文件路径及信息进程管理:启动系统中其他程序 os.system环境参数:获得系统软硬件信息
2022-05-10 11:54:03
184
原创 bugku Simple_SSTI_1and 2(SSTI模板注入)
1.Simple_SSTI_12.Simple_SSTI_2输入:http://114.67.175.224:15355/?flag={%%20for%20c%20in%20[].class.base.subclasses()%20%}{%%20if%20c.name%27catch_warnings%27%20%}{{%20c.init.globals[%27__builtins__%27].eval(%22__import__(%27os%27).popen(%27ls%20/app/%27).rea
2022-05-10 10:46:07
737
原创 CTF-Web SQL注入
sql注入基本情况了解联合查询注入union报错注入一.sql注入基本信息1. sql注入方式常见的主要分为三种:1. 联合查询注入(union)2. 报错注入3. 盲注(布尔盲注,时间盲注)2.注入点提交方式GET注入提交数据的方式是GET,注入点的位置在GET参数部分。比如有这样的一个链接 http://xxx.com/news.php?id=1 , id 是注入点,一般注入点是url为主。POST注入使用 POST 方式提交数据,注入点位置在 POST 数据部分,常发生在表单
2022-04-26 17:39:35
5675
原创 CTFHub- Web 信息泄露
一.目录遍历单纯的一个一个目录的找二.PHPINFOphpinfo可能会泄露项目php版本和服务器变量等信息,安全起见我们需要禁用phpinfo函数,那我们该如何禁用phpinfo函数呢?首先打开php.ini,找到“disable_functions”,没有则新增,修改成以下:disable_functions =phpinfo disable_functions是禁用php函数,多个函数英文逗号分隔禁用:disable_functions =函数1,函数2,函数3,phpinfo这道题只是
2022-04-22 21:39:42
1778
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅