一种面向协作式的、规范的、人工智能软件开发方法


该方法论提供了一种结构化的方法,用于在软件开发项目中与人工智能系统协作。它通过系统约束和验证检查点解决了诸如代码膨胀、架构漂移和上下文稀释等常见问题。

人工智能系统以“问题→答案”的模式运作,当你寻求广泛、多方面的实现时,你通常会得到:

  • 功能有效但缺乏结构
  • 跨组件重复代码
  • 会话中的架构不一致
  • 上下文稀释导致输出漂移
  • 调试时间比规划时间更多

工作原理

该方法分为四个阶段,并设置了系统约束和验证检查点。每个阶段都基于经验数据而非假设。
规划可以节省调试时间。提前周密的规划通常可以避免日后花费数天时间修复架构问题。
四个阶段

第一阶段:AI配置
使用AI-PREFERENCES.md设置 AI 模型的自定义指令。这将建立行为约束和不确定性标记,⚠️当人工智能缺乏确定性时的指标。

第二阶段:协作规划
与 AI分享METHODOLOGY.md文件,构建你的项目计划。携手合作,实现以下目标:

  1. 定义范围和完成标准
  2. 识别组件和依赖关系
  3. 根据逻辑进展构建阶段
  4. 生成具有可衡量检查点的系统任务
输出:遵循具有模块化边界的依赖链的开发计划。

第三阶段:系统实施
分阶段、分部分地开展工作。每个请求都应遵循以下要求:“您能实现[特定组件]吗?”并明确目标。
文件大小保持在 150 行以内。此限制规定:

  • 用于处理的上下文窗口较小
  • 专注于多功能尝试的实施
  • 更轻松的共享和调试
实施流程:
Request specific component → AI processes → Validate → Benchmark → Continue


第四阶段:数据驱动迭代
基准测试套件(首先构建)在整个开发过程中提供性能数据。将这些数据反馈给人工智能,以便基于测量结果而非猜测做出优化决策。

为什么这种方法有效
好的,直接大白话翻译:

为啥这个方法好使?
1.  下指令要一个一个来:    你问它“你能干A吗?”,它很清楚;但是你咣咣咣甩过去一长串“能干A、B、C、D、E、F、G、H吗?”,它就容易懵圈、漏活儿。

2.  别让它想太多事儿:    把大问题拆成一个个小问题,一个文件只解决一件事;别让它同时琢磨好几件不相关的活儿,它脑子会乱。

3.  不看广告看疗效:    别管它自己觉得行不行,直接拉出来遛遛,跑个分、测一下性能。行就是行,不行就是不行,用结果说话。

4.  立好规矩,别让它瞎搞:    用硬性规定卡死,比如:文件不能太大、必须通过某些检查、不能随便调用其他东西。这样它就没办法偷懒或者跑偏,只能按规矩办事。

示例项目

  • Discord Bot 模板- 可立即投入生产的机器人基础,具有插件架构、安全性、API 管理和全面测试。46 个文件,均少于 150 行,并带有基准测试套件和自动合规性检查。(查看项目结构
  • PhiCode Runtime - 具有转译、缓存、安全验证和 Rust 加速功能的编程语言运行时引擎。复杂的系统在 70 多个模块中保持架构规范。(查看项目结构)
  • PhiPipe - 具有统计分析、GitHub 集成和并发处理的 CI/CD 回归检测系统。基于 Go 的服务处理性能基准和自动回归警报。(查看项目结构)
您可以将方法论原则与代码库结构进行比较,以了解该方法如何转化为工作代码。


什么问题促使您创建这个方法论?
我真是受够了!不管我用什么语言、做什么项目,这AI总是一个德行:我得跟个复读机似的,一遍遍跟它重复我的喜好和架构要求。结果它还是老给我生成那种又胖又乱、全塞在一起的“屎山代码”,或者搞些半吊子功能, bug 还贼多。

这事儿逼得我去琢磨,到底什么最根本的原则在驱动代码质量和软件架构。我开始想,AI这“模式匹配”的脑子,是不是更适合去学那些底层的软件设计原则,而不是死记表面上的语法糖?

因为它的运作逻辑说到底是“逻辑”,是靠简单的“一问一答”来驱动的。

我算明白了,你让它一个函数干八件事,它CPU都得干烧了,压力太大了。

我最大的突破是想通了一点:甭管多花里胡哨,最后一切都会落回到最底层的二进制——说白了就是一连串的 “这事你能办不?” → “能/不能” 的简单问答。

这下我彻底开窍了,方法全变了:

  • 别下命令了,得在合适的时机,问它一个精准的问题。
  • 别自己一个人在心里盘算超级复杂的架构,然后让它猜,得跟它一起,一步一步地、有章法地把计划制定出来。


您是如何发现这些特定的限制有效的?
(经过)海量的、不停的试错(得出的结论)。
就算你给它立好了规矩,AI 也总是会跑偏。但是,有规矩管着的AI,比那没规矩的,准得多得多!
有时候你得提醒它一下“记住你的身份”,防止它跑偏——这就好比管一个特别想讨好你、心眼不坏的小孩子。他知道规则,但有时候为了让你高兴,他会忍不住试探着越界。
这些工具远非完美,但只要用合适的条条框框约束好,它们就是软件开发中非常得力的帮手。


为什么是150行呢?
多重好处:易于阅读、清晰理解、模块化执行、架构清晰、维护简单、组件测试、最佳 AI 上下文保留、可重用性和遵守 KISS 原则。