Agent Skills
返回列表
大模型安全写文件

大模型安全写文件

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-llm-safe-write。

技能介绍

问题:Write 不是总能一次写完整

在使用支持工具调用的编程 Agent 时,Write 会把文件内容放进一次 JSON 工具调用。文件超过 50 行,或包含 CJK 字符、特殊转义序列时,字符串体积膨胀或缓冲边界变化,可能出现 Unterminated string、JSON truncation,甚至 Write 显示成功但后续 Read 发现末尾内容被截掉。重试同一份内容通常不会解决根因。

核心策略:ASCII 骨架 + 分段 Edit

llm-safe-write 的核心不是换工具,而是换写入方式:

  1. 先用 Write 写骨架:只写 ASCII,控制在 50 行以内,所有 CJK 文本替换为 PLACEHOLDER_xxx,函数签名保留正确缩进。
  2. 再用 Edit 逐段填充:每次 Edit 修改控制在 30 行以内,把占位符替换成实际内容。
  3. 已有文件只改不重写:修改大文件或含 CJK 的文件时始终使用 Edit,不整文件覆盖。
  4. 追加用末行锚点:例如以 if __name__ == "__main__": 作为锚点,将新函数插到它之前;没有稳定锚点时可先插入临时标记,但要注意中断后残留。
  5. 非代码文件同样拆步:JSON 先写有效结构并用同类型占位符;YAML 用注释占位;Markdown 先写标题再补正文。

使用边界

  • 文件短且纯 ASCII 时可直接 Write,但 CJK 内容在任意长度都属于高风险。
  • 传输层截断与文件语法是否合法无关,重试 Write 不是正确处理。
  • Read 和短 Edit 不受该问题影响,但修改已有文件前仍应先 Read。
  • 不要通过 Bash/PowerShell 传多行代码,先写入 .py/.js 文件再执行。
  • Edit 遇到 oldString not found 时重新读取文件并核对空白;遇到多个匹配时增加上下文或使用 replaceAll。

写完后的检查

完成后用 Read 抽查前 10 行和后 5 行,确认关键结构完整,再简洁报告文件行数和验证结果,不输出完整内容或内部工具细节。

使用场景

  • 用Agent写200行Python脚本,避免Write因超长截断,先写骨架再分段填函数
  • 在TS文件嵌入中文提示词,防止CJK导致Write失败,用占位符替换后Edit填充
  • 修复Write成功但内容被截的文件,用Edit补全末尾缺失部分
  • 修改含中文注释的YAML配置文件,不整文件覆盖而是Edit替换锚点

适合人员

  • 用Agent辅助编写后端代码的开发者,需写超长Python/JS文件时避免截断
  • 在项目中嵌入中文提示词或注释的前端工程师,担心CJK字符导致Write失败
  • 遇到Write截断问题的Agent用户,需要快速修复文件完整性
  • 维护含中文配置文件的运维人员,修改时不破坏文件结构