claude code 的核心逻辑

2025 年 8 月 25 日
 wangshuo6

我花了 4 天时间创建一个 code agent, 核心代码不到 200 行。

试用:npm install -g wscode-cli ,github 仓库在: https://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 见仓库

关注我: https://x.com/mileswangs

5008 次点击
所在节点    程序员
28 条回复
qcgzxw
2025 年 8 月 25 日
学习
fushall
2025 年 8 月 25 日
太牛了楼主,学习了
bbao
2025 年 8 月 25 日
弱弱的问,楼上两位学习的同学,学习到了啥?
Greenm
2025 年 8 月 25 日
你这个跟 claude code 有什么关系?
Gress
2025 年 8 月 25 日
你这个跟 claude code 有什么关系?
NoobNoob030
2025 年 8 月 25 日
核聚变的核心原理就是烧开水
Vegetable
2025 年 8 月 25 日
你描述这个,看起来不就是 MCP 的入门吗?
你为什么要把 commit 乱写的仓库发出来啊,这和在大街上拉屎有什么区别
Scarb
2025 年 8 月 25 日
你这个跟 claude code 有什么关系?
stormtrooperx5
2025 年 8 月 25 日
啊?
yulon
2025 年 8 月 25 日
最简单的 tool use 也能叫 agent 了啊?没有模型路由,上下文没有精简压缩处理,没有长期记忆没有小笔记,tool 也只能被模型主动 call ,call 的结果没有对不同模型做转换,没有预处理和后处理过滤器等等等等……
huluhulu
2025 年 8 月 25 日
然后呢?这就是最初级的一个 agent ,怎么构建 spec/怎么 plan/怎么按步完成 task/怎么 memory/怎么索引代码?你当现在的 AI IDE 更新了那么久,就一无是处?
hejiwen
2025 年 8 月 25 日
你这个跟 claude code 有什么关系?
icanfork
2025 年 8 月 25 日
所以 1L 和 2L ,是 OP 的小号?
billzhuang
2025 年 8 月 25 日
keep calm
kneo
2025 年 8 月 25 日
我并不想打击初学者学习和分享的心情。

但是我有点怀疑你这四天是和 claude code 一起度过的。

我也尊重任何使用 claude code 进行真正生产力创造的行为。

但是是看你最后还发个 x 链接,就觉得有点不对味儿了。
leslieo2
2025 年 8 月 25 日
commit message 全是 1. 写的什么玩意
fushall
2025 年 8 月 25 日
@yulon 谢谢学到了
songunity
2025 年 8 月 25 日
commit message 都没好好写,你发出来干嘛?
dyncan
2025 年 8 月 25 日
Not really interested, all the commit messages are just ‘1’, I’d feel a bit embarrassed to even share them.
fudanglp
2025 年 8 月 25 日
如说

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1154790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX