This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
StyloAgential Workflow:我如何构建和管理大型的 (和HUGEMS K2系统使用代码LLM {(}Part @1)
Saturday, 18 July 2026
这是两个“:”中的问题和StyloAgent model.的一部分。 《工作流实践》 使用该选项@. @ @ @ info
代码生成不久前不再是问题了 @.@ 模型写好代码@.}它们遵循文档中的常规, 它们正在编辑 @,}如果你在失败的测试中指向它们... ...它们通常会修正它...
不工作的部分是记忆@. @%
瓶颈已不再是 @"@ can the model write the code ?"}这是#"_does 写代码的东西 记住为什么这个系统就是这样吗?%?"}
每个新的会话 都开始对系统一无所知 它即将改变它 Stylo. 蝙蝠侠 这是两个仓库,} 仪表板上的风险带是在阅读时生成的, 而且从未缓存过 □,} 确切地说有一个数据库连接工厂 SQLite 商店绝对不能在 Postgres-write 與PostgresMPK3}一起 。 这些都不在正在编辑的文件里。
这是关于我为停止支付成本而建造的工作流程 我称之为StyloAgent@,}这是建立和运行 Stylo @._Bot today.的舰队
核心问题=:建筑漂移
Stylo.Bot'S检测引擎不是普通的 ASPMS K2NET CROUD AP}. 它运行在EphemeralMS SignalSink 每个请求是黑板@ , @ 单 ScheduleCoordinator }μK1cccroid ,§ 校正琌刚弄 而不是缓存. ê贺琌玻珇俱翴 . 琵ウ眖所观测到的行为中吸取教训 而不是匹配静态列表MS K5
代码LLM并不想建立它所看到的东西 它想要在它的训练数据中 造出100万次
| .+NET反射 MS K2+PLAIN CRUD3+ | +Stylo}.+BOT='计划模式 |
|---|
|A# BackgroundService 每个定期工作 @ |% 1 ScheduleCoordinator 发射滴答信号 @|
|A# ConcurrentDictionary 用于存储@ | @ atoms hold state;}没有在 MS K2 memory 持久性 {|}\ MPK3{
|A# switch 绘制一个字符串到分类@| @ nearest @ -centroid叙级@ MS K2}漂移 @ I, Leiden @ |
| 缓存位置的计算值 @| 在读取@( computute\ MS K3 at}-read) |
光着身子 DbContext @|_州立大學 住在引擎裡 #,}讀取於接合機上 | *
{\fn方正黑体简体\fs18\b1\bord ILogger 以检查发生的事情,@| 信号宣布+; 讯号Sink是黑板 @|
左侧的每个单元格都是教科书 ASP.NET, 在正常的 AppMS K1} 右侧的每一个单元格对 Stylo.Bot.} CLAUDE.md 明确说: @, 明确的@:/ centroids not rules *, 没有背景服务使用调度员{,}没有在_-memory商店}, 没有任何缓存有利于新鲜性 比地区=, 信号和原子不是 ASP>.NET 规范\□.}
它没有抱住. CLAUDE.md 每个会话中都是新加载的, 和每个会话,每会话都与模型竞争 's priors and loses . 模式返回到其培训数据的平均值@, 即 CROUD}.
这个重整工作周的费用是多少? 没有一个戏剧性失灵 一个缓慢的流血 BackgroundService 返回到一个协调员的选项@, @ a ConcurrentDictionary 静悄悄地成为寄生虫商店 switch 语句在会话后被转换回一个 procilmology lookup@, @% 此错误从来不是点@ .。 该偏移就是点@ .} A per-repo 指令文件是检索Q,, 而检索不够充分 *: 这个代理拥有它前面的规则=,不理解为什么时间形状重要\ MS K8 并且反正侵蚀了它
不是" 代理商不能满足 ' @ t代码% "}但代理商可以维持架构 't 没有更大的指令文件固定了它._给建筑主一个拥有者做了".}
这件事的大小
缩放没有导致漂移 % . 它乘以 * .*
Stylo,Bot 不是玩具 . 它是一个博托MS K2 检测平台 @:}一个FOSS探测引擎 通过YARP网关来连接网络应用程序
诚实地计数@: @%
- Stylo.Bot :FOSS探测引擎和商业层的两个主要仓库*.
- 大约20个-+5个项目 在商业回收范围内
- 我自己的 Nuget 软件包中有许多产品共享@:
Mostlylucid.Ephemeral-=YTET -伊甸园字幕组=- 翻译:StyloExtract,StyloFlow,StyloIssues, 清晰度. - 基础设施“:+Helm taggs” “,+”一个缩微胶片“MS K2Qs clocation@,+” 一个秘密商店“MSSK4+”集装箱注册簿“.+”
- 一个行销网站 运行检查和嵌入真实的仪表板
每一个浮点都是表面,漂流会渗入,。 一个新鲜的剂必须对所有它们都保持同样的时空纪律 . 将单一的探测接缝切入网关\ , 商业插件MS K3 仪表板投影+, 和部署管道{. 写着改变从来都不是最困难的部分}保持建筑稳定 同时使结构固定在任何地方 □,
单一超级神话 @-_Agent
产业界不断达成相同的答案 @:给代理商更多上下文@. Bigger window @MS K2 million_-token 提示#.RAG 将正确的文件拉到实时系统. MCP+.记忆层,以总结和重放过去的会话 *.}
所有这些改进了检索@.}它们都无法增进理解 @.
Retreival 找到相关的文件@. @ access understand 知道为什么这个文件是这样的 它会保护什么?
观察在Stylo@._Bot @:}的冷剂启动。
- 用于探测管道的Greps.
- 它读了管弦乐队 .
- 判决有三条轴,
- 它注意到商业插件通过依赖注射取代FOSS接缝@.
30分钟后,它知道可以做一个“-line change”. 然后会话结束,所有东西都蒸发了 下一个会话支付相同的30分钟 “.}大上下文窗口让每个重新发现更便宜"MS K4" 它不会使重新发现的没有必要."
更聪明的搜索是错误的修复@. @ 搜索本身必须停止发生 @ . @
人类如何实际构建软件
没有一位工程师能理解整个企业系统 @. 真正的公司里没有人拥有支付量@, auth}, 数据管道, 以及他们的头部前端同时完全解析. 这不是一个失败的#. 这就是大型系统是如何建造的_.
团队将系统分解为域, 并在每个域设置一名专家@. 付款人拥有支付权 @. 他们知道历史_, 尖锐边缘}两年前的决定
拥有权比百科全书知识更重要 专家不需要知道一切 他们需要深入了解他们的领域
使分解的系统保持一致性的是通讯@.}支付者在更改符号格式前与被认证人交谈.}拉动请求跨越边界,而该边界的所有者在.}_BARBAR_该结构始终一致不是因为一个人持有全部的#,}而不是因为持片的人彼此交谈>.}
这是每个真正的团队如何操作 .Q代码代理 以相反的方式运行
我的问题不同了
在一个小的App.中,漂移将是一种烦恼。 在我拥有的一个系统里,它是一个腐蚀性{,}因为它们不是一个系统_. 它们都是单独的产品, 在不同的仓库里}♪, 通过我拥有的软件包来互相喂养
基质是 Mostlylucid.Ephemeral我自己的NuGet软件包 @:}执行原始和数据流 检测引擎建在#.+Stylo@.+Bot上面 StyloExtract 用于布局@ - @ finger 打印匹配 @ ,} StyloFlow -驱动的工作流程和许可 StyloIssues 这篇文章中的舰队是建在我的包件上, 也由我的包件“:”和“SlearnVIEW”组成。 Mostlylucid.Avalonia.UITesting 我用工具“,”构建产品,
这是真正的狗食 ,,它是什么使漂移危险\NSK1 一个新鲜的剂 BackgroundService 或 a/ ConcurrentDictionary 它正在腐蚀一个包 每一个这些产品都站在. 在一个储存库中的漂移船和在两个保存库的表面
一个漂流原始的 . 每个产品都以它为基础
在这种规模中,编码从来都不是最困难的部分 . 保持建筑结构不受不断回归的影响 是,
所有权*,非上下文
上下文为错误的轴 @ .} 使用会议次数的成本比例 * MS K1} 不代表窗口大小@ ,} 因此更大的窗口会损失到一个更长的时间@ I- living project
问题不是#"}我如何给一个代理更多上下文?
将知识装入窗口并随着視窗@ . @ 给予专家它, 它会往前传送\ MS K1} 检测专家不会每次会话都重新加载探测结构@ I. 它已经拥有它的@ O,{ 并且它从上次的作品开始\ , 因为上一次它把它写成自己而不是别人的概要=.}
然后,一个课程付费来扩展这个系统。 “,”不是重新“-”、“Derive it@. ” 这是每天早上新雇用的员工,而是一个团队,人们在那里保留自己的工作 ‘.’
Stylo 代理模型
StyloAgent 将结构转换为运行进程 @ . @ the parts
- 概览概览概览 建筑师兼协调员
overview-它拥有三份活文件“(spec,架构” “, 名册’), 仲裁范围争议” “, 和加入工作的路线'.}它不从事域内工作本身‘. - 专家专家 :#域所有者 @._%
foss-拥有检测引擎@. @%deploy-拥有这栋建筑 -to @-stabaking @MS K2}to@-producation production.mae-B. 成员国和电子商务dash-和edit-自己的仪表板读写路径@. @prod-自己的平台安全@. @%test-拥有套件@. @ 每一个都有文件 @ ,} 而不是任务@ MS K2 - 信息总库 : @ a git-}后背@ MS K2}文件 *-% file 用
inbox,outbox,archive,和saved-context. 信件带有优先级和表面 在代理@'s 翻转边界 @.} - 体液补充和脱水 “: ”每个代理都保留着一个活的上下文文档“. ”当它停下来时,它会脱水;当它唤醒后,它还会再补充水合物 \ . ”
- 工作空间 :FOSS repo 和作为单一工作空间的商业 repo注册
- 通信通讯通讯通讯 : 1 hard rules @. 停留在您的车道@. 在您不拥有的文件中打一个阻塞器, 您可以停止和留言
overview-而不是与所有者对撞@. @%

它实际上是什么
StyloAgent 是一个在 @. @NET @MS K2}和 Avalonia.}(每个专家都是真正的) claude PTY,}在驾驶舱中运行,有自己的终端, 自己的工作室 , 和它的上下文文档MS K3 驾驶舱是MCP服务器的东道主 代理商呼叫并挂勾插座报告他们的状态{. 产品本身由四个所有者}, 建造,而该结构与所有权图+:加倍。
flowchart TD
operator([Human operator])
subgraph SA["Styloagent cockpit"]
cockpit[Cockpit Shell<br/>Avalonia + Dock]
bus[Coordination and Fleet<br/>Channel, Mcp, Diagrams]
session[Session and Terminal Runtime<br/>Sessions, Hooks, PTY]
repo[Git and Document Library<br/>worktrees, Lucene search]
end
agents[Agent fleet<br/>claude specialists]
fs[(Filesystem and Git<br/>durable trace + worktrees)]
operator --> cockpit
cockpit --> bus
cockpit --> session
cockpit --> repo
bus --> session
session -->|runs claude over a PTY| agents
agents -->|MCP verbs| bus
bus -->|reads and writes channel files| fs
session -->|writes context doc on dehydrate| fs
agents -->|commit in own worktree| fs
style SA fill:none,stroke:#6b7280,stroke-width:1px
style cockpit fill:none,stroke:#7c3aed,stroke-width:2px
style bus fill:none,stroke:#d97706,stroke-width:2px
style session fill:none,stroke:#2563eb,stroke-width:2px
style repo fill:none,stroke:#16a34a,stroke-width:2px
style agents fill:none,stroke:#6b7280,stroke-width:2px
style fs fill:none,stroke:#16a34a,stroke-width:3px
style operator fill:none,stroke:#6b7280,stroke-width:2px
MCP是核心 . 驾驶舱是 MCP 服务器的主机@,,专家要协调的一切工作都是 MCP 用一个工具呼叫来对抗它,}不是公约或文件 它希望另一个代理商会读@MS K2。动词集是协调层 @:}
send_message/check_inbox:#路线工作并拉动它,}优先级: MS K2_resovedspawn_agent店主拆散了新专家claim/heartbeat/release“:”序列访问共享环境@(an SSH host @,}一个部署目标#)}所以两个代理商不会相撞=.dehydrate_agent/rehydrate_agent将专家停在公园里并修复它wrap_up@ :_ 测试@ MS K1} 合并 * , 清理已完成的分支 *.}report_issue,architecture_impact,agent_color,list_fleet@ :_ files a bluster ,} 预览一个设计更改, 在它降落前@ MS K2} 保留名册和 C4{ 在一个颜色方案上 @ MPK4}
在下面的文件“-drout 通道”是人们所说的“MS K1}不是机制‘.』的持久跟踪。 这个机制就是 MCP 服务器在转弯边界时向活代理发送一个服务机@.Git Worksets 给每个专家一棵孤立树,用“,”来承诺,但是MCP层使得他们成为一支舰队,而不是一套碰巧共享文件夹<.>的程序。

公交车如何实际运送
send_message 在频道中写入一个耐久的标记文件, 并以 @ - process@ MS K1} A 提供 ChannelDeliveryCoordinator 显示新文件的手表@, 保留一个已见集, 所以每条消息都会被发送一次 : @ , 将它传送到现场收件人@ MS K2 并掌上实际推进到送件服务@ I.
断开消息的硬中断如何不是一个 free @ -_ For@ MS K1}all MSSK2} 一则信件带有优先级@ I,, 而运行时间决定了该优先级进入发送模式@. 这是真实的 DeliveryMode 一个中断的梯子 @ : @
public enum DeliveryMode
{
Interrupt, // send ESC to break the current turn, inject immediately
NextPrompt, // queue; inject when the agent next reaches idle
Poll, // not pushed; the agent checks on its own cadence
Convenient, // surfaced in the Bus HUD only
Informational, // never actioned or injected; shown as info
}
发送是空闲的@- @gated和在-once}MSSK3},确认为已观察到的侧面 <-_effect}MS K5}这不是一个允诺*.}当前转弯的紧急消息破解 *%.}正常人等待下一个闲置的提示 这样它不会腐蚀代理商中"-siew}MSC9
如何强制执行所有权
在你的车道上停留不是荣誉制度 . 建筑有一台机器 - 可读投影 ownership.yaml,和a OwnershipMap 解析代理商前缀中拥有该代理商的 repo- relative path
// most-specific glob wins, so a session- carve-out inside cockpit-'s
// src/Styloagent.App/** beats the broad glob
public string? OwnerOf(string? path) { /* ... */ }
A PreTooluse Gate 消耗了解答器并阻止代理商撰写文件, overview- 此地图与 C4 图表@ maggage @ .}相同的数据, 谁拥有什么和谁拥有哪一种源的强制执行图片 %,}绝不要两张漂移副本. *
活的-docs环圈
overview- 它的系统快速在铁路上运行。 在三层工作 : @- n下移, 不要跳过前端@.\ }
flowchart LR
spec["spec.md<br/>what the system is"]
shape["architecture.md<br/>C4 shape, owner-coloured"]
fleet["proposed-agents.yaml<br/>who owns each component"]
spec --> shape --> fleet
fleet -.->|specialists report on the bus| spec
style spec fill:none,stroke:#2563eb,stroke-width:2px
style shape fill:none,stroke:#d97706,stroke-width:2px
style fleet fill:none,stroke:#16a34a,stroke-width:2px
Spec 第一 : 系统是 @,} 在任何其它事情之前与人类达成一致 . 然后形状为#: 单一的 C\4 元件图,其中每个元件都由预定所有者来颜色...". 之后机队=: 每个顶端的-级元件中建议一个代理@, 分享其组件's color. 作为专家学习真实系统并报告 busQ,} overview- 将结果折叠回到形状“,”的Spec,reMS K1derives中,并调整机队 “.}三份文件保持对设计的实时投影而不是衰变为虚构‘.’}
取代任务的专家
大多数代理工具创建工人@. 描述一个任务\ , 一个工人旋转起来 , 是不是它 @,失踪了\ I. 下一个任务是一个新的没有记忆的工人\ MPK5个专家从未积累 因为没有任何东西可以在\ NSK6中累积
StyloAgent创建专家 . foss- 这不是一个曾经触摸过检测引擎的工人。 它是一个探测引擎 '}所有者 -, * 而且它会一直保存着每关的所有者..."."这个区别不是化妆品・.* 这就是为什么舰队抓住了一个错误, 一个任务_-基地的工人会错过了~.>

已知机器人出现在仪表板上, 被评为非常高的风险@.。 很明显的动作, 一个新鲜工人做的#,是重新调配产生风险带的投影, foss- 之所以没有这样做“,”是因为 foss- 它发现,只有在存有经核实的索赔状态的指纹时,风险波段针才与友好匹配;确定该状况的方法”=,} UpdateClaimVerificationAsync*,有 生产中的零呼叫器@._profession and remotioning the p投影不可能修好它#.}所以每个已知的机器人都认为非常危险
该诊断来自累积所有权 . foss- 已经绘制了管弦乐队的地图@,、判决作曲家 @,和先前会话中的索赔单}#. 这个错误在搜索时是隐形的,而且对拥有者来说显而易见.
StyloAgent本身证明了这一点 . 工具由自己的舰队建立 cockpit- 拥有 Avalonia shell*, bus- 协调与交付 , session- 拥有PTYs和产卵状态机器 repo- 他们学到的艰难教训被写进他们的上下文中, 以至于他们永远不再阅读@.真正的碎片。 session-@'_s 自己的上下文文档@:}%
## HARD-WON DISCIPLINE (enforced this session, confirmed by overview-)
- Commit by explicit pathspec, atomically, in ONE command. The shared tree has ONE git
index. A bare `git commit` after `git add` lets ANOTHER agent's concurrent commit sweep
your staged files (it happened: my clipboard work landed mis-attributed in cockpit-'s 5e54207).
一个基于工作的任务“-”的工人在碰撞中撞击了该任务,下一个工人又再次撞击了它 “, ”因为没有任何东西能将教训传到前面去“MS K3 ” session- @, @understand why\ ,Q} 并编码了拼图作为谁的一部分。 这是执行任务和成为专家的区别。#.@
代替再回收的补液
寒冷的会话始于仪式@: @search the codebase_,}总结一下您找到什么#,}重建建筑...",}试着记住上次发生的事
补液去除仪式@. 序列变为 @: 提醒专家, 恢复状态#, 继续_.
州里每个专家的档案中都有一份生命 这是实际保存的背景 foss-@,# 轻巧修剪 #:#
# foss- saved context
## Repo state
- Branch: main. My fix commit: 9b849629 (NOT pushed) - the known-bots-VeryHigh fix.
## DONE this session
- known-bots-VeryHigh fix (9b849629) - overview APPROVED, shipped:
ROOT: UpdateClaimVerificationAsync had ZERO prod callers (never wired). Every fp
stayed 'unverified' -> known bots read VeryHigh. Redeploying #115 could never fix it.
## NEXT (open, in priority order)
1. overview follow-up: add a REAL end-to-end test through the REAL store, not a double.
2. RISK display Face 1 (still OPEN): risk band missing from dashboard LIST rows.
## Guardrails
- ANY prod fingerprint-DB op = staging-first + express human go.
- CF-IP caveat: if the gateway verifies the bot against CF egress not the real client IP,
the latch never sets -> still VeryHigh.
新鲜 foss- 它知道最后一项承诺为什么存在 , - 什么仍然开放\ , 是什么,哪些护栏限制下一步行动.\ no rediscovery,}因为专家为自己的未来自己写了这篇文章..."." 其中一条规则是严格规定它从来没有包含秘密值\ : 它只包含一个指针
这是一台真正的状态机器 @,}不是比喻@.}代理会话在四个州移动 Unspawned, Live, Dehydrated, Exited.
flowchart LR
Unspawned[Unspawned] -->|spawn: PTY + launch prompt| Live[Live]
Live -->|write context doc, stop PTY| Dehydrated[Dehydrated]
Dehydrated -->|rehydrate: restore from context| Live
Live -->|wrap up: test, merge, cleanup| Exited[Exited]
style Unspawned fill:none,stroke:#6b7280,stroke-width:2px
style Live fill:none,stroke:#16a34a,stroke-width:2px
style Dehydrated fill:none,stroke:#d97706,stroke-width:2px
style Exited fill:none,stroke:#6b7280,stroke-width:2px
“脱水”写下上下文文档, 并释放 PTY,。 所以停泊专家在睡梦中不花费任何费用, 而它又恢复了“再活” ,。 从第一个转弯起“. 包装” 是干净的出口@:} 驾驶舱运行着这个工程项目<'s 测试> @, 将工作树与主@MS K7 合并起来, 并且删除“ , ” 或由于一个失败, 它保持了工作樹, 并将问题归档到三重. 不取决于维持热度的上下文窗口吗? .} 记忆保存在磁盘“MS K11” 上, 国家机器读回Q.
继续到 {2} part
这就是问题所在, 《工作流实践》 将舰队丢弃在不熟悉的系统上 在库库之间工作 为什么每个决定都来源于,
相关条款
- 为什么LLAL女士失败为感应器 - 使用概率合成器作为边界装置的类别错误@.
- MCP 是一个运输机*,}不是建筑 @-_#为什么建筑在协议之上存在?
- {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2款 这支舰队制造和运行的探测引擎 .