返回项目列表

Smart Choice Agent|结构化可解释决策系统

把模糊需求转成候选项排序、约束分析、证据记录与可审计 Trace

个人项目|产品设计、Agent 编排与 AI Coding 2026.08 – 至今 个人独立项目 本地可运行 · 饮食领域已接入 2026-08-30
Python FastAPI SQLAlchemy SQLite OpenAI-compatible
Agent AI 产品 决策系统 开源
视觉材料待补充Smart Choice Agent|结构化可解释决策系统Agent · AI 产品 · 决策系统
01

30 秒摘要

Smart Choice Agent 把一次推荐拆成可检查的决策过程:先理解意图和硬约束,再生成候选、排序、解释和记录 Trace,让结果能复现、能调试、能继续扩展到更多领域。

02

3 个关键数字

9
Agent 节点覆盖意图、理解、澄清、候选、计划、审查、解释、风险与评估
7
评分维度确定性排序引擎结合硬约束过滤与多维评分
2
运行模式默认规则 Agent 可本地运行,也支持 OpenAI-compatible 模型接入
03

产品流程

  1. 01
    输入需求

    用户用自然语言描述饮食或通用决策目标。

  2. 02
    理解约束

    系统抽取意图、硬约束、偏好和需要澄清的信息。

  3. 03
    生成候选

    领域插件提供候选项,并保留来源和结构化属性。

  4. 04
    排序审查

    确定性引擎过滤不可行选项,按评分维度排序并检查风险。

  5. 05
    解释推荐

    解释 Agent 输出取舍依据、约束命中和备选方案。

  6. 06
    记录 Trace

    会话、消息、Evidence、DecisionState 和 Agent Run 写入持久化层。

04

两个关键决策

01

把推荐答案拆成可回放的决策链路

为什么这样选
推荐类产品需要知道候选项如何产生、约束如何影响排序,以及为什么某个结果更合适。
没有选择
让模型直接输出一个自然语言推荐
取舍
链路更长、数据结构更多,但调试、测试和跨领域复用更稳定。
02

用确定性排序承接 Agent 输出

为什么这样选
Agent 更适合理解、澄清和解释,最终排序需要可复现的规则和分数。
没有选择
完全依赖模型判断候选项优先级
取舍
排序表达力受维度设计限制,但结果更容易验证和回归测试。
05

一个 Bad Case

解释合理,但候选排序不可复现

现象
同一类需求多次运行时,文字解释看起来都成立,但候选顺序和约束命中原因不稳定。
诊断
如果把候选选择、约束处理和排序全交给模型,产品很难定位是理解问题、候选问题还是排序问题。
处理
将硬约束、评分维度、候选选择策略和 Trace 记录从自然语言回答中拆出,交给确定性引擎和持久化结构处理。
结果
当前已跑通饮食推荐的本地闭环;更多领域模板和外部证据检索仍在扩展。
06

结果与验证状态

available

项目已公开并可本地运行,饮食领域闭环已完成;通用决策工作台、更多领域模板和评估数据集仍在迭代。

07

证据链接

08

完整复盘

项目概述

Smart Choice Agent 是一个面向结构化推荐和可解释选择的 Python 多 Agent 系统。它不只返回一个推荐结果,而是把用户意图、硬约束、候选项、权衡依据、风险判断和 Agent 运行记录组织成一条可追溯的决策链路。

痛点机会

推荐类 AI 产品常见的问题是“答案看起来合理,但过程不可检查”。当用户条件模糊、约束冲突或候选项很多时,如果系统不能说明过滤逻辑、评分依据和证据来源,产品就很难被调试、复现和稳定迭代。

目标指标

目标是建立一个可扩展的决策框架:既能在无 API Key 时通过本地规则 Agent 跑通完整流程,也能通过 OpenAI-compatible 配置接入模型;既支持饮食推荐这个具体领域,也保留旅行、职业、学习路径和购物等通用决策的扩展空间。

用户调研

项目围绕“推荐为什么可信”拆解证据链:多 Agent 负责语言理解、澄清和解释,确定性引擎负责硬约束过滤、七维评分、排序和候选选择,持久化层记录 DecisionState、Evidence 与 Agent Run,避免把所有判断黑箱化。

方案设计

系统架构由 FastAPI / Static Web 进入 DietOrchestrator,再调用专用 Agent、确定性决策引擎、饮食领域插件和 SQLAlchemy / SQLite 持久化层。饮食场景支持单餐推荐、多轮澄清、换一批、三餐计划、个人餐食库和公共餐食库;候选选择策略支持稳定排序、随机、匹配度加权和很久未推荐优先。

落地推进

我使用 Python、FastAPI、SQLAlchemy 和 SQLite 实现后端服务、数据模型、仓储层、Agent 协议、编排状态机与本地 Web UI。默认关闭 LLM 模式,规则 Agent 可以独立运行;模型调用失败时,意图和解释 Agent 会回退到本地规则结果,保证确定性决策引擎继续工作。

效果复盘

当前仓库包含可运行服务、初始化脚本、测试命令、本地 Web UI、饮食领域数据和通用演示工作台。它已验证从用户输入到候选排序、解释、反馈和 Trace 留存的本地闭环;真实外部证据检索、更多领域模板和评估数据集仍是后续迭代方向。

迭代反思

这个项目的重点不是把推荐包装得更像聊天,而是把推荐拆成可审查的产品过程。对 AI 决策类产品来说,稳定、可解释、可回放的链路比一次看似聪明的回答更重要;后续需要继续补足跨领域模板和更强的回归评估。