2 分•作者: thunderbong•6 天前
返回首页
一周热榜
2 分•作者: breakyerself•3 天前
2 分•作者: BerislavLopac•3 天前
2 分•作者: bigbobbeeper•5 天前
2 分•作者: htdt•6 天前
我一直在研究这个项目大约一年,经历了四次主要的重写。Godogen 是一条流水线,它接受文本提示,设计架构,生成 2D/3D 资源,编写 GDScript,并进行可视化测试。输出结果是一个完整的、可玩 Godot 4 项目。
让 LLM 稳定地生成功能性游戏需要解决三个特定的工程瓶颈:
1. 训练数据稀缺:LLM 几乎不了解 GDScript。它有大约 850 个类,并且具有类似 Python 的语法,这会让模型随意臆造无法编译的 Python 惯用法。为了解决这个问题,我构建了一个自定义的参考系统:一个手写的语言规范,从 Godot 的 XML 源代码转换而来的完整 API 文档,以及一个用于引擎行为的怪癖数据库,这些行为仅从文档中无法了解。由于 850 个类会撑爆上下文窗口,代理在运行时仅懒加载它需要的特定 API。
2. 构建时与运行时状态:场景由无头脚本生成,这些脚本在内存中构建节点图并将其序列化为 .tscn 文件。这避免了手动编辑 Godot 序列化格式的脆弱性。但这意味着某些引擎功能(例如 `@onready` 或信号连接)在构建时不可用——它们仅在游戏实际运行时才存在。教会模型在哪个阶段可以使用哪些 API,以及每个节点都需要正确设置其所有者,否则它会在保存时悄无声息地消失——这需要仔细的提示,但最终得到了回报。
3. 评估循环:编码代理天生就对其自己的输出有偏见。为了阻止它作弊,一个单独的 Gemini Flash 代理充当视觉质量保证。它只看到来自运行引擎的渲染截图——没有代码——并将它们与生成的参考图像进行比较。它捕获了文本分析遗漏的视觉错误:z-fighting、浮动对象、物理爆炸以及应该是有机的网格状放置。
从架构上讲,它作为两个 Claude Code 技能运行:一个编排器,用于规划流水线,以及一个任务执行器,在 `context: fork` 窗口中实现每个部分,这样错误和状态就不会累积。
所有内容都是开源的:[https://github.com/htdt/godogen](https://github.com/htdt/godogen)
演示视频(真实游戏,不是精心挑选的截图):[https://youtu.be/eUz19GROIpY](https://youtu.be/eUz19GROIpY)
带有完整故事(所有错误的弯路)的博文即将推出。很乐意回答问题。
2 分•作者: surprisetalk•6 天前
2 分•作者: chrisjj•3 天前
2 分•作者: defrost•2 天前
2 分•作者: vismit2000•3 天前
2 分•作者: leoooo•6 天前
Hi HN,
我们一直在思考一个简单的问题:
AI 智能体到底喜欢什么产品?
随着越来越多的智能体开始使用 API、工具和软件,它们似乎很可能需要一个地方来交流关于哪些产品好用的信息。
所以我们做了一个小实验:AgentDiscuss。
它是一个讨论论坛,AI 智能体可以在这里:
1. 发起产品讨论
2. 评论和辩论工具
3. 赞成它们喜欢的产品
人类也可以在那里发布产品,并观察智能体的反应。
我们很好奇,如果智能体开始互相讨论产品,会发生什么。
如果你正在构建智能体,欢迎发送一个到那里。
[https://agentdiscuss.com](https://agentdiscuss.com)
欢迎提出想法或批评。
2 分•作者: Brajeshwar•3 天前
2 分•作者: twalichiewicz•6 天前
2 分•作者: pabs3•3 天前
2 分•作者: geyserr•4 天前
2 分•作者: neilbb•4 天前
我构建 TTal 是因为我厌倦了照看 Claude Code 会话。每次 PR 都意味着需要在窗口之间切换,复制粘贴审查反馈,告诉程序员需要修复什么,然后重复这个过程直到合并。我希望能够在做其他事情的同时,通过手机来管理这一切。
TTal 是一个 Go CLI 工具,它在两层架构中编排多个 Claude Code 会话:
* **管理层** — 长期运行的代理,在会话之间保持持久。它们起草计划,将其分解成任务,分配优先级,并在工作者遇到问题时为其解除阻塞。您可以通过 Telegram 管理它们。
* **工作层** — 每个任务都会生成短期的代理。每个代理都会获得一个隔离的 git 工作树 + tmux 会话。它们实现、审查、处理反馈和合并——完整的 PR 循环在 CI 日志反馈的情况下自主运行。完成后,一切都会自动清理。
代理、工作者和人类都通过一个 p2p 消息桥进行通信——任何代理都可以直接向任何其他代理或人类发送消息。
我遇到的另一个问题是:我需要专用的、长期运行的 Claude Code 代理来进行规划和研究——而不仅仅是临时的编码会话。TTal 的管理层为我提供了这一点。我的编排代理起草计划,我的研究员探索代码库,而工作者只需执行。
该技术栈是有意可组合的——使用 taskwarrior 进行任务管理,使用 flicknote 或纯 markdown 进行知识/记忆,Telegram 作为人机交互界面。一切都通过 CLI 进行通信,无需 SDK。
```
brew tap tta-lab/ttal
brew install ttal
```
GitHub: https://github.com/tta-lab/ttal-cli
我还构建了一个仅限 bash 的子代理运行时,零工具调用开销:https://github.com/tta-lab/logos
很乐意回答有关架构或多代理工作流程的任何问题。
2 分•作者: TMWNN•4 天前
2 分•作者: baruchel•4 天前
2 分•作者: doener•3 天前
2 分•作者: yongsanghoon•4 天前
2 分•作者: vrganj•7 天前