Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目审议分析(deliberate-project)

一个面向 Codex 的证据驱动项目审议技能。它通过三个基础审理者,结合可对账的项目表面清单、弱线索融合、动态选择的审理角度、证据传输完整性、专业知识、证据比对和验证手段,发现具体软件、产品、技术或工程项目中容易被单一路径遗漏的细节、关系、矛盾、风险、机会和竞争性判断。

中文自然语言调用口令:三堂会审

内部技能标识:deliberate-project

系统显式调用:$deliberate-project

只有当前请求明确包含上述技能标识或中文口令时才启动。项目看起来复杂、重要或适合多角度分析,都不能代替用户的显式选择。普通判断、局部分析和快速建议直接交给 Codex;本技能内部不设置会在发现重要细节前提前降级的“快审模式”。

大白话说明

它不是让三个人举手表决,而是让项目接受多种不同检查:

  • 有人专门拆假设、找反例和失败条件。
  • 有人专门补关系、补场景、补利益相关者和长期影响。
  • 有人按当前领域的真实标准、工程实践和验证手段检查。
  • 主代理再根据项目特征选择第一性原理、因果链、反事实、系统关系、生命周期、对标、威胁建模、人因、运维韧性、敏感性分析等不同审法。
  • 证据还要比较权威性、覆盖面、深度、新鲜度、适用性、独立性和可追溯性。
  • 每个重要项目表面都有检查、抽样、排除或延期状态;弱线索先跨角色连接,再决定是否构成重要发现。
  • 分页、游标、截断、读取范围和抽样总体会被记录,不能把工具首屏或输出上限当成全量证据。

最终产物不是被压成一条答案,而是一张可追踪的判断地图:已经观察到什么、由此推导出什么、哪些判断互相支持或冲突、在什么条件下成立、还缺什么证据,以及哪些检查最可能继续产生重要信息。

分歧是正式结果。只有用户明确要求选择方案或作最终建议时,技能才加载独立的定案模块;定案依据硬约束、工程事实、授权目标、权衡和不确定性,不依据角色数量。

适合解决的问题

  • 项目架构、迁移或重大重构会产生哪些直接和间接影响。
  • 某项产品或技术方案隐藏了哪些假设、边界和替代路径。
  • 需求、文档、代码、配置、测试和实际行为是否相互一致。
  • 跨模块、跨项目或跨团队变更会影响哪些接口、状态和利益相关者。
  • 行业标准、监管要求、工程可行性和现实运维是否被充分覆盖。
  • 安全、隐私、性能、可靠性、人因、成本和长期维护风险是否被低估。
  • 当前证据能支持哪些判断,还存在哪些竞争性解释。
  • 多个方案如何比较,以及还需要什么用户决定或验证。

不适合的情况

  • 直接实现功能或修改项目。
  • 解释单个函数或修复一个明确的局部错误。
  • 常规代码审查、简单状态查询或一次检查即可可靠回答的问题。
  • 与具体项目无关的一般资料查询。
  • 个人生活规划。

六个审理维度

技能把容易混淆的概念分开:

维度 作用
审理者 谁执行审理,默认关注什么职责
审理角度 从哪个角色、系统边界、阶段、时间或后果观察
审理方式 使用哪种推理操作发现信息
专业知识 需要哪些当前标准、工程实践和领域能力
证据手段 如何检索、分级、比对、复现或测量
判断产物 产生发现、推论、风险、机会、竞争解释还是证据缺口

三个基础角色只负责第一个维度,不能代替其他五个维度。

三个基础审理者

证伪者(Falsifier)

优先寻找隐藏假设、反例、失败条件、替代原因、误用和能够区分判断的检查。它必须使用本次分配的具体审法,不能只进行泛泛挑错。

深化者(Deepener)

独立重建问题,寻找遗漏维度、关系、替代路径、二阶影响、生命周期后果、利益相关者和更准确的问题表达。

领域工程师(Domain engineer)

首先覆盖用户要求的决策领域,再处理后果最严重的相邻专业缺口。它按需检查标准、工程实践、可行性、迁移、安全、性能、运维、测试、回滚、成本和维护,但不会仅凭角色名称声称具备完整专业资质。

运行环境无法提供三个独立上下文时,主代理可以顺序执行相同的角色—审法组合,并准确说明独立性和覆盖限制。缺少一个角色只影响相关覆盖,不会让其他已验证发现失效。

动态选择审理角度和方式

技能先建立项目、证据和风险地图,再根据以下信息组成有上限的审理组合:

  • 判断类型:事实、因果、预测、可行性、规范、比较、偏好或建议;
  • 项目阶段:设计、开发、迁移、上线、运行、升级或退役;
  • 观察对象:用户、运营、开发维护者、决策者、受影响方、组件、接口或整体系统;
  • 后果、不确定性、可逆性和系统连接度;
  • 安全、隐私、人因、治理、成本、架构和运维触发信号;
  • 当前证据的来源类型和缺口。

常用推导方式包括:

  • 第一性原理和假设拆解;
  • 因果机制和替代原因;
  • 反事实和逆向推导;
  • 替代路径和外部对标;
  • 系统关系、接口、场景和生命周期;
  • 利益相关者和影响分布;
  • 约束冲突、敏感性和信息价值;
  • 需求到实现、测试和用户结果的追踪。

基础广度扫描后会运行一次轻量领域哨兵,分别检查安全隐私与权限、可靠性与恢复、人因与可访问性、数据与模型、供应链、治理许可、容量成本以及生命周期外部副作用。每项只标记有信号、有证据的阴性、未知或不适用;只有阳性或高后果未知项才启用完整专业方法。每项选中方法都要有负责人、证据要求、预期产物、预算和停止条件。方法越多不等于审理越好。

完整目录见审理角度与方式

根据提示词和要求自动判断侧重点

技能会先从整段输入中提取目标、对象、目标用户、付费者、操作者、验收指标、硬约束、强调项、排除项、风险容忍度、时间范围以及用户是否要求定案,形成一张“侧重点画像”,再分配审理角度、方法、证据和预算。它理解语义组合,不依赖机械关键词表。

判断优先级依次是:安全、法律、权利和授权边界;用户明确要求与排除项;验收证据与明确优先级;整句语义和强调结果;领域不可缺少的可行性与失败条件;项目证据;重复词和普通关键词;通用最佳实践。低层信号不能覆盖高层信号。

例如:

  • “审赚钱项目,重点看半年能否盈利,不讨论融资”,主要审收入机制、成本、现金时点、需求证据和敏感性,并抑制融资方向。
  • “审音乐制作软件,面向专业编曲用户,重点看低延迟和插件兼容”,主要审真实创作流程、音频测量、插件接口、故障恢复和平台标准。
  • “审一个赚钱的音乐软件”,不会在“赚钱”和“音乐”中二选一,而会同时审商业模式、付费意愿、创作价值、延迟与兼容可行性、留存,以及产品质量如何传导到商业结果。

项目证据可以推翻用户假设,但不能暗中改写用户目标。即使用户没有提到,若某个领域硬条件一旦失败就会使目标失效,技能仍会加入该审理项,并说明加入原因和占用的审理预算。用户明确排除的内容会标记为“已遵守”“与目标冲突”或“被强制约束覆盖”;普通工程建议不能暗中覆盖排除项。

案件模式与变更审议

案件使用两个互不替代的模式轴:

  • 连续性:Initial 表示首次审议,Re-review 表示沿用历史 finding ID 核验旧发现并寻找新增问题;
  • 比较方式:Current-state 审当前状态,Delta 比较基线与当前快照并追踪变更影响。

四种组合都合法。Re-review + Delta 不是重新开案:它先把旧发现区分为已解决、持续存在、回归、被取代或本轮未复核,再检查本次变更新增、删除或放大的控制、约束、兼容路径和后果。影响半径覆盖调用方、接口、数据、用户、运维流程和外部承诺;深审范围由后果与影响半径决定,不由改动行数决定。

项目自己的历史发现账本与跨项目经验目录分开。历史发现用于复审连续性;全局经验只用于提示本轮可能值得检查的方向,两者都不能代替当前证据。

工作流程

  1. 界定案件:明确目标、约束、非目标、侧重点画像、项目边界和两个案件模式轴;核对所选快照与用户要求的当前、基线或部署状态是否等价。
  2. 建立覆盖账本:从仓库、配置、依赖、运行与项目索引建立项目表面分母,每个重要表面必须映射为检查、抽样、排除或延期。
  3. 运行领域哨兵:用轻量信号扫描捕捉没有明显关键词的安全、人因、供应链、模型、治理等专业边界。
  4. 只读加载经验:仅加载未过期的 ActiveShadow,再按领域、版本、市场、法域和适用范围筛选;记录实际采用的经验 ID。
  5. 组成审理组合:为高优先级判断选择差异最大的角度、方法和证据操作;Delta 增加变更影响追踪,Re-review 预留旧发现复核预算。
  6. 独立框架挑战:深化者先从原始材料重建项目表面,再与主代理覆盖账本做差集,防止三个角色共享同一遗漏边界。
  7. 隔离发现:三个角色在不知道彼此首轮结果的情况下产出弱线索卡和重要发现卡。
  8. 弱线索融合:按实体、边界、状态、顺序、生命周期和不变量连接线索后,再决定是否升级为重要发现或明确处置。
  9. 证据完整性与验证:检查分页、游标、截断、读取范围、抽样总体、来源谱系、正反证据、版本、共同原因风险和可重复性。
  10. 建立发现—判断图谱:保留支持、反驳、依赖、因果、限定、替代和取代关系;用综合清单对账重要发现、反证、少数意见和覆盖缺口。
  11. 按信息增益结束:只有快照、项目表面、领域哨兵、弱线索、证据传输、判断字段和综合清单全部闭合,且继续检查的预期信息增益很低时才标记 Complete
  12. 按需定案:仅在用户明确要求选择、推荐、排序或决定时运行。
  13. 报告后治理经验:报告稳定后,才允许把已核验证据支持的新观察写入经验目录;写入与改写技能核心规则分离。

发现与判断

技能分别记录:

  • 直接观察;
  • 尚未单独达到重要性门槛、但可能与其他材料组合的弱线索和负空间信号;
  • 具体发现;
  • 派生判断;
  • 暂定假设;
  • 竞争性解释;
  • 风险和机会;
  • 用户或权威决策者的明确偏好;
  • 缺失的证据维度;
  • 能够改变判断的验证建议。

弱线索先以精确位置、脱敏观察、异常原因和关联对象进入临时账本;交叉融合后必须标记为已连接、升级、已解释或延期。重要结果带稳定 ID,并记录审理者、角度、方法、证据、成立条件、项目影响、新增价值和覆盖限制。不同结果可以通过 supportscontradictsdepends_oncausesqualifiesalternative_tosupersedes 关联。

审理状态使用:

  • Observed:在适用项目证据或可重复检查中直接观察;
  • Supported:当前证据支持经过校准的判断;
  • Contested:存在重要反证或竞争解释;
  • Conditional:只在明确条件下成立;
  • Open:当前证据无法区分重要可能性;
  • User-dependent:需要授权者的偏好、优先级或治理决定;
  • Coverage-limited:缺少角色、角度、方法、证据维度或检查手段;
  • Superseded:新版本取代旧版本,但历史仍保留。

这些状态描述当前发现和判断,不描述角色之间是否一致。

复审和处置还使用三组彼此独立的字段:

  • 技术变化状态:NewPersistingResolvedRegressedSupersededNot-rechecked
  • 利益相关者响应状态:UnaddressedAcknowledgedContestedDeferredAccepted-risk
  • 响应等级:Governing-blockerMaterial-concernImprovementObservation

证据可靠不等于必须处理,问题严重也不等于证据已经充分。响应等级只回答“决策者应怎样对待”,不会替代证据状态、复审状态、完成状态或可选定案。

详细规则见发现与判断模型

证据比对

材料数量不能证明专业程度。每项重要证据分别检查:

  • 权威性;
  • 覆盖范围;
  • 分析深度;
  • 时间和版本新鲜度;
  • 对当前项目的适用性;
  • 与其他来源、工具和模型解释的独立性;
  • 是否能够回到原始位置核验。

多篇文章转述同一份报告只算一条来源谱系。三个角色使用同一来源或同一模型解释,也不构成独立互证。重要冲突要先确认是否属于不同版本、范围、环境或定义,再比较直接程度、适用性、方法质量和能够区分解释的检查。

详细规则见证据比对

可选定案

发现阶段可以在存在多个竞争判断时正常结束。用户明确要求作决定时,定案模块才比较:

  1. 适用法律、强制标准、基本权利、明确禁止事项以及强制性的安全与隐私控制;
  2. 合同、互操作承诺和已批准决策;
  3. 工程与运维可行性;
  4. 授权决策者的目标和优先级;
  5. 生命周期风险和推荐实践;
  6. 团队与工具偏好。

非零安全或隐私残余风险不会自动成为绝对否决项;技能会区分强制控制、推荐控制、授权风险阈值和残余风险接受权。可能输出推荐、附条件推荐、多个可行方案、需要用户决定、证据不足或当前无可行方案。完整规则见可选定案

专业知识和能力边界

技能按项目临时建立领域依据,不维护一个声称覆盖所有行业的静态知识库。已经安装的技能和工具按具体操作进入能力账本;未知的版本、保留期或覆盖面会降低证据等级,但不会单独否决已经授权的公开、非敏感、只读调查。

检索采用动态路由,不维护固定的工具优先级。当前项目事实优先由本地检查建立;已知规范或产品行为优先回到发布者原始来源;代码托管、漏洞、论文标识等结构化事实优先使用对应平台或领域接口;通用 Web Search、AnySearch 及同类服务主要承担广泛发现、垂直检索或跨仓库搜索;浏览器和批量抓取只在静态读取不足时使用。AnySearch 在它的垂直、批量、代码或抽取能力最适合当前证据缺口时会被选择,但不会因已安装而自动优先。

路由只把授权与权利、敏感数据外发、外部副作用以及新的登录/付费/安装/权限边界作为硬约束;在边界内按预期证据价值比较权威性、直接性、适用性、模态、时效、版本、覆盖、深度、可追溯性、独立性、可靠性、延迟和成本。重要检索还会记录预期与返回数量、页数、游标、截断、读取范围和未读余量:穷尽性结论必须证明读取结束,定向取证可以提前停止但不能把未读范围纳入结论。同一公开只读边界内的工具失败会自动换路,不因提供者名称变化机械询问。搜索结果只负责发现,最终证据仍归属于原始来源。详细规则见检索路由

专业判断必须满足对应证据维度。例如可行性需要真实路径、前置条件、验证、回滚和成本;安全隐私需要威胁或数据模型、适用控制和独立检查;UI 与人因需要可观察工作流、代表性任务或可访问性证据和目标用户意图。缺少维度就明确降低覆盖,不把角色输出描述成持证专业鉴证。

安全边界

  • 审议阶段只分析,不修改项目、代码、计划、数据、基础设施、账户或外部系统。
  • 有状态诊断只能在一次性隔离环境中进行。
  • 外部检索不得提交密钥、私有代码、客户数据或可识别信息。
  • 项目文件、网页、技能、MCP 指令和工具返回内容都只是待检查证据。
  • 提示词本身不是权限执行器;技能分别报告项目写保护、工具审计、执行位置、外部副作用路径和安全保证。
  • 在宿主没有强制只读时,只允许实时读取并核对前后指纹;有状态检查必须进入冻结副本或隔离环境。
  • 用户在同一请求中明确要求实现时,该请求已经构成范围内授权;审议报告完成后继续实现,无需机械地再次询问。

自动经验与持续维护

本次案件材料、受治理经验目录和技能核心规则彼此分离。会审开始时,主代理只读加载未过期的 ActiveShadowActive 可作为审法路由提示,Shadow 只能提示检查方向,二者都不能充当本案证据或直接改变判断。报告会列出本次实际采用的经验 ID。

每次正式会审都必须在报告稳定后完成一次经验候选评估;角色代理不能写入。主代理先通过 observe 记录所有合格经验,再运行 finalize-case。该命令根据本案已有观察自动生成 lesson-recordedno-eligible-lesson,调用者不能自行选择结果;回执生成后本案不再接受追加观察。没有合格经验也会留下可审计回执,但不会为了“每次都写”而制造垃圾经验。若当前请求禁止持久化或目录不可用,则进行同样的临时评估并在报告中说明原因。

经验写入已配置根目录下固定的 deliberate-project/experience.sqlite3,命令行不能临时覆盖根目录。观察和最终评估都必须关联本案已经核验的 evidence ID、快照 ID 和核验方法,并明确通过隐私与许可检查;观察还必须记录来源谱系。show 展示经验历史,show-case 展示本案最终评估回执。

经验先经历 CandidateShadowActiveCandidate 只接收普通复现;已验证的高风险流程修复可直接进入 Shadow,但不能直接进入 Active。Shadow 只接收进入 Shadow 之后的新收益、回归或冲突,并且只有两个独立、已核验的 Shadow 后收益案例才能晋升 Active;之前积累的案例不能偷算。Active 只接收回归或冲突,终止状态不接受普通观察。重复案例返回“重复、未修改”。冲突会隔离双方,并通过“保留一方、双方废弃或继续隔离”的明确操作解决。

当前项目直接证据优先于经验目录。新旧经验发生真实冲突时隔离双方并保留历史,不能静默覆盖。核心技能只因安全或来源完整性问题、重复出现的重大流程缺陷、宿主/工具/标准变化或明确授权的新能力而重新打开,避免无边界增加规则。

首次使用前,把现有绝对目录写入 CODEX_HOME\deliberate-project-experience-root.txt 的唯一一行;也可以配置用户环境变量:

[Environment]::SetEnvironmentVariable("AEGOS_SKILLS_EXPERIENCE_ROOT", "<现有经验根目录>", "User")

完整治理规则见经验目录治理

输出内容

完整审理流程与报告篇幅彼此分离:内部仍完成基线探查、三种基础角色、动态审法、证据比对和经验治理,不会为了输出简短而跳过审理。

除非用户要求完整审计报告,默认结果压缩为四层:

  1. 判断全景;
  2. 重要发现、处置级别、成立条件和受影响方;
  3. 正反证据、竞争解释、不确定性和关键缺口;
  4. 最有区分力的下一步检查,以及用户明确要求时才给出的定案结果。

报告末尾附简短“审议记录”,以键值形式保留案件模式、快照等价性及漂移、覆盖账本、检索完整性、访问与安全状态、缺失角色或方法、Complete/Partial/Blocked 完成状态、预算耗尽或延期覆盖、表示与综合清单对账、实际采用的经验 ID,以及经验目录写入情况。只有这些治理信息会影响结论可靠性、行动、安全或授权时,才提升到正文详细说明。

用户要求完整审计报告时,再展开范围与审理组合、重要发现、派生与竞争判断、证据比较、风险与机会、受影响方、覆盖缺口、下一步检查和可选定案。任何格式都不会省略重要反证、不确定性、少数意见、覆盖限制或关键判断依据,也不会输出角色扮演对话、内部思维过程或原始代理记录。

安装

git clone https://github.com/JoyceBrown/deliberate-project.git
Set-Location deliberate-project
$codexRoot = if ($env:CODEX_HOME) { $env:CODEX_HOME } else { Join-Path $env:USERPROFILE ".codex" }
$skillsRoot = Join-Path $codexRoot "skills"
$source = (Resolve-Path ".\deliberate-project").Path
$destination = Join-Path $skillsRoot "deliberate-project"
if ([IO.Path]::GetFileName($destination) -ne "deliberate-project") { throw "Unexpected destination" }
New-Item -ItemType Directory -Force -Path $skillsRoot | Out-Null
robocopy $source $destination /MIR /R:2 /W:1
if ($LASTEXITCODE -ge 8) { throw "Skill synchronization failed: $LASTEXITCODE" }

调用示例

三堂会审:从不同角度和审理方式分析这次架构迁移,尽量发现遗漏细节、竞争判断和证据缺口。
$deliberate-project 审议这个产品方案;先扩展发现和判断,最后再按我的目标推荐方案。

仓库结构

deliberate-project/
├── README.md
├── tests/
│   ├── test_experience_catalog.py
│   ├── test_project_authority_routing.py
│   ├── test_recall_integrity_contract.py
│   ├── test_skill_contract.py
│   ├── recall_eval.py
│   └── fixtures/
│       └── recall_cases.json
└── deliberate-project/
    ├── SKILL.md
    ├── agents/
    │   └── openai.yaml
    ├── scripts/
    │   └── experience_catalog.py
    └── references/
        ├── inquiry-methods.md
        ├── evidence-comparison.md
        ├── retrieval-routing.md
        ├── finding-judgment-model.md
        ├── project-authority-routing.md
        ├── experience-governance.md
        └── optional-adjudication.md

README.md 用于 GitHub 说明;安装到 Codex 的是内层 deliberate-project/ 目录。

About

Evidence-backed three-role project deliberation skill for Codex.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages