Crafting an agent team that still includes me打造一个依然包含我在内的智能体团队

That was fast. We’ve moved from prompting an LLM, to providing instructions to an agent, to having agents prompting other agents in a loop. “Loop engineering” is all the rage among the AI elite who are excited to spin up an agent and let it chomp tokens until it achieves a stated goal. You might rightfully wonder where you fit into all of this. 这进展太快了。我们已经从提示大语言模型(LLM),发展到向智能体提供指令,再到让智能体在循环中提示其他智能体。“循环工程”(Loop engineering)在人工智能精英圈中非常流行,他们热衷于启动一个智能体,让它不断消耗 Token,直到实现既定目标。你可能理所当然地会想,自己在这其中扮演什么角色。

LLMs and agents basically know everything but your context. There’s a role for you in setting up the full context—instructions, tools, examples, policies, skills, and such—your agent needs. It’s also up to the human to set a goal for the agent to loop on. And unless you completely trust the quality of the output, we have a role in reviewing (and owning) the result.大语言模型和智能体基本上了解一切,除了你的上下文。在设置智能体所需的完整上下文(指令、工具、示例、策略、技能等)方面,你可以发挥作用。由人类来设定智能体循环的目标也是必要的。除非你完全信任输出的质量,否则我们还需要负责审查(并对结果负责)。

Earlier this month, I wrote a post that showed how simple it was to spin up an agent team in Google Antigravity. I played no part in the work once I kicked off the team with a prompt. But that’s not super realistic for most people and most scenarios. You may want smaller bites of work that a human is capable of reviewing (not 5,000 lines of code at a time), and the opportunity to engage with the agent team at the right times to adjust steering. To be sure, there is a class of agentic work where you want to just want to fire-and-forget, so we will talk about that too.本月初,我写了一篇文章,展示了在 Google Antigravity 中启动一个智能体团队是多么简单。我只需用一个提示词启动团队,之后便无需参与任何工作。但对于大多数人和大多数场景来说,这并不太现实。你可能希望将工作拆分成人类能够审查的小块(而不是一次性处理 5000 行代码),并有机会在合适的时机与智能体团队互动以调整方向。当然,确实存在一类智能体工作是你只想“一键启动,无需过问”的,所以我们也会讨论这一点。

Let’s see what it looks like in real life. What about a prompt that kicks off an agent team that pauses at strategic times to get my insights? And what about a subsequent process that’s entirely agent looped because I don’t care to be involved at all? I’ll show both.让我们看看它在现实生活中是什么样子的。如果有一个提示词可以启动一个智能体团队,并在关键时刻暂停以获取我的见解,会怎样?如果有一个后续流程完全由智能体循环完成,因为我根本不想参与,又会怎样?我将展示这两种情况。

First, I want to build my web application. It’s the same scenario as my last post: a hotel website. I don’t want to create a prompt (or provide context) with all the details, but rather, have the agent interview me (/grill-me). Then, we should create sprints, pausing after completing each so that I can genuinely absorb all the changes. Each sprint tackles a vertical slice of the architecture, using a team of sub-agents to do backend, frontend, and test work. The frontend engineer asks clarifying questions (using the ask_user tool) to get my opinion on visual design. Here’s my complete prompt:首先,我想构建我的 Web 应用程序。场景与我上一篇文章相同:一个酒店网站。我不想创建一个包含所有细节的提示词(或提供上下文),而是希望智能体对我进行访谈(/grill-me)。然后,我们应该创建冲刺(sprints),在完成每个冲刺后暂停,以便我能真正消化所有的变更。每个冲刺都处理架构的一个垂直切片,使用一个子智能体团队来完成后端、前端和测试工作。前端工程师会提出澄清问题(使用 ask_user 工具)以获取我对视觉设计的意见。这是我的完整提示词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/grill-me "Let's build a hotel room booking app for Seroter Hotels consisting of a backend API and a web frontend."
 
First, act as the **Engineering Manager** to design the API and frontend. Interview me to gather my requirements, asking only one question at time.
 
-----------------------------------------
1. ROADMAP PROPOSAL (HALT FOR APPROVAL)
-----------------------------------------
Once our Q&A is complete, do NOT write any code or launch any subagents yet. Instead:
- Analyze our discussion and propose a Sprint Roadmap consisting of 2 to 4 vertical-slice sprints.
- Each sprint must represent a single, reviewable Pull Request (PR) containing a full stack slice: backend API, frontend UI, and associated tests.
- Present this roadmap to me and HALT. Ask for my feedback, additions, or changes.
 
-----------------------------------------
2. SPRINT EXECUTION (HUMAN-IN-THE-LOOP)
-----------------------------------------
Once we mutually agree on the roadmap, write the final specification and sprint plan to `architecture.md`.
 
Execute the agreed-upon Sprints one at a time, enforcing `architecture.md` as the living **Source of Truth**:
 
### SPRINT WORKFLOW:
For the active sprint:
1. Launch the **Test Manager**, **Backend Engineer**, and **Frontend Engineer** in parallel.
2. **Read Phase:** Force each subagent to read the latest `architecture.md` file before generating code, ensuring they strictly adhere to the established design, database models, and sprint scope.
3. **Frontend Interrogation:** For the Frontend Engineer, before creating any files, it must use the 'ask_user' tool to ask 2-3 visual design questions for this sprint's UI and pause for my response.
4. **Consolidation Phase:** Once the parallel subagents finish their tasks, they must pass their final API endpoints, file lists, component choices, and test plans back to you (the Engineering Manager).
5. **Update Source of Truth:** You must append these implementation details directly to the relevant sprint section in `architecture.md` (e.g., documenting the actual DB columns, final API routes, UI components, and test coverage delivered).
6. **HALT & PR Review:** Present the updated `architecture.md` and a summary of the code changes for my review. Wait for my explicit approval before moving to the next sprint.

Here’s what happens when I plug this into the Angravity 2.0 desktop app. First, I add that prompt into the textbox and choose my LLM (Gemini 3.5 Flash).当我把这个输入到 Angravity 2.0 桌面应用中时,情况如下。首先,我将该提示词添加到文本框中,并选择我的大语言模型(Gemini 3.5 Flash)。

The primary agent is acting as my Engineering Manager and starts off by asking me its first requirements-gathering question.主要智能体充当我的工程经理,并开始向我提出它的第一个需求收集问题。

We go through a handful of questions (“what types of rooms are available”, “what are key business rules”, etc). After a few questions, I get one about the preferred tech stack. 我们讨论了几个问题(“有哪些类型的房间可用”、“关键业务规则是什么”等)。几个问题之后,我遇到了一个关于首选技术栈的问题。

Great. After this, Antigravity shows me a proposed sprint plan. The first sprint builds out the search capability, second sprint works on room booking, and the final one is for looking up existing bookings. At this stage, I could split the work differently, alter each sprint plan, or proceed as is. I’ll proceed as is.太棒了。此后,Antigravity 向我展示了一个拟议的冲刺计划。第一个冲刺构建搜索功能,第二个冲刺处理房间预订,最后一个用于查询现有预订。在这个阶段,我可以以不同的方式拆分工作、修改每个冲刺计划,或者按原样进行。我选择按原样进行。

Antigravity starts up the agent team (see them on the top right of the screenshot), and the Frontend Engineer asks the “Engineering Manager” to get some visual design requirements from me.Antigravity 启动了智能体团队(见截图右上角),前端工程师要求“工程经理”从我这里获取一些视觉设计需求。

Each of the sub agents goes about its work. The Test Manager, for example, creates a test plan that’s reviewable any time.每个子智能体都开始工作。例如,测试经理创建了一个可以随时审查的测试计划。

Once all the sub agents finish, the sprint is over and ready for review. Now I can peruse the generated code and docs. Because the sprint was a reasonable size, the review is manageable. 一旦所有子智能体完成工作,冲刺就结束了,可以进行审查。现在我可以仔细阅读生成的代码和文档。由于冲刺规模适中,审查工作是可控的。

I proceed through sprints 2 and 3, with the Frontend Engineer stopping to get clarifying answers about look-and-feel of the booking experience. As each sprint finishes, I’m asked to do a review.我继续进行第 2 和第 3 个冲刺,前端工程师会停下来获取关于预订体验外观和感觉的澄清答案。每个冲刺完成后,我都会被要求进行审查。

Throughout each sprint, there’s plenty of looping where the sub agent works, reviews, reacts, and repeats. I’m not involved in most of the actual build work, nor do I need to be.在每个冲刺过程中,都有大量的循环,子智能体在其中工作、审查、反应并重复。我没有参与大部分实际的构建工作,也不需要参与。

After all the sprints wra up, I’ve got a working web app.所有冲刺结束后,我就得到了一个可用的 Web 应用程序。

I wan to be included in the “build the app” scenarios. It’s fun work, and I don’t trust an agent to do everything I want without some involvement from me. But you can imagine that there are many tasks that can be entirely agentic without my input. Let the agent figure everything out. For instance, let’s say I want to containerize this whole web application, and test that the containers work right. I don’t care at all about being involved in this, and frankly, the agent knows more than I do in this situation.我希望被包含在“构建应用程序”的场景中。这是一项有趣的工作,而且我不相信智能体能在没有我参与的情况下完成我想要的一切。但你可以想象,有许多任务可以在没有我输入的情况下完全由智能体完成。让智能体自己去搞定一切。例如,假设我想将整个 Web 应用程序容器化,并测试容器是否正常工作。我根本不在乎参与其中,坦率地说,在这种情况下,智能体比我了解得更多。

Here, I just want to use /goal to have my agent loop until it achieves the goal.在这里,我只想使用 /goal 让我的智能体循环运行,直到实现目标。

1
/goal Containerize this entire hotel booking application on my local machine. Generate optimized Dockerfiles for both the frontend and backend, configure a docker-compose.yml, build the images, spin them up, and verify that the API and frontend can communicate over the network. Note that I'm accessing Docker locally using Colima. If any container build fails, analyze the logs and auto-heal the configuration until they all start successfully.

See this is great. I don’t care about writing Dockerfiles or even reviewing them. Let alone mucking around with all the container stuff like opening the right ports. Let the agent loop on that until it all works.看,这太棒了。我不在乎编写 Dockerfile,甚至不想审查它们。更不用说去折腾所有容器相关的东西,比如打开正确的端口。让智能体在那儿循环,直到一切正常运行。

After Antigravity finishes its work, I see the dockerfiles, docker compose file, and notice containers running during the local test.Antigravity 完成工作后,我看到了 dockerfile、docker compose 文件,并注意到在本地测试期间容器正在运行。

Craft agent teams that add you where you want to be involved. Figure out the moments that genuinely need you. But don’t be an agentic micromanager. Decide on key places where you input matters (if at all). And then use /goal to unleash the agent on tasks where you don’t need any supervision.打造智能体团队,在你想参与的地方加入自己。找出真正需要你的时刻。但不要做一个智能体微观管理者。决定你认为重要的关键点(如果有的话)。然后使用 /goal 让智能体去处理那些你不需要监督的任务。

Comments评论

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.