claude code 的核心逻辑
我花了 4 天时间创建一个 code agent, 核心代码不到 200 行。
试用:npm install -g wscode-cli ,github 仓库在: github.com/mileswangs/wscode-cli
下面讲一下关键逻辑
关键 1: loop + tool use
关键 2: llm 通过工具调用(成功或失败都行)获取信息,以字符串形式传递
这看起来很无聊,但深刻且普遍:传统编程报错会 throw {err: stackoverflow}, llm 时代编程会 return ‘have a error: stackoverflow’
举个例子:我们需要约束以绝对路径访问文件,当 llm 调用相对路径的时候会收到 tool 返回的Path must be within the root directory这个字符串,llm 看到这个失败信息后会更改工具使用姿势
详细实现和 prompt 见仓库
关注我: x.com/mileswangs
学习
太牛了楼主,学习了
弱弱的问,楼上两位学习的同学,学习到了啥?
你这个跟 claude code 有什么关系?
你这个跟 claude code 有什么关系?
核聚变的核心原理就是烧开水
你描述这个,看起来不就是 MCP 的入门吗?
你为什么要把 commit 乱写的仓库发出来啊,这和在大街上拉屎有什么区别
你这个跟 claude code 有什么关系?
啊?
最简单的 tool use 也能叫 agent 了啊?没有模型路由,上下文没有精简压缩处理,没有长期记忆没有小笔记,tool 也只能被模型主动 call ,call 的结果没有对不同模型做转换,没有预处理和后处理过滤器等等等等……
然后呢?这就是最初级的一个 agent ,怎么构建 spec/怎么 plan/怎么按步完成 task/怎么 memory/怎么索引代码?你当现在的 AI IDE 更新了那么久,就一无是处?
你这个跟 claude code 有什么关系?
所以 1L 和 2L ,是 OP 的小号?
keep calm
我并不想打击初学者学习和分享的心情。
但是我有点怀疑你这四天是和 claude code 一起度过的。
我也尊重任何使用 claude code 进行真正生产力创造的行为。
但是是看你最后还发个 x 链接,就觉得有点不对味儿了。
commit message 全是 1. 写的什么玩意
谢谢学到了
commit message 都没好好写,你发出来干嘛?
Not really interested, all the commit messages are just ‘1’, I’d feel a bit embarrassed to even share them.
如说
- 他很简单 2. 他能工作;
为什么这么问呢?从最近语雀到阿里云事件来说,感觉某厂从 P 系调整,某某某大佬离职等等事情开始,已经有点飘飘欲坠的感觉有么有?还有最近在对接闲鱼的业务,文档上公然贴出有 BUG…
大概是背包问题的衍生,背包问题是有 N 件物品和一个容量为 V 的背包。第 i 件物品的重量是 c[i],价值是 w[i]。求解将哪些物品装入背包可使价值总和最大。 我这边需求…
和哥们聊着聊着聊的我血压起来了 有一说一,Java 的 DateTime 类型是真的垃圾。。。C#的 DateTime 也还行吧,没啥大毛病,用起来确实也挺方便的。 其…
合速度