Optimizing agent system prompts with Amazon Bedrock AgentCore
Quick Summary
Amazon Bedrock AgentCore는 운영 트레이스와 평가 신호를 분석해 시스템 프롬프트 개선안을 제안하며, 공개 벤치마크에서 Single Agent Reflector는 빠른 최적화에, 실험적 Sub Agent Reflector는 최고 성능에 강점을 보였다.
🖼️ 인포그래픽

🖼️ 4컷 인포그래픽

💡 한 줄 요약
Amazon Bedrock AgentCore는 운영 트레이스와 평가 신호를 분석해 시스템 프롬프트 개선안을 제안하며, 공개 벤치마크에서 Single Agent Reflector는 빠른 최적화에, 실험적 Sub-Agent Reflector는 최고 성능에 강점을 보였다.
📌 핵심 요약
- AgentCore optimization은 AgentCore Observability에 기록된 트레이스와 보상 신호를 활용해 구성 변경과 그 이유를 제안하며, 오프라인 배치 평가와 실제 트래픽의 A/B testing으로 검증한 변경을 운영에 반영하는 흐름을 제공한다.
- 현재 시스템 프롬프트 추천에 쓰이는 Single Agent Reflector는 파일시스템의 전체 트레이스를 선택적으로 탐색한다. 실험적 Sub-Agent Reflector는 트레이스별 독립 분석을 종합해 소수의 실패 패턴까지 포착하려 하며, Strands 오픈소스 GitHub 저장소에 예비 버전으로 공개됐다.
- 모든 변경 후보에는 이전 구성 대비 20%를 초과하는 길이 증가 거부, 안전 기준 검사, 최적화에 사용한 트레이스의 문구 그대로 재사용 금지라는 가드레일이 적용된다.
- Opus 4.6을 리플렉터 모델, Sonnet 4.5를 작업 모델로 사용한 비교에서 Single Agent Reflector는 AppWorld 성공률 81.55%를 20턴·6분에, WebShop 보상 78.31%를 5턴·1분에 달성했다. Sub-Agent Reflector는 각각 95.83%와 79.15%로 GEPA, MIPROv2를 포함한 비교 대상 중 최고 점수를 기록했다.
- 원문은 다양한 트레이스 10~50개로 시작하고, 필요하면 수치 보상에 평가 이유·사람의 주석·사용자 불만 같은 텍스트 피드백을 추가하며, 추천 설명 검토와 오프라인 평가 및 통제된 A/B testing을 거쳐 운영에 반영할 것을 권한다.
🧩 주요 포인트
- 파일시스템 기반 증거 탐색 → 긴 트레이스를 사전 요약하거나 잘라내지 않고, 리플렉터가 성공과 실패를 구분하는 근거를 직접 선택할 수 있다.
- 전체 집합을 탐색하는 Single Agent Reflector와 트레이스별로 분석하는 Sub-Agent Reflector → 빠른 반복과 다양한 실패 유형의 발견 사이에서 시간·턴 수·성능을 함께 비교해야 한다.
- % 길이 제한·안전 검사·문구 재사용 금지와 오프라인 평가·A/B testing → 평가 점수 개선뿐 아니라 구성의 과도한 팽창, 안전 제약 약화, 트레이스 표면 표현에 대한 과적합을 통제하는 절차가 필요하다.
🧠 상세 정리
1. 수동 에이전트 개선을 추천과 검증 흐름으로 연결
기존에는 점수가 낮은 에이전트를 개선하려면 긴 실행 트레이스를 읽고 실패 지점을 찾은 뒤, 프롬프트·도구 설명·스킬 같은 개별 요소를 조정하고 평가를 다시 수행해야 했다. Amazon Bedrock AgentCore의 AgentCore optimization은 운영 트레이스를 근거로 구성 변경을 제안하고, 오프라인 배치 평가와 실제 트래픽의 온라인 A/B testing으로 효과를 검증하는 흐름을 제공한다. AgentCore Observability는 에이전트 행동을 관찰할 수 있게 하고, 평가는 품질 신호를 제공하며, 추천과 configuration bundles가 변경안을 검증 및 운영 반영 절차로 연결한다. 시스템 프롬프트 최적화기는 관찰된 트레이스와 보상 신호를 사용해 수정 프롬프트를 생성한다. market trends agent 예시에서는 기존 프롬프트와 수정안을 비교하고 변경을 유도한 트레이스 패턴과 이유를 설명하므로, 사용자는 시험 적용 여부를 결정하기 전에 추천 근거를 검토할 수 있다.
2. 파일시스템 탐색과 Single Agent Reflector의 작동 방식
최적화기의 추론 구성요소인 리플렉터는 평가된 에이전트 행동에서 성공과 실패를 구분하는 패턴을 찾아, 수정된 시스템 프롬프트와 개선이 예상되는 이유를 반환한다. 트레이스는 수십 개만으로도 모델의 컨텍스트 창을 넘을 수 있어, 원문은 이를 잘라내거나 미리 요약하는 대신 전체 자료를 파일시스템에 제공하는 설계를 택한다. 평가기가 점수를 매긴 트레이스를 디렉터리에 저장하면, 셸 도구를 받은 리플렉터가 파일 목록과 grep, cat, diff 등을 활용해 필요한 증거를 선택적으로 읽고 비교한다. 고정된 신호 추출이나 요약 파이프라인 없이 리플렉터가 중요한 증거와 비교 방법을 결정한다는 점이 핵심이다. 현재 AgentCore optimization의 추천을 담당하는 Single Agent Reflector는 한 에이전트가 전체 집합을 한 차례 탐색하며 점수 분포와 유용한 구간을 살핀 뒤 일관된 변경안을 만든다. 각 최적화 에포크에서는 평가·성찰·가드레일을 통과한 수정안 수용을 반복하며, 추가 에포크를 실행해 더 많은 시간을 품질 개선에 투입할 수 있다.
3. Sub-Agent Reflector의 독립 분석과 실패 패턴 종합
Sub-Agent Reflector는 여러 에이전트가 트레이스 집합의 서로 다른 부분을 탐색하도록 해, 일부 효율성을 희생하는 대신 더 높은 품질을 추구한다. 원문은 단일 리플렉터가 처음 살펴본 5~10개 트레이스의 패턴에 집중하면 전체 자료 중 작은 비중에서만 나타나는 실패 유형을 놓칠 수 있다고 설명한다. 각 서브에이전트는 하나의 트레이스에서 보상·난도·결과를 추출하는 표면 분석, jq와 grep 등으로 최적 경로에서 벗어난 결정 지점을 찾는 턴 수준 분석, 그 지점에서 실패한 이유와 개선 지침을 도출하는 인지 분석을 수행한다. 각 서브에이전트는 별도의 컨텍스트 창에서 작업하므로 다른 트레이스의 영향을 받지 않고 개별 사례에 집중한 뒤 간결한 발견 사항과 교정 규칙을 반환한다. 오케스트레이터는 결과를 모아 반복 패턴을 일반화하고 중복을 제거한 다음 하나의 구성 변경안으로 압축하며, 이 변경안도 가드레일 검사를 거친다. 이 방식은 현재 서비스의 기본 추천 방식과 구별되는 실험적 기능으로, Strands 오픈소스 GitHub 저장소에 예비 버전으로 공개됐다.
4. 구성 팽창과 안전 약화 및 과적합을 막는 가드레일
원문은 평가 점수만을 좇는 단순한 구성 최적화가 프롬프트를 계속 길게 만들거나, 트레이스의 표현을 예시로 복사하거나, 기존 안전 제약을 완화할 수 있다고 지적한다. 이를 억제하기 위해 모든 변경 후보를 수용하기 전에 평가 기준에 기반한 가드레일을 적용한다. 길이 제한은 이전 버전보다 구성이 20%를 초과해 늘어난 후보를 거부하고 최적화기에 더 간결하게 수정하도록 요구하는 방식이다. 안전 검사는 후보를 운영에 반영하기 전에 안전 기준에 맞는지 선별하며, 문구 재사용 금지는 최적화에 사용한 트레이스의 정확한 표현을 후보가 그대로 가져오지 못하게 한다. 원문은 마지막 제한이 학습 트레이스의 표면적 특징에 대한 과적합을 방지하는 데 도움이 된다고 설명한다. 책임 있는 AI 고려사항 역시 이 흐름에 포함되며, 추천은 가드레일 통과 여부와 함께 실제 검토와 시험을 거쳐 사용해야 한다.
5. 벤치마크 비교 조건과 결과의 해석 범위
평가에서는 공개 벤치마크 AppWorld와 WebShop에서 Single Agent Reflector 및 Sub-Agent Reflector를 기존 방법인 GEPA와 MIPROv2에 비교했다. 각 방법의 구성 공간을 탐색한 뒤 가장 좋은 결과와 그 결과를 낸 구성, 총 턴 수, 실제 경과 최적화 시간을 함께 보고했다. 탐색 범위는 n_samples 5~50개와 에포크 또는 반복 횟수 1~10회였으며, 리플렉터 모델은 Opus 4.6, 작업 모델은 Sonnet 4.5였다. 구성 표기는 두 리플렉터에서 n_samples × epochs이고, GEPA와 MIPROv2에서는 n_samples × iterations이므로 같은 표기라도 두 번째 항목의 의미가 다르다. AppWorld는 성공률을, WebShop은 보상을 대표 지표로 사용하며, 초기 기준 점수는 각각 72.62%와 75.03%다. 따라서 제시된 수치는 이 모델 조합과 탐색 조건에서 방법별 최선의 결과를 비교한 것으로 읽어야 하며, 점수와 함께 투입한 턴 수 및 시간을 살펴보는 것이 중요하다.
6. AppWorld: 빠른 개선과 최고 성공률의 차이
AppWorld에서 Single Agent Reflector는 구성 20 × 1로 20턴과 6분을 사용해 성공률 81.55%를 기록했다. GEPA는 구성 20 × 5에서 100턴·108분으로 79.63%를, MIPROv2는 같은 구성과 턴 수에서 216분으로 74.40%를 달성했으므로, Single Agent Reflector는 더 높은 점수와 함께 각각 18배 및 36배의 시간 단축을 보였다. Sub-Agent Reflector는 구성 10 × 10에서 100턴·193분을 사용해 95.83%로 최고 성공률을 기록했으며, 초기 기준 72.62%보다 약 23%포인트 높았다. 원문은 이를 차순위보다 16포인트 높다고 서술하지만, 표에 제시된 차순위 81.55%와의 실제 차이는 14.28%포인트여서 서술과 표 사이에 불일치가 있다. 비용 측면에서 Sub-Agent Reflector의 턴 수는 GEPA 및 MIPROv2와 같고 실행 시간은 MIPROv2보다 짧지만, GEPA와 Single Agent Reflector보다는 길다. 원문은 AppWorld의 실패 유형이 다양해 개별 트레이스를 독립적으로 분석하는 방식이 소수 패턴을 찾는 데 특히 큰 효과를 냈다고 해석한다.
7. WebShop: 보상 개선과 턴 수·시간의 서로 다른 양상
WebShop에서 Single Agent Reflector는 구성 5 × 1로 5턴과 1분을 사용해 보상 78.31%를 달성했고, Sub-Agent Reflector는 구성 20 × 10으로 200턴과 약 20분을 사용해 최고 보상 79.15%를 기록했다. 초기 기준은 75.03%이므로 Sub-Agent Reflector의 개선 폭은 약 4%포인트이며, Single Agent Reflector도 초기 기준을 넘어섰다. GEPA는 구성 10 × 5에서 50턴·48분으로 74.77%, MIPROv2는 구성 5 × 5에서 25턴·60분으로 72.12%를 기록해 두 리플렉터보다 낮은 보상을 보였다. Single Agent Reflector는 이 벤치마크에서도 가장 적은 턴과 가장 짧은 최적화 시간을 사용해 빠른 반복에 유리한 특성을 보였다. Sub-Agent Reflector는 비교 대상 중 가장 많은 턴을 사용했지만 실제 경과 시간은 GEPA와 MIPROv2 각각의 절반 미만이었다. 이 결과는 최적화 효율을 평가할 때 턴 수와 경과 시간을 구분해야 하며, AppWorld와 비교하면 독립 분석을 통한 추가 점수 이득의 크기도 과제에 따라 달라짐을 보여준다.
8. 적용 권고와 제공된 원문의 한계
원문은 경험상 다양한 트레이스 10~50개가 유용한 출발점이 될 수 있으므로 작은 집합에서 시작하고, 추천이 지나치게 좁을 때만 자료를 늘릴 것을 권한다. 리플렉터가 트레이스를 파일로 읽기 때문에 숫자 보상뿐 아니라 평가기의 판단 이유, 사람의 주석, 사용자 불만 등 같은 파일에 기록된 텍스트 신호도 분석에 활용할 수 있다. 제안된 구성을 운영에 반영하기 전에는 추천에 붙은 설명을 검토하고, 오프라인 평가와 통제된 A/B testing으로 실제 효과를 확인해야 한다. 서로 다른 트레이스 부분집합에서 별개의 실패 패턴이 나타나는 경우에는 결과를 합치기 전에 개별 트레이스를 독립적으로 분석하는 실험적 Sub-Agent Reflector를 고려할 수 있다. 마지막에는 분석 대상을 시스템 프롬프트 너머로 확장하자는 항목이 등장하지만, 제공된 원문은 트레이스 증거가 무엇을 추가로 식별할 수 있는지 설명하는 문장 중간에서 끝난다. 따라서 해당 확장의 구체적인 대상과 방법은 이 자료만으로 확정할 수 없다.
🧾 핵심 주장 / 시사점
- 핵심 설계 선택은 긴 트레이스를 모두 프롬프트에 넣는 대신 파일로 제공하고 필요한 근거를 직접 탐색하게 하는 것으로, 분석 방식 자체를 리플렉터의 판단에 맡긴다.
- Sub-Agent Reflector의 추가 이득은 AppWorld에서 더 크게 나타났다. 독립 분석의 가치는 트레이스 수만이 아니라 실패 유형의 다양성과 소수 패턴의 중요성에 따라 달라질 수 있다.
- 최고 점수, 적은 턴 수, 짧은 경과 시간은 같은 목표가 아니다. WebShop의 Sub-Agent Reflector는 가장 많은 턴을 사용하면서도 GEPA와 MIPROv2보다 짧은 시간에 더 높은 보상을 달성했다.
✅ 액션 아이템
- 다양한 트레이스 10~50개를 출발점으로 삼고, 필요에 따라 평가 이유·사람의 주석·사용자 불만을 텍스트 피드백으로 추가하는 방안을 검토한다.
- 빠른 반복과 다양한 실패 유형의 발견 중 우선순위에 따라 Single Agent Reflector와 실험적 Sub-Agent Reflector의 시간·턴 수·성능을 비교한다.
- 구성 변경의 20% 길이 제한·안전 검사·문구 재사용 금지 준수 여부와 추천 설명을 검토하고, 오프라인 평가 및 통제된 A/B testing으로 효과를 검증한다.
❓ 열린 질문
- 다양한 트레이스 10~50개가 실제로 중요한 성공 및 실패 패턴을 충분히 포함하는가?
- Single Agent Reflector의 빠른 반복과 Sub-Agent Reflector의 다양한 실패 유형 발견 중 현재 최적화에서 더 중요한 목표는 무엇인가?
- 오프라인 평가에서 나타난 시스템 프롬프트 개선 효과가 실제 트래픽의 A/B testing에서도 유지되는가?