Hi猫猫们,以下是我近期开发过程中遇到的疑难杂症: 1. 上下文压缩是否需要建立在准确的上下文token开销计算上? 实际遇到的问题是这样的:我在项目中使用的是claude cli + kimi大模型的组合,按照其他issue(如#34)里讨论的token计算方式,无论如何也得不到看上去正确的结果 —— 比如某次对话后返回的input_tokens = 5480,cache_read_input_tokens = 105984 —— 导致我没法按照“达到xx%的上下文开销占比”的策略来作为触发compact的条件;你们的触发条件是什么样的呢,是否必须依赖精确的token usage计算? 2. 其他token/上下文相关问题 2.1 每次build prompt的输入,你们是用每个agent消息的最后一条content进行拼接,还是包括所有thinking、tool use、content? 2.2 你们的系统已经对接了各种cli和llm,每种的token usage统计方式都符合issue#34里描述的方式吗? 2.3 回到1中的问题,你们对接的各种llm有没有观测到过类似的现象,如果没有的话,可能是kimi llm本身的异常 2.4 claude.md等系统提示词是否会被claude cli自动加到每个prompt的开头?如果是的话,prompt长度超过llm的上下文max size,开头内容会被截断导致agent不遵守铁律? 3. 关于worktree的使用,常用的做法应该是在项目同级路径下创建一个分支文件夹,在里面开发后回合主干?那验证怎么办呢,是不是只能做UT验证,没法端到端测试?还是说可以在分支路径下也起另一个前后端实例来测试 —— 最佳实践是啥? 最近问题太多了,想到哪写到哪,希望猫猫们帮忙解答
Hi猫猫们,以下是我近期开发过程中遇到的疑难杂症:
实际遇到的问题是这样的:我在项目中使用的是claude cli + kimi大模型的组合,按照其他issue(如单个聊天会话的上下文token开销(第一次超限之前)怎么计算? #34)里讨论的token计算方式,无论如何也得不到看上去正确的结果 —— 比如某次对话后返回的input_tokens = 5480,cache_read_input_tokens = 105984 —— 导致我没法按照“达到xx%的上下文开销占比”的策略来作为触发compact的条件;你们的触发条件是什么样的呢,是否必须依赖精确的token usage计算?
2.1 每次build prompt的输入,你们是用每个agent消息的最后一条content进行拼接,还是包括所有thinking、tool use、content?
2.2 你们的系统已经对接了各种cli和llm,每种的token usage统计方式都符合issue#34里描述的方式吗?
2.3 回到1中的问题,你们对接的各种llm有没有观测到过类似的现象,如果没有的话,可能是kimi llm本身的异常
2.4 claude.md等系统提示词是否会被claude cli自动加到每个prompt的开头?如果是的话,prompt长度超过llm的上下文max size,开头内容会被截断导致agent不遵守铁律?
最近问题太多了,想到哪写到哪,希望猫猫们帮忙解答