搓了个支持 CLI 的工具 TheConn,想让 AI 写代码像“舰长指挥”一样稳(含原理分析) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Lockeysama
V2EX    程序员

搓了个支持 CLI 的工具 TheConn,想让 AI 写代码像“舰长指挥”一样稳(含原理分析)

  •  
  •   Lockeysama 8 小时 25 分钟前 271 次点击

    大家好,我是 V 站陈年潜水佬。

    这阵子经历过 AI 编码个各种折磨后,一直在琢磨怎么让 AI 更好好写代码。现阶段的 AI 编码有几个让人很不爽的点:

    • 直接 Chat:聊着聊着 AI 就“失忆”了,或者上下文太多导致逻辑漂移,项目越往后,上下文就越多,AI 很容易失控。
    • 重型 Spec 工具:也用过 Spec 类型的,有些也很强,但要让我手写一堆 Markdown 文档来约束 AI ,说实话,太累、太麻烦了,坚持不下来。

    所以我自己搞了个开源工具:TheConn

    核心思路是:不把 AI 当聊天对象,也不把它当法官,把它当船员。 TheConn 就是《星际迷航》里的“舰桥指挥台”。我们负责当 Navigator (领航员) 定目标、下指令,AI 工具负责把我的意图“翻译”成 AI 编码器能精准执行的 Context 。


    为什么要造这个轮子?几个核心逻辑:

    1. 大部分情况下需要“锁死”上下文,让 AI 不跑飞

    平常用 AI 开发的多的同学应该有体会:对话轮次多了,AI 就会开始胡编; 随便给 AI 个简单任务,他能给你生成两个代码文件,6 、7 个 Markdown 文档(???黑人问号???)。

    TheConn 引入了 “上下文护栏 (Context Guardrails)” 机制。它不是一股脑把所有历史丢给 AI ,而是根据你当前的 Task ,动态裁剪和组装最小且最精确的上下文。物理上杜绝了 AI 因为信息过载而产生的幻觉。

    2. 不用手写 Spec ,流程自动生成

    很多工具为了稳,强迫使用者先写一堆文档(这个真的很不适合我这种怕麻烦又懒的人)。

    TheConn 走的是“无感生成”路子。 只需要跟着 Chat 的自然交互流程(@TheConn 自带的预定义 Prompt )走,工具会调用对应的专用模板自动生成类似 Spec/Plan 的结构化数据。 交互上是在对 AI 下命令,实际上工具会帮我把文档和规范都写好了。 既有了文档驱动的严谨,又没有写文档的痛苦。

    3. 把 DDD 、BDD 、TDD 、敏捷开发“偷偷”塞进去

    这一块是我设计的核心。这么做的原因很简单:如果让人类主动去执行这些繁琐的方法论,很难落地(尤其团队不大的情况下);但如果把它做成工具的默认路径,我们就能就在不知不觉中完成了高质量的工程开发。

    • 敏捷:Chat 自然交互,让 AI 根据工具 Prompt 自动产生 Epics 、Features 、Stories 规划;要开始进入开发的时候,也是 Chat 自然交互,让 AI 生成对应 Story 的 AI Task 和上下文清单,之后直接把这个 Task 给 AI 就行了。
    • DDD: 这个其实不包含在这个项目里,但是是一个比较重要的需求整理分析的手段(配合会议录音可以有比较好的效果)。
    • BDD:通过 Chat 自然交互生成 Task 时,工具会自动规划 BDD 用例,并且会自动生成 BDD 依赖的 feature 文件。在生成业务代码前,Task 引导 AI 先生成 BDD 验证用例代码。
    • TDD:在生成业务代码前,Task 引导 AI 先生成单元测试代码。

    4. 本质是“协议层”的胜利

    TheConn 最底层的价值,其实是建立了一套 “人类意图 <-> AI 指令” 的标准协议。 它充当了一个中间层( Middleware )。人类模糊的战略意图,经过这个协议层,被编译成 AI 只能严格执行的战术指令。这比单纯的 Prompt Engineering 要稳固得多,因为协议是确定性的。


    代码全开源, 配合命令行工具可以快速集成到现有项目, 欢迎体验。 GitHub 地址

    (还在快速迭代中,欢迎提 Issue 咱们一起讨论 AI 编程的最佳实践!)

    第 1 条附言    7 小时 29 分钟前
    1 条回复    2025-12-12 23:54:48 +08:00
    Lockeysama
        1
    Lockeysama  
    OP
       7 小时 45 分钟前
    好像上面写的有点长了。简单来讲,就是:

    1. 不用手动编写管理一堆约束 Prompt
    2. 依赖敏捷开发思路来自动规划开发任务
    3. 依赖自动上下文剪裁工具完成精准上下文注入当前任务,避免上下文过多导致 AI 注意力分散
    4. 依赖 BDD 、TDD 证代码质量
    5. 保证实际代码和规划文档闭环
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1021 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:40 PVG 07:40 LAX 15:40 JFK 18:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86