返回首页
最新
在过去的一年里,我成为了Claude Code和Codex的热心用户。在这段时间里,我遇到了一些反复出现的挫折:
* 当我在提示或CLAUDE.md / AGENTS.md文件中提供长而详细的协议(例如,制定计划、实施、测试、调试、git提交等)时,代理经常会跳过或草率处理某些步骤。
* 我常常发现自己重复使用相同的提示模式。例如:“诊断错误”后接“修复它”,在“实施该规范”和“根据规范审计实施”之间来回循环。
* 代理在每个提示的范围和最大花费时间方面相当有限。这使得设置长时间的自主运行(例如,过夜)变得具有挑战性。
今天,我很高兴分享*FlowCoder*,这是我为解决这些问题而开发的项目。FlowCoder允许您通过可视化流程图构建器创建和执行自定义的自动化工作流程,以便与Claude Code和Codex配合使用。我希望这个项目能够帮助程序员扩大他们的成果,并通过在现有编码代理的基础上进行构建,促进自主代理的研究。
FlowCoder让您可以设置斜杠命令来执行提示和bash命令的流程图。这些流程图具有相当多的功能:
* 核心构建模块是提示块,它将提示发送给Claude Code或Codex,以及bash块,它运行bash命令。
* FlowCoder在执行流程图时跟踪变量。提示块允许您强制代理以结构化输出响应以分配变量值,而bash块允许您将bash输出和/或退出代码保存到变量中。
* 分支块让您可以使用这些变量配置布尔表达式,将流程图分为真和假路径。
* 流程图可以接受CLI风格的字符串参数,所有块都支持参数替换和变量替换的语法。例如,您可以创建一个提示块,内容为“为此任务创建规范:$1”,它将替换您传入的第一个参数。README中有更多解释。
* 命令块允许您在流程图中调用其他斜杠命令。FlowCoder维护一个流程图栈以处理命令递归。
* 流程图还支持刷新块以重置上下文,以及变量块以初始化/设置变量。
* FlowCoder在每个提示或bash块之后自动创建一个git提交。
我在代码库中包含了许多示例,以帮助用户熟悉该系统,展示了实现-审计循环和测试-修复循环等提示范式,以及像for循环行为这样的程序化范式。README中有更多解释。
请注意,这些示例流程图并不是“优化过的”。它们是一个起点。流程图提供了巨大的表达能力。您可以编码您喜欢的软件工程实践的具体细节,无论您是喜欢将代码分成小块还是大规模自主序列。我自己也开发了一套流程图用于自己的实践,在优化这些流程图的结构和提示的过程中,我看到了显著的进步。
我希望其他人能从这项工作中受益,或者希望参与贡献!该项目仍然非常年轻(v0)。代码库处于alpha阶段,应该被视为不稳定。它已在Linux和WSL上进行了测试。如有遇到任何问题,请随时在GitHub上发布。目前,我正在使用这个版本的FlowCoder开发下一个版本的FlowCoder,一个基于Electron的版本,具有更好的架构规划和更多功能(多代理/并行工作流程、CLI、UI改进)。
更多信息: [https://youtu.be/1COOR6UmpsY](https://youtu.be/1COOR6UmpsY)
AI 编程助手虽然高效,但常常出错。它们生成的代码看起来没问题,但却存在以下问题:
- 导入不存在的包
- 使用无效的占位符函数
- 将 JavaScript、Java、Ruby 的模式混入 Python
- 留下无用代码和重复代码
- 使用可变的默认参数
我开发了 sloppylint 工具,以便在代码投入生产之前捕捉这些“AI 错误”模式。
```
pip install sloppylint
sloppylint .
```
该工具可以检测 100 多种模式,涵盖多个类别:
- 虚构的导入(20% 的 AI 导入引用了不存在的包)
- 占位符代码(`pass`、`...`、`TODO`)
- 错误语言的模式(如 .push()、.equals()、.forEach())
- 可变默认参数、空的异常处理、无用代码
这并不是传统代码检查工具的替代品——它专门捕捉 AI 产生的特定错误,而这些错误人类通常不会犯。
[https://github.com/rsionnach/sloppylint](https://github.com/rsionnach/sloppylint)
我为自己开发了这个。经过多次迭代,现在它开始受到关注。<p>它帮助我整理个人生活。<p>我仍在努力弄清楚它还需要做些什么,以及可以改进的地方。<p>请提供反馈!
BinaryStorage 是一个为快速和高效的数据访问而设计的 PHP 二进制键值存储。它支持任何可序列化的 PHP 数据,提供以 startsWith/contains 进行搜索的功能,并包括数据压缩以减少磁盘使用。<p>GitHub: <a href="https://github.com/olivier-ls/binary-storage-php" rel="nofollow">https://github.com/olivier-ls/binary-storage-php</a>
我很好奇大家最近是如何使用人工智能的。<p>- 每个团队成员都在使用自己的编辑器/命令行工具吗?<p>- 团队之间有没有什么协调?比如说是否有一个共享的记忆库供整个项目使用?<p>- 关于规则文件呢?项目是否有一个主要的规则文件,还是每个人都只使用自己的私有/本地规则文件?<p>我真的很想了解这里的细微差别,个人有效的做法和团队有效的做法有什么不同。<p>目前是否有行业标准正在形成?还是说大家仍在摸索中?<p>我之所以问这个,是因为在某些工作场所/公司,这似乎是一个禁忌话题(这真是太疯狂了)。