<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Task Packet on jyukki's Blog</title><link>https://jyukki.com/tags/task-packet/</link><description>Recent content in Task Packet on jyukki's Blog</description><generator>Hugo -- 0.147.0</generator><language>ko-kr</language><lastBuildDate>Fri, 17 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jyukki.com/tags/task-packet/index.xml" rel="self" type="application/rss+xml"/><item><title>2026 개발 트렌드: Agent Handoff Packet, 멀티에이전트 팀은 대화를 넘기지 않고 작업 패킷을 넘긴다</title><link>https://jyukki.com/posts/2026-04-17-agent-handoff-packet-runtime-trend/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://jyukki.com/posts/2026-04-17-agent-handoff-packet-runtime-trend/</guid><description>긴 대화 로그를 통째로 넘기는 방식으로는 멀티에이전트 운영 품질이 안정되지 않습니다. 최근 팀들이 handoff packet이라는 작업 단위 전달물에 주목하는 이유와 실무 기준을 정리합니다.</description><content:encoded><![CDATA[<p>에이전트가 한 번에 한 일만 하던 시기에는 handoff가 큰 문제가 아니었습니다. 세션 하나가 조사하고, 세션 하나가 끝내면 됐기 때문입니다. 그런데 최근 운영 패턴은 다릅니다. 조사 에이전트, 수정 에이전트, 검증 에이전트, 승인 대기 상태, 장시간 유지되는 스레드, 런타임 간 이동이 한 작업 안에 섞입니다. 이 구조에서 가장 먼저 드러나는 병목은 모델 성능보다 <strong>handoff 품질</strong>입니다.</p>
<p>많은 팀이 아직도 handoff를 &ldquo;대화 로그를 다음 실행자에게 넘기는 일&rdquo; 정도로 생각합니다. 하지만 긴 대화는 정보가 많아도 작업 전달물로는 부정확한 경우가 많습니다. 이미 끝난 가설과 아직 살아 있는 가설이 섞이고, 승인된 범위와 아직 금지된 범위가 섞이고, 실제 실행 결과와 앞으로 할 일이 섞입니다. 그래서 최근 잘하는 팀들은 transcript를 그대로 넘기기보다, <strong>작업 단위 패킷(handoff packet)</strong> 을 만들어 넘기는 방향으로 가고 있습니다.</p>
<p>저는 이 흐름이 <a href="/posts/2026-04-16-context-contract-registry-agent-input-governance-trend/">Context Contract Registry</a>가 입력 조각을 계약화한 흐름의 다음 단계라고 봅니다. 입력이 계약화됐다면, 이제 실행자 간 전달도 계약화돼야 합니다. 또 <a href="/posts/2026-04-14-execution-receipt-agent-operations-trend/">Execution Receipt</a>, <a href="/posts/2026-04-13-capability-lease-expiring-agent-permissions-trend/">Capability Lease</a>, <a href="/posts/2026-04-11-stateful-sandbox-snapshot-environment-replay-trend/">Stateful Sandbox Snapshot</a>과도 자연스럽게 연결됩니다. 입력 계약이 무엇을 넣을지 정하고, lease가 무엇을 할 수 있을지 정하고, receipt가 무엇을 했는지 남긴다면, handoff packet은 <strong>다음 실행자가 무엇을 이어받아야 하는지</strong>를 명확히 하는 계층입니다.</p>
<h2 id="이-글에서-얻는-것">이 글에서 얻는 것</h2>
<ul>
<li>왜 긴 transcript 공유만으로는 멀티에이전트 handoff 품질이 안정되지 않는지 이해할 수 있습니다.</li>
<li>handoff packet에 어떤 필드가 있어야 다음 실행자가 재조사 없이 바로 움직일 수 있는지 판단할 수 있습니다.</li>
<li>packet을 도입할 때 우선 봐야 할 지표와 운영 기준을 숫자 중심으로 가져갈 수 있습니다.</li>
</ul>
<h2 id="핵심-개념이슈">핵심 개념/이슈</h2>
<h3 id="1-지금-문제는-컨텍스트-부족보다-전달-경계가-흐린-것이다">1) 지금 문제는 컨텍스트 부족보다 &ldquo;전달 경계가 흐린 것&quot;이다</h3>
<p>현장에서 handoff가 실패하는 가장 흔한 이유는 정보량 부족이 아닙니다. 오히려 정보가 너무 많고, 그중 무엇이 현재 유효한 상태인지 구분되지 않는 경우가 많습니다.</p>
<ul>
<li>이미 기각된 가설이 여전히 중요한 단서처럼 남아 있다.</li>
<li>승인받은 범위와 아직 승인 전 범위가 같이 섞여 있다.</li>
<li>수정 완료 항목과 미완료 항목이 같은 문단에 적혀 있다.</li>
<li>임시 workaround와 최종 의사결정이 구분되지 않는다.</li>
<li>어느 아티팩트가 최신인지 불분명하다.</li>
</ul>
<p>이 상태에서 다음 에이전트가 받는 것은 풍부한 문맥이 아니라 <strong>판단 비용이 큰 혼합물</strong>입니다. 그래서 handoff packet의 핵심은 더 많은 문장을 보내는 것이 아니라, <strong>지금 시점에 유효한 실행 단위만 남기는 것</strong>입니다.</p>
<h3 id="2-handoff-packet의-핵심-객체는-transcript가-아니라-재개-가능한-작업-상태다">2) handoff packet의 핵심 객체는 transcript가 아니라 &ldquo;재개 가능한 작업 상태&quot;다</h3>
<p>좋은 handoff packet에는 보통 아래 요소가 들어갑니다.</p>
<ul>
<li><code>intent</code>: 이 작업이 무엇을 끝내려는지</li>
<li><code>current_state</code>: 어디까지 끝났는지, 무엇이 미완료인지</li>
<li><code>constraints</code>: 금지 범위, 승인 필요 조건, 예산 상한</li>
<li><code>artifacts</code>: diff, 테스트 결과, 스냅샷, 문서 링크, receipt ref</li>
<li><code>freshness</code>: 언제 생성됐고 언제부터 재검증이 필요한지</li>
<li><code>next_action</code>: 다음 실행자가 바로 해야 할 1~3개 행동</li>
<li><code>success_criteria</code>: handoff를 받은 실행자가 끝났다고 볼 조건</li>
</ul>
<p>핵심은 &ldquo;요약문&quot;이 아니라 <strong>재개 가능한 상태 모델</strong>이어야 한다는 점입니다. 그냥 긴 요약을 넘기면 다음 실행자가 다시 정리해야 합니다. 반대로 packet이 있으면 다음 실행자는 &ldquo;무슨 일을 해야 하지?&ldquo;가 아니라 &ldquo;정해진 다음 행동을 실행할 수 있는가?&ldquo;만 판단하면 됩니다.</p>
<h3 id="3-왜-지금-중요해졌나-세션이-길어지고-실행자가-많아지고-런타임이-섞이기-때문이다">3) 왜 지금 중요해졌나: 세션이 길어지고, 실행자가 많아지고, 런타임이 섞이기 때문이다</h3>
<p>최근 워크플로는 아래 특성을 같이 가집니다.</p>
<ul>
<li>한 작업이 수십 분에서 수시간 이어진다.</li>
<li>조사, 수정, 검증, 승인 대기가 다른 실행자로 분리된다.</li>
<li>스레드 기반 세션, sandbox snapshot, 외부 툴 런타임이 섞인다.</li>
<li>승인 후 실제 실행까지 시간차가 생긴다.</li>
</ul>
<p>이 구조에서는 &ldquo;대화 히스토리 전달&quot;만으로는 부족합니다. 어느 시점의 사실이 최신인지, 어느 권한이 아직 유효한지, 어떤 산출물이 최종인지 구분해야 하기 때문입니다. 그래서 <a href="/posts/2026-04-09-harness-engineering-agent-runtime-frame-trend/">Harness Engineering</a>, <a href="/posts/2026-04-12-action-lineage-agent-observability-graph-trend/">Action Lineage Graph</a>, <a href="/posts/2026-04-14-execution-receipt-agent-operations-trend/">Execution Receipt</a> 같은 흐름이 같이 나옵니다. handoff packet은 이 구조에서 실행 경계마다 붙는 <strong>운영용 전달물</strong>입니다.</p>
<h3 id="4-좋은-packet은-무엇을-넣나보다-무엇을-빼나에서-품질이-갈린다">4) 좋은 packet은 무엇을 &ldquo;넣나&quot;보다 무엇을 &ldquo;빼나&quot;에서 품질이 갈린다</h3>
<p>초기 도입 팀은 packet에 모든 맥락을 넣으려는 경향이 있습니다. 하지만 실무에서는 packet이 커질수록 다시 transcript처럼 변합니다. 그래서 좋은 팀은 packet을 아래처럼 강하게 제한합니다.</p>
<ul>
<li>열린 TODO는 최대 3개</li>
<li>evidence 링크는 핵심 것만 5개 이내</li>
<li>금지 범위와 승인 대기 항목은 별도 필드 분리</li>
<li>오래된 논의는 원문 링크만 남기고 packet 본문에서는 제거</li>
<li>freshness TTL을 넘긴 내용은 재검증 요구 상태로 표시</li>
</ul>
<p>이 방식은 <a href="/posts/2026-04-16-context-contract-registry-agent-input-governance-trend/">Context Contract Registry</a>와 닮아 있습니다. 좋은 입력 거버넌스가 &ldquo;무엇을 넣을 수 있나&quot;보다 &ldquo;무엇을 빼야 하나&quot;를 먼저 다루듯, 좋은 handoff도 과잉 문맥을 줄이는 쪽이 더 중요합니다.</p>
<h3 id="5-packet-validation이-없으면-handoff는-문서화만-늘고-운영-품질은-안-오른다">5) packet validation이 없으면 handoff는 문서화만 늘고 운영 품질은 안 오른다</h3>
<p>handoff packet이 실제로 효과를 내려면 수동 메모를 잘 쓰는 문화만으로는 부족합니다. 경계에서 자동 검증이 붙어야 합니다.</p>
<p>예를 들어 아래는 자동 검증 대상이 될 수 있습니다.</p>
<ul>
<li>packet 생성 시점으로부터 <strong>30분 이상</strong> 지났으면 freshness 재검증 요구</li>
<li>approval ref가 없는 쓰기 작업은 packet 승격 금지</li>
<li>receipt나 artifact hash가 없는 완료 항목은 <code>done</code>으로 표시 금지</li>
<li>capability lease가 만료되었으면 <code>next_action=execute</code> packet 발급 금지</li>
<li>관련 snapshot id가 없으면 환경 재현 가능 상태로 간주하지 않음</li>
</ul>
<p>즉 packet은 예쁜 handoff 메모가 아니라, <strong>다음 실행자의 출발 조건을 검증하는 계약물</strong>이어야 합니다.</p>
<h2 id="실무-적용">실무 적용</h2>
<h3 id="1-최소-handoff-packet-스키마는-작게-시작하는-편이-낫다">1) 최소 handoff packet 스키마는 작게 시작하는 편이 낫다</h3>
<p>처음부터 거대한 workflow schema를 만들 필요는 없습니다. 아래 8개 정도로 시작해도 충분히 효과가 납니다.</p>
<ul>
<li><code>packet_id</code></li>
<li><code>task_id</code> 또는 <code>intent_id</code></li>
<li><code>owner</code>와 <code>target_executor</code></li>
<li><code>current_state</code></li>
<li><code>constraints</code></li>
<li><code>artifacts</code></li>
<li><code>next_action</code></li>
<li><code>success_criteria</code></li>
<li><code>fresh_until</code></li>
</ul>
<p>실무에서는 여기에 <code>approval_ref</code>, <code>lease_ref</code>, <code>snapshot_ref</code> 정도만 추가해도 품질이 크게 좋아집니다. 중요한 건 필드 수보다, <strong>다음 실행자가 재탐색 없이 바로 착수할 수 있느냐</strong>입니다.</p>
<h3 id="2-의사결정-기준숫자조건우선순위">2) 의사결정 기준(숫자·조건·우선순위)</h3>
<p>초기 KPI는 자동화율보다 handoff 품질에 두는 편이 맞습니다.</p>
<p>추천 출발값:</p>
<ul>
<li><code>handoff_recovery_time_p95</code>: <strong>5분 이내</strong></li>
<li><code>ambiguous_handoff_rate</code>: <strong>3% 미만</strong></li>
<li><code>stale_packet_rate</code>: <strong>2% 미만</strong></li>
<li><code>packet_validation_coverage</code>: 쓰기/운영 액션 handoff는 <strong>95% 이상</strong></li>
<li><code>rework_after_handoff_rate</code>: <strong>10% 미만</strong></li>
<li><code>missing_artifact_rate</code>: <strong>5% 미만</strong></li>
</ul>
<p>우선순위는 보통 아래 순서가 안전합니다.</p>
<ol>
<li>승인/권한/범위 정보 누락 방지</li>
<li>최신 artifact와 snapshot 연결</li>
<li>다음 행동 1~3개 고정</li>
<li>transcript 링크는 보조 자료로만 유지</li>
<li>packet TTL과 재검증 규칙 적용</li>
</ol>
<p>핵심은 많이 자동화하는 것이 아니라, <strong>애매한 handoff를 먼저 줄이는 것</strong>입니다.</p>
<h3 id="3-어디서부터-도입할까-멀티스텝-쓰기-작업부터-시작하는-편이-효과가-크다">3) 어디서부터 도입할까: 멀티스텝 쓰기 작업부터 시작하는 편이 효과가 크다</h3>
<p>추천 도입 순서는 아래와 같습니다.</p>
<p><strong>1순위, 코드/문서 수정 후 검증으로 넘어가는 handoff</strong><br>
조사 에이전트가 수정안과 증거를 남기고, 검증 에이전트가 이어받는 구조에 packet이 잘 맞습니다.</p>
<p><strong>2순위, 승인 대기 후 재개되는 작업</strong><br>
승인 전후로 컨텍스트가 자주 흔들리기 때문에 packet 가치가 큽니다.</p>
<p><strong>3순위, 런타임이 바뀌는 작업</strong><br>
스레드 세션에서 sandbox 실행으로 넘어가거나, 다른 도구 런타임으로 넘길 때 경계가 분명해집니다.</p>
<p>반대로 단발성 질의응답에는 packet이 과할 수 있습니다. 모든 작업에 억지로 붙이면 운영 문서만 늘어납니다.</p>
<h3 id="4-실전-예시-transcript-handoff-대신-packet-handoff">4) 실전 예시, transcript handoff 대신 packet handoff</h3>
<p>예를 들어 어떤 팀이 &ldquo;버그 원인 조사 → 수정 → 테스트 → 리뷰 요청&rdquo; 흐름을 에이전트 여러 개로 나눈다고 가정해 보겠습니다. transcript 기반 handoff에서는 조사 에이전트가 긴 설명을 남기고 끝나며, 수정 에이전트는 그 안에서 진짜 결론과 버린 가설을 다시 골라야 합니다. 그러면 재조사 시간이 길어지고, 이미 끝난 분석을 또 반복하기 쉽습니다.</p>
<p>packet 기반 handoff라면 구조가 달라집니다.</p>
<ul>
<li><code>current_state</code>: 재현 완료, 원인 후보 3개 중 2개 기각, 남은 원인 1개 확정</li>
<li><code>artifacts</code>: 실패 테스트 링크, 관련 파일 2개, snapshot id, receipt ref</li>
<li><code>constraints</code>: 설정 파일 변경 금지, 외부 전송 금지, 승인 없는 배포 금지</li>
<li><code>next_action</code>: <code>service_a/config.go</code> 수정, 단위테스트 3개 실행, diff 요약 작성</li>
<li><code>success_criteria</code>: 테스트 3개 통과, diff 80줄 이내, 설정 파일 무변경</li>
</ul>
<p>이렇게 넘기면 다음 실행자는 더 많은 맥락을 읽지 않아도 움직일 수 있습니다. 즉 handoff packet의 목적은 설명을 아름답게 쓰는 것이 아니라, <strong>다음 실행자의 시작 비용을 강하게 줄이는 것</strong>입니다.</p>
<h3 id="5-바로-가져다-쓸-수-있는-최소-packet-템플릿">5) 바로 가져다 쓸 수 있는 최소 packet 템플릿</h3>
<p>실무에서는 거대한 표준보다, 현장 팀이 바로 복붙해서 쓸 수 있는 템플릿이 먼저 필요합니다. 아래처럼 <code>state / constraint / evidence / next step</code> 중심으로 시작하면 대부분의 handoff 비용을 바로 줄일 수 있습니다.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#ff79c6">packet_id</span>: hp_2026_04_17_001
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">task_id</span>: incident-4217
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">intent</span>: <span style="color:#f1fa8c">&#34;결제 API 타임아웃 원인 확정 후 수정안 검증까지 완료&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">current_state</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#ff79c6">done</span>:
</span></span><span style="display:flex;"><span>    - <span style="color:#f1fa8c">&#34;재현 완료&#34;</span>
</span></span><span style="display:flex;"><span>    - <span style="color:#f1fa8c">&#34;원인 후보 3개 중 2개 기각&#34;</span>
</span></span><span style="display:flex;"><span>  <span style="color:#ff79c6">remaining</span>:
</span></span><span style="display:flex;"><span>    - <span style="color:#f1fa8c">&#34;connection pool 누수 수정&#34;</span>
</span></span><span style="display:flex;"><span>    - <span style="color:#f1fa8c">&#34;회귀 테스트 3개 실행&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">constraints</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;설정 파일 변경 금지&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;승인 없는 production 배포 금지&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;외부 고객 안내문 수정 금지&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">artifacts</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;failing test: tests/payment_timeout_test.go&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;snapshot_ref: sandbox-2026-04-17-09&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;receipt_ref: exec-receipt-1882&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">next_action</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;service/payment/pool.go 수정&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;go test ./... -run PaymentTimeout&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;diff 요약 5줄 작성&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">success_criteria</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;회귀 테스트 3개 통과&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;diff 120줄 이하&#34;</span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f1fa8c">&#34;설정 파일 무변경&#34;</span>
</span></span><span style="display:flex;"><span><span style="color:#ff79c6">fresh_until</span>: <span style="color:#f1fa8c">&#34;2026-04-17T10:30:00Z&#34;</span>
</span></span></code></pre></div><p>중요한 건 예쁘게 적는 것이 아니라, 다음 실행자가 <strong>다음 5분에 무엇을 해야 하는지</strong>를 바로 알 수 있게 만드는 것입니다. 이 템플릿은 <a href="/posts/2026-04-14-execution-receipt-agent-operations-trend/">Execution Receipt</a>와 붙이면 실행 증거를, <a href="/posts/2026-04-13-capability-lease-expiring-agent-permissions-trend/">Capability Lease</a>와 붙이면 권한 유효성을, <a href="/posts/2026-04-16-context-contract-registry-agent-input-governance-trend/">Context Contract Registry</a>와 붙이면 입력 경계를 함께 고정할 수 있습니다.</p>
<h3 id="6-어떤-신호가-보이면-packet-설계가-실패하고-있는가">6) 어떤 신호가 보이면 packet 설계가 실패하고 있는가</h3>
<p>packet을 도입했는데도 운영 체감이 좋아지지 않는 팀은 보통 비슷한 신호를 보입니다.</p>
<ul>
<li>handoff를 받는 쪽이 첫 5분을 읽기와 재해석에만 쓴다.</li>
<li><code>next_action</code>이 명령이 아니라 배경 설명 문단으로 변한다.</li>
<li>완료 항목에 receipt나 테스트 결과 링크가 없다.</li>
<li><code>constraints</code>가 금지 범위보다 일반 원칙 문장으로 채워진다.</li>
<li>stale packet이 계속 재사용되는데도 아무도 경고를 받지 않는다.</li>
</ul>
<p>이 다섯 가지 중 두세 개만 보여도 packet은 사실상 transcript의 다른 이름이 됩니다. 그래서 저는 도입 초기에 <code>handoff_recovery_time</code>뿐 아니라, <strong>첫 질문이 몇 번 다시 발생하는지</strong>도 같이 보는 편을 추천합니다. 같은 packet을 받은 실행자가 계속 &ldquo;지금 뭘 해야 하지?&rdquo;, &ldquo;이건 승인된 범위인가?&rdquo;, &ldquo;어느 artifact가 최신인가?&ldquo;를 다시 묻는다면 구조가 아직 약한 겁니다.</p>
<h3 id="7-4주-도입-플랜">7) 4주 도입 플랜</h3>
<p><strong>1주차: handoff 실패 사례 10건 수집</strong><br>
재조사, 중복 실행, 범위 초과, 오래된 artifact 사용 같은 문제를 유형별로 나눕니다. 이때 단순 불편이 아니라 <code>왜 다음 실행자가 바로 착수하지 못했는가</code>를 같이 기록해야 합니다.</p>
<p><strong>2주차: 최소 packet 스키마와 TTL 정의</strong><br>
<code>current_state</code>, <code>constraints</code>, <code>artifacts</code>, <code>next_action</code>만 먼저 강제해도 좋습니다. 특히 <code>fresh_until</code>을 빠뜨리지 않는 것이 중요합니다.</p>
<p><strong>3주차: validation 연결</strong><br>
approval, lease, receipt, snapshot과 packet을 연결해 유효성 검사를 붙입니다. 이 단계에서 <a href="/posts/2026-04-11-stateful-sandbox-snapshot-environment-replay-trend/">Stateful Sandbox Snapshot</a>이나 <a href="/posts/2026-04-12-action-lineage-agent-observability-graph-trend/">Action Lineage Graph</a> 같은 추적 계층과 엮으면 운영 체감이 훨씬 좋아집니다.</p>
<p><strong>4주차: 리뷰와 검색 인덱스 연결</strong><br>
사람이 packet 기준으로 리뷰하고, 나중에 packet 단위로 재검색할 수 있게 합니다. 검색이 transcript 전체가 아니라 packet 단위로 되기 시작하면, 같은 유형의 handoff 실패를 훨씬 빠르게 학습할 수 있습니다.</p>
<h2 id="트레이드오프주의점">트레이드오프/주의점</h2>
<ol>
<li>
<p><strong>packet을 너무 크게 만들면 다시 transcript가 된다</strong><br>
요약을 구조화하지 못하면 오히려 중복 문서만 생깁니다.</p>
</li>
<li>
<p><strong>TTL 없는 packet은 조용히 낡는다</strong><br>
오래된 승인, 오래된 snapshot, 오래된 테스트 결과를 들고 다음 실행자가 시작하면 사고가 납니다.</p>
</li>
<li>
<p><strong>사람 책임과 자동 검증 책임을 분리해야 한다</strong><br>
런타임이 채울 필드와 사람이 해석할 필드를 섞으면 운영 비용이 커집니다.</p>
</li>
<li>
<p><strong>packet만 있고 receipt, lease, snapshot 연결이 없으면 반쪽짜리다</strong><br>
작업 전달은 정리됐는데 실행 가능성 검증이 안 되면 결국 다시 사람이 해석해야 합니다.</p>
</li>
<li>
<p><strong>모든 작업에 동일 포맷을 강요하면 반발이 생긴다</strong><br>
멀티스텝, 장시간, 멀티실행자 작업부터 적용해야 효과가 큽니다.</p>
</li>
</ol>
<h2 id="체크리스트-또는-연습">체크리스트 또는 연습</h2>
<h3 id="체크리스트">체크리스트</h3>
<ul>
<li><input disabled="" type="checkbox"> handoff를 transcript 전달이 아니라 작업 상태 전달로 보고 있다.</li>
<li><input disabled="" type="checkbox"> current_state, constraints, artifacts, next_action이 분리돼 있다.</li>
<li><input disabled="" type="checkbox"> approval, lease, snapshot, receipt 같은 경계 정보가 packet에 연결된다.</li>
<li><input disabled="" type="checkbox"> packet TTL과 stale 재검증 규칙이 있다.</li>
<li><input disabled="" type="checkbox"> 열린 TODO 수와 evidence 수를 제한해 packet 비대화를 막는다.</li>
<li><input disabled="" type="checkbox"> handoff recovery time과 ambiguous handoff rate를 측정한다.</li>
</ul>
<h3 id="연습-과제">연습 과제</h3>
<ol>
<li>최근 멀티스텝 작업 3개를 골라, 실제 transcript handoff가 어디서 애매했는지 <code>상태/제약/산출물/다음 행동</code> 네 칸으로 다시 써보세요.</li>
<li>승인 대기 뒤 재개되는 작업 1개를 골라, <code>fresh_until</code>을 몇 분으로 둘지 근거와 함께 정해보세요.</li>
<li>조사 에이전트에서 수정 에이전트로 넘어가는 흐름을 가정하고, 다음 실행자가 5분 안에 착수할 수 있는 packet 예시를 직접 만들어 보세요.</li>
</ol>
<h2 id="관련-글">관련 글</h2>
<ul>
<li><a href="/posts/2026-04-16-context-contract-registry-agent-input-governance-trend/">Context Contract Registry</a></li>
<li><a href="/posts/2026-04-14-execution-receipt-agent-operations-trend/">Execution Receipt</a></li>
<li><a href="/posts/2026-04-13-capability-lease-expiring-agent-permissions-trend/">Capability Lease</a></li>
<li><a href="/posts/2026-04-11-stateful-sandbox-snapshot-environment-replay-trend/">Stateful Sandbox Snapshot</a></li>
<li><a href="/posts/2026-04-12-action-lineage-agent-observability-graph-trend/">Action Lineage Graph</a></li>
<li><a href="/posts/2026-04-09-harness-engineering-agent-runtime-frame-trend/">Harness Engineering</a></li>
</ul>
]]></content:encoded></item></channel></rss>