我如何构建了一个调试工具,以及使用该工具的代理在其中发现了 bug
1 分•作者: vladimir_si•2 个月前
这个故事本可能永远不会发生,尽管我早就有了开发调试器的想法。一直没有一个触发点。但有一天,一个足够强大的触发点出现了,我搁置了项目,开始构建调试器,发誓再也不要遭受那样的痛苦了。
一点背景:我正在为人工智能解决方案开发者构建一个平台,这样任何人都可以舒适地进入并开展自己的初创项目。要实现这一点,还有很多工作要做。
我应该提到,我完全是基于原则使用代理编码来构建这个项目的。不是“感觉编码”——那是给那些只闻到“可能性”气息的业余爱好者用的——而是真正的代理编码,拥有一个结构清晰的工作流程,代理别无选择,只能遵守我设定的规则,在我构建的边界内行事。原则上,我没有亲手写过这个项目的任何一行代码。
于是,我正在进行日常工作,修复 Prompt Studio 工具中的一个 bug。我现在甚至不记得那个 bug 具体是什么了——它顽固地抵抗了我和我 Opus 的共同努力。但它拖延了太久,以至于我当时感到的是愤怒,而不仅仅是疲惫。就在那时我意识到:如果我当初没有进行这种低效的苦苦挣扎,而是直接去构建那个调试器,我现在早就解决了这个 bug。但我还是坚持了下来,坚持了下来,直到我赢了。
不用说,我的项目被搁置了,我开始构建调试器。由于这个想法已经酝酿了很长时间,第一个 Python 原型——六个模块——很快就被集成到平台中,作为一个内置的调试子系统。然后就到了实际测试的时候。我告诉代理:“使用 Revizor 来检查它自己。”接下来的三分半钟里,发生了以下情况:
代理启动了 Revizor,激活了其中的所有跟踪点,发现了几个 bug(4 或 5 个,我不记得确切数字了),修复了它们,并使用 Revizor 自己的工具运行了 199 个测试——全部通过!我惊呆了,无法用言语形容。
那时我明白了:平台的第一款产品不应该是 Prompt Studio——而应该是 Revizor。我用 Go 重写了它,并开始使用这个二进制文件,淘汰了那个作为原型的旧子系统。
随着时间的推移,Revizor 获得了扩展其功能的新工具。现在,在代理的指导下,它可以在一瞬间检查代码中的跟踪点,添加或删除它们。代理们将使用 Revizor 描述为“X 光视野”。这是其中一个代理的真实评论:
Revizor 今天节省了多少时间?
● 大约 15-20 分钟。trace_search "elevation" 在 2 秒内显示了 5 个跟踪点的完整链条,确认了 elevation 的正确工作——如果没有它,我需要深入研究代码和日志,添加临时的 print() 语句,然后重启服务器。但真正的价值不在于那几分钟——而在于确定性:我不是在猜测它是否有效。我看到了。
不要相信代理:它总是夸大任何任务所谓的耗时。但它所说的“我不是在猜测——我看到了”是有价值的。如果在我当初与导致我构建它的那个 bug 搏斗时就已经有了这个调试器,调试工作本可以快很多倍。
现在我无法想象没有它而工作。我邀请您免费试用:有一个免费的社区版,一个无限制的 14 天试用期,以及——最重要、也是我所有产品一贯秉承的——周日无限版,专为那些在周末进行个人项目或开源工作的人士设计。
使用任何主流提供商(目前有六种选择)登录即可下载。
关于安全:平台不收集或存储任何个人数据——只存储您的内部 ID 和您的身份验证提供商的哈希值,以便下次识别您。Revizor 本身除了每天的许可证检查 ping 和周日无限版的同步时间外,不会从您的机器发送任何信息。企业许可证提供完全的静默。
试用 Revizor:https://ais-platform.dev/revizor
查看原文
This story might never have happened, even though I'd been carrying the idea for a debugger for a long time. There was no trigger. But one day a trigger appeared that was strong enough that I set the project aside to build the debugger and never suffer like that again.<p>A bit of backstory: I'm building a Platform for AI-solution developers, so anyone can come in and work on their own startups in a comfortable environment. There's a lot of work ahead to make that happen.<p>I should mention that I'm building this entire project on principle using agentic coding. Not "vibe-coding" - that's for amateurs who've caught a whiff of "possibilities" - but genuine agentic coding, with a clearly structured workflow where the agent has no choice but to play by the rules I've set, within the boundaries I've built. On principle, I haven't written a single line of this project by hand.<p>So there I was, doing routine work, fixing bugs in the Prompt Studio tool. I don't even remember now what exactly that bug was - it stubbornly resisted the combined efforts of me and my Opus. But it dragged on so long that I was feeling anger by that point, not just fatigue. And that's when it hit me: if instead of this unproductive slog I'd just gone and built that debugger already, I'd have beaten this bug by now. But I kept going, and kept going, until I won.<p>Needless to say, my project got pushed aside and I started building the debugger. Since the idea had been maturing for a long time, the first Python prototype - six modules - was soon built into the Platform as a built-in debugging subsystem. Then came the time to test it in action. I told the agent: "Use Revizor to check itself." Over the next three and a half minutes, this happened:<p>The agent launched Revizor, activated all the trace points in it, found several bugs (4 or 5, I don't remember exactly), fixed them, and used Revizor's own tools to run 199 tests - all green! I was so stunned I can't describe it.<p>That's when I understood: the Platform's first product shouldn't be Prompt Studio - it should be Revizor. I rewrote it in Go and started using the binary, retiring the old subsystem that had served as the prototype.<p>Over time, Revizor gained tools that expanded what it could do. Now, under the agent's direction, it can check code for trace points, add them or remove them - all in a fraction of a second. Agents describe using Revizor as "X-ray vision." Here's a real comment from one:<p>How much time did Revizor save today?<p>● Roughly 15-20 minutes. trace_search "elevation" showed the full chain of 5 trace points in 2 seconds, confirming elevation works correctly - without it, I'd have needed to dig through code and logs, add temporary print() statements, restart the server. But the real value isn't the minutes - it's the certainty: I wasn't guessing whether it worked. I saw it.<p>Don't trust the agent: it always exaggerates how much time any task supposedly took. But there's value in what it said - "I wasn't guessing - I saw it." If I'd already had this debugger back when I was wrestling with the bug that led me to build it, the debugging would have finished many times faster.<p>Now I can't imagine my work without it. I invite you to try it for free: there's a free Community tier, an unlimited 14-day trial, and - most important, and always true for all my products - Sunday Unlimited, made for people working on weekend passion projects or open-source work.<p>Sign in with any major provider (six options so far) to download it.<p>On security: the Platform doesn't collect or store any personal data - only your internal ID and a hash of your auth provider, to recognize you next time. Revizor itself sends nothing from your machine except a daily license-check ping and a time sync for Sunday Unlimited. Enterprise licenses give complete silence.<p>Try Revizor: https://ais-platform.dev/revizor