我做了一个 AI「议会」,专门帮程序员选适合自己的开源项目方向
很多程序员其实都想做开源。
但真正卡住大家的,往往不是“不会写”,而是:
- 不知道做什么
- 想法很多,但都不够确定
- 随便选一个方向做了两周,发现根本不适合自己
- AI 虽然能给建议,但经常一上来就拍板,给出一个看似合理、其实并不贴合个人背景的答案
我自己一直觉得, “选项目方向”这件事,本身就值得被认真设计成一个流程。
所以我做了一个开源项目:Project Parliament。
它不是一个简单的“AI 项目点子生成器”,而是一个个性化开源项目方向评估系统:
你输入自己的背景、技能栈、职业目标和约束条件,多个 AI 模型会通过一个 7 步议会式流程,从发散、汇总、辩论到最终裁决,帮你找到真正适合你的开源项目方向。
为什么我会做这个项目?
因为我发现,网上大量“我该做什么开源项目”的讨论,通常都有两个问题:
1. 太早下结论
很多建议是一上来就给你一个方向,比如:
- 你做后端,那就做个 API 网关
- 你做 AI,那就做个 RAG 框架
- 你想转型,那就做个 agent 平台
问题在于,这种答案太快了。
它没有认真考虑:
- 你的实际工作背景
- 你已经积累了什么能力
- 你未来想往哪里走
- 你当前的资源、时间和限制条件
- 这个方向到底适不适合做成“开源项目”,而不是 demo、内容或商业产品
2. 太泛,不够“因人而异”
很多 AI 推荐项目时,给的都是“大家都能做”的公共答案。
但现实是:
一个真正值得长期做的开源项目,应该同时满足:
- 你做得动
- 你做得久
- 它能体现你的能力
- 它最好还能服务你的职业路径
所以我不想做一个“帮你生成 10 个项目点子”的工具,我更想做一个:
帮你认真判断“什么项目方向值得你投入”的系统。
Project Parliament 是怎么工作的?
这个项目的核心思路其实很简单:
不要让 AI 直接拍板。
先发散,再汇总,再辩论,最后才收敛。
所以我把整个流程拆成了 7 步。
Step 1:Opportunity Scout
每个模型先独立提出多个候选方向。
这一步只负责发散,不做最终决定。
Step 2:Consolidator
把不同模型提出的方向做汇总和去重,形成统一的候选列表。
Step 3:Market Skeptic
从市场需求、竞争格局、失败风险这些角度,去质疑每个方向。
Step 4:Builder Fit Judge
判断这个方向到底适不适合你本人。
不是“它听起来厉害不厉害”,而是“你有没有现实可行性去把它做出来”。
Step 5:Open-source Curator
这一点我很看重。
因为并不是所有好想法都适合开源。
有些更适合做产品,有些更适合做内容,有些只适合做 demo。
所以这一步会专门判断:
它到底适不适合作为一个开源项目长期维护。
Step 6:Synthesizer
前面几步讨论完后,才在这里输出最终结论:
- 主路线
- 备选路线
- 下一步可执行计划
也就是说,最终结论只能在第 6 步产生。
Step 7:Performance Review
最后还会对不同模型的输出效果做评分,方便你判断:
- 哪个模型更适合这个场景
- 哪一步里谁的输出质量更高
- 后续该如何调整 Prompt 或模型配置
这个项目和普通 AI 推荐器最大的区别是什么?
我觉得最大的区别不是“多模型”。
而是这三点:
1. 它在认真处理“选择”这件事
很多 AI 工具擅长回答,但不擅长做“严肃选择”。
Project Parliament 想解决的不是“给我几个项目名字”,而是:
在有限背景、有限时间、有限资源下,什么方向最值得做。
2. 它强调“过程可见”
普通 AI 给你一个结论,你很难知道它为什么这么选。
但这个项目会把中间过程展开:
- 每个模型分别提了什么方向
- 哪些方向被合并了
- 哪些方向被质疑了
- 哪些方向虽然酷,但不适合你
- 为什么最后选这个,而不是另一个
这种“过程透明”,我觉得对做决定特别重要。
3. 它是“可调”的,不是黑盒
项目支持直接编辑各步骤 Prompt,也支持在配置里修改模型和步骤定义。
所以它不是一个“作者写死逻辑、用户只能点按钮”的工具,而是一个可以继续长出新玩法的框架。
目前它已经支持什么?
我在仓库里先做了一版相对完整的基础形态,当前已经有这些能力:
- 多模型并行讨论
- 基于个人背景的个性化推荐
- 逐步执行的 workflow
- Prompt 可编辑
- 模型输出评分
- 失败模型单独重试
- 会话本地持久化
- 报告页统一查看结果
技术栈上比较朴素:
- 后端:FastAPI
- 前端:Vanilla JS + HTML/CSS
- 模型接口:OpenRouter
- 存储:本地 JSON 文件
我刻意没有一开始把它做得特别重,因为这个项目最重要的不是“工程炫技”,而是把核心 workflow 跑通。
我觉得它适合哪些人?
如果你是下面这几类人,我觉得你会比较有感:
1. 想做开源,但一直定不下方向的人
你不是没有能力,而是缺一个更有结构的判断过程。
2. 想把开源项目和职业路径结合起来的人
比如你不是为了“随便做点东西”,而是希望开源项目能帮助你:
- 补足简历表达
- 强化某条技术主线
- 为转岗或面试做准备
- 积累长期影响力
3. 已经有很多想法,但不知道先做哪个的人
这类人最容易陷入“想法太多 = 一直不开工”。
这种时候,你需要的不是再来 20 个点子,而是一个帮助你收敛的系统。
一个我很喜欢的点:它允许“辩论”,而不是只会打分
这个设计其实是整个项目里我最想做的地方。
现实里的很多选择,并不适合简单打分。
因为打分通常会把复杂问题过度扁平化。
比如一个方向可能:
- 市场需求强,但竞争太大
- 非常适合你的经历,但不适合开源
- 技术表达很强,但长期维护价值不高
这种情况,直接“综合得分 8.2”其实没什么意义。
所以我更倾向于让不同角色去辩论:
- 市场视角怎么看
- 个人匹配怎么看
- 开源形态怎么看
最后再综合。
我觉得这比“直接给总分”更接近真实决策。
如何快速跑起来?
这个项目目前的运行门槛不高,Python 3.9+,再配一个 OpenRouter API Key 就可以。仓库 README 给了安装和启动方式:安装依赖、配置 .env 中的 OPENROUTER_API_KEY,然后用 uvicorn app.main:app --reload 启动,默认本地访问 http://localhost:8000。
如果你想自己改模型或步骤,也可以直接修改 app/core/config.py,项目本身就是按“模型和步骤可配置”的思路设计的。
我为什么把它开源出来?
一方面,这是我自己真的会用的工具。
另一方面,我也觉得这个问题不是我一个人有。
很多开发者在做个人项目、做开源、做职业规划的时候,真正缺的不是“再来一点灵感”,而是:
- 一个更结构化的思考过程
- 一个能保留讨论上下文的工作流
- 一个能把“我适合做什么”讲清楚的辅助系统
所以我把它做成了一个开源项目,想看看它能不能帮助更多人。
后面还想继续做什么?
接下来我比较想继续补的方向有这些:
- 更好的结果展示和报告阅读体验
- 更细的模型评分与对比
- 更完整的会话管理
- 更强的 Prompt 配置能力
- 更多适合不同人群的工作流模板
如果你对“AI 辅助职业规划 / 项目方向选择 / 多模型协作工作流”这类东西也感兴趣,欢迎一起交流。
项目地址
GitHub: https://github.com/hardstone1998/Project-Parliament
如果你觉得这个项目有点意思,或者你也曾经被“我到底该做什么开源项目”这件事困住过,欢迎:
- 点个 Star
- 提 Issue
- 给一些 workflow / prompt / 交互上的建议
说到底,这个项目不是想替你做决定,而是想让“做决定”这件事本身变得更靠谱一点。
如果你也在想自己下一步该做什么开源项目,欢迎来试试。
也欢迎给我一个 Star,这对一个刚开源的项目真的很重要。