← Posts

Designing Delegation

Structuring intent, communicating it, and completing it through execution

·3 min read
#ai#agency#delegation#workflow#design

이전 글에서 "먼저 해봐야 시킬 수 있다"는 이야기를 했다. 그다음 질문이 남는다. 그래서, 어떻게 시키지?

에이전트에게 일을 시키면 기대와 다른 결과가 나올 때가 많다. 돌이켜보면 기술적 한계 때문인 경우는 드물었다. 대부분은 내 쪽의 문제였다. 결과를 가르는 건 내가 이 작업의 결과를 평가할 수 있는 상태인가였다. 판단 기준이 내 안에 없으면 에이전트가 뭘 내놓든 수용하거나 막연히 불만족하는 수밖에 없다. 판단 기준을 세운다는 건, 결국 흩어져 있는 내 의도를 구조화하는 과정이다.

실행 전에 쌓는 것

의도를 구조화하려면 먼저 재료가 필요하다. 리서치와 플래닝을 충분히 돌린다. 현재 코드 구조를 에이전트에게 분석시켜서 내가 검증할 수 있는 상태를 만들기도 하고, 기획의 빈 곳이 의심되면 직접 부딪혀서 드러내기도 하고, 엣지 케이스를 먼저 뽑아보게 해서 기획자나 디자이너와 맞추기도 한다. 방법은 상황마다 다르지만 목적은 같다. 결과를 검증할 수 있는 상태를 확보하는 것이다.

판단 기준이 잡히면, 에이전트에게 뭘 명시하고 뭘 맡길지를 나눈다. 카드 UI를 만든다고 합의했을 때, 텍스트 넘침 처리나 호버 상태 같은 디테일은 내 머릿속에만 있는 경우가 많다. 에이전트는 내가 말하지 않은 것을 스스로 판단해서 채운다. 그 결과가 내 머릿속 그림과 같을 확률은 낮다. 그렇다고 전부 적으면 프롬프트를 작성하는 비용이 직접 만드는 비용을 넘어선다.

그래서 처음에는 프롬프트에 다 넣는다. 같은 지시를 반복하고 있다는 걸 알아차리면 그때 규칙으로 올린다. intent engineering에서는 방향만 잡아주는 제약을 steering constraint, 절대 넘으면 안 되는 제약을 hard constraint라고 부르는데, 프롬프트는 steering에 가깝고 규칙은 hard에 가깝다.

규칙은 처음부터 많이 넣을 필요가 없다. 모델은 점점 강력해져서 반년 전에는 명시해야 했던 게 지금은 불필요할 수 있다. 필요한 것만 점진적으로 쌓아가는 편이 낫다.

실행 후에 잡는 것

여기까지가 실행 전에 할 수 있는 일이다. 준비가 끝나면 내가 검수할 수 있는 단위로 실행을 넘긴다. 대신 결과를 계속 검수한다. 아무리 꼼꼼하게 준비해도 구현 중에 예상 못한 게 나온다. 스펙은 한 번 쓰고 끝나는 문서가 아니라 구현 결과를 보면서 계속 고쳐 나가는 문서다.

검수하다 보면 반복적으로 나타나는 패턴이 보인다. 같은 종류의 실수가 계속 나오면 그건 규칙으로 올릴 수 있다는 신호다. 이번 작업의 프롬프트는 이번에 끝나지만, 규칙은 다음 작업까지 남는다.


위임을 설계한다는 건 내 의도를 구조화하고, 그 안에서 매번 경계를 다시 긋는 일이다. 반복할수록 규칙이 쌓이고, 경계를 긋는 일 자체가 가벼워진다.

In the previous post, I talked about how "you can only direct others once you've done it yourself." The next question remains: so how exactly do you give directions?

When I delegate work to an agent, the results often don't match my expectations. Looking back, it was rarely a technical limitation. Most of the time, the problem was on my end. What ultimately determines the outcome is whether I'm in a state to evaluate the result. Without judgment criteria of my own, I either accept whatever the agent produces or feel vaguely dissatisfied. Building those criteria is, in the end, the process of structuring my own intent.

What you build before execution

Structuring intent requires raw material first. I run enough research and planning. Sometimes I have the agent analyze the current code structure so I can verify its understanding. Sometimes I push into suspected gaps in the spec myself to expose them. Sometimes I have the agent enumerate edge cases first, then align with the PM or designer. The method varies by situation, but the goal is the same: securing a state where I can verify the result.

Once I have judgment criteria, I decide what to specify and what to leave to the agent. Say we've agreed to build a card UI. Details like text overflow handling or hover states often exist only in my head. The agent fills in what I don't say, using its own judgment. The odds of its defaults matching the picture in my head are low. But specifying everything means the cost of writing the prompt exceeds the cost of just building it myself.

So I start by putting everything in the prompt. When I notice I'm repeating the same instructions, that's when I elevate them to rules. In intent engineering, directional guidance is called a steering constraint, while absolute limits are called hard constraints. Prompts lean toward steering; rules lean toward hard.

Rules don't need to be front-loaded. Models keep getting stronger—what required explicit specification six months ago may be unnecessary now. It's better to build up incrementally and keep only what's needed.

What you catch after execution

That's what you can do before execution. Once preparation is done, I hand off execution in units I can review. But I keep reviewing the results. No matter how thorough the preparation, unexpected things surface during implementation. Specs aren't documents you write once and finish—they're documents you keep revising as you see implementation results.

As I review, recurring patterns emerge. When the same kind of mistake keeps appearing, that's a signal it can be elevated to a rule. This task's prompt ends with this task, but rules carry over to the next.


Designing delegation means structuring your intent and redrawing the boundaries each time. The more you repeat, the more rules accumulate, and the lighter the boundary-drawing becomes.