用过 AI Agent 的人应该都有同感:
同一个任务,几乎不可能跑出两次一模一样的结果。
- 读哪些文件会变
- 调用哪些工具会变
- 最终结论也会变
就算写了再严密的 system prompt,执行顺序依然不可控。
在 demo 场景还好,但在工程环境里,这基本是灾难:
- ❌ 无法复现(reproducibility)
- ❌ 难以 debug
- ❌ 无法审计(audit)
我的解法:把 Agent「关进流程图」
所以我做了一个项目 Leeway
核心思路其实很简单:
👉 不要让 LLM 决定流程,而是用流程来约束 LLM
怎么实现?
我用一个 YAML 文件,把整个 workflow 定义成一棵「决策树」:
-
每个节点 = 一个独立的 agent loop
-
每个节点都有明确的权限边界:
- 能连接哪些 MCP server
- 能调用哪些 tools
- 能访问哪些文件 / shell
执行机制(核心)
每个节点执行完成后,LLM 必须返回一个「控制信号」:
"passed""needs_fix"- ...
系统根据这个信号,决定下一步走哪条路径
最终效果
你会得到一种很有意思的平衡:
- 保留 LLM 的灵活性(节点内部仍然是 AI)
- 同时具备流程的稳定性(执行顺序固定)
👉 同一个 workflow 跑 100 次,执行顺序完全一致
和现有工具的区别
vs OpenClaw 类工具
- 它们:LLM 主导一切(高度自由)
- Leeway:流程控制大方向,LLM 专注在节点内“解题”
更适合:
- 有标准流程的工程任务
vs n8n
-
n8n:偏 SaaS 集成(Slack / Stripe 等)
-
Leeway:面向本地开发环境
- codebase
- 文件系统
- shell
Human-in-the-loop(默认支持)
我不太相信“完全无人监管的 agent”,所以:
- 敏感操作可以人工审核
- 支持只读的 planning mode
- 每个节点都有权限控制
Demo
技术实现
- Python + React/Ink(TUI)
- 支持 OpenAI / Anthropic 等主流模型
- MIT 开源
如果这个项目对你有帮助,欢迎点个 ⭐ 支持一下 🙏
项目地址(开源):
github.com/hardness102…
想请教大家一个问题
在实际项目中:让 LLM 自由发挥」 vs 「强约束执行流程」
这个平衡点你们一般怎么取?