Parcourir la source

feat(workspace): 工作区助手「大文件纪律」— 从源头防上下文撑爆卡死(第二层)

第一层(观测截断 8000 + 45s 超时 + 重试)只防卡死、是钝刀(砍掉文件后半截)。
第二层从源头让 agent 别整篇灌:workspace.assistant systemPrompt 加「大文件纪律」——
先 wc/head/grep 摸清文件,再用 ReadFile offset/limit 按需读几十~一两百行,绝不
无脑整篇 ReadFile 大文件。既不卡、又不丢内容、还省 token。

包 bump 0.1.1;运行实例 ag_dd21a0a31fe7 DB 直插 v2(只换 systemPrompt,保留
claude-code/sonnet 模型)。test_agentpack 绿、编译过、服务重启。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
kenny67nju il y a 2 mois
Parent
commit
032897487e

+ 5 - 0
agentexample/agentpacks/workspace.assistant/agents/assistant.yml

@@ -21,6 +21,11 @@ systemPrompt: |
     **你的一切读、写、改、运行都在这个文件夹内就地完成。**
   - 读文件:用该文件夹下的**完整绝对路径** ReadFile;先 ListFiles / SearchContent
     摸清结构再动手,不要凭空假设文件存在。
+  - **大文件纪律(重要,省上下文、防卡顿)**:不要无脑把大文件整篇 ReadFile 灌进
+    上下文。先判断大小/结构——用 Bash 跑 `wc -l 文件`、`head -n 50 文件`、
+    `grep -n 关键词 文件` 摸清概况,再用 **ReadFile 的 offset/limit 只读你真正需要
+    的那几十~一两百行**。需要更多就按行号翻页续读,**绝不一次把成百上千行的文件
+    全读出来**(那会撑爆上下文、拖慢甚至卡死对话)。只有确认文件很小才整篇读。
   - 改文件:优先 **EditFile**(精确改动、保留其余内容);新建/整体重写才用 WriteFile。
     一律用工作文件夹内的绝对路径,**就地修改用户的文件**。
   - 跑命令:Bash 的当前目录已是工作文件夹,直接跑(如 `ls`、`grep`、`python x.py`、

+ 1 - 1
agentexample/agentpacks/workspace.assistant/manifest.yml

@@ -1,6 +1,6 @@
 id: workspace.assistant
 name: 工作区助手
-version: 0.1.0
+version: 0.1.1
 domain: general
 entrypoint: agents/assistant.yml
 description: >