claude code 的核心逻辑

10 天前
 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

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

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

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

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

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

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

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

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

© 2021 V2EX