Raw Layer · raw/
reasoning, tool calls, outputs, final answer를 포함한 execution trace를 불변으로 저장한다. write-once history다.
WikiSkill separates immutable execution experience, persistent knowledge, and executable skills—then lets them co-evolve under validation gating.
WikiSkill의 핵심은 단순하다. 실행 경험을 바로 스킬로 덮어쓰지 않고, 먼저 장기적으로 축적되는 지식층에 컴파일한 뒤 그 지식을 사용해 스킬을 갱신한다.
논문은 agent workspace를 Raw Layer → Wiki Layer → Skill Layer로 분리한다. Raw Layer는 실행 trajectory를 불변 기록으로 남기고, Wiki Layer는 성공·실패 패턴과 진화 로그를 축적하며, Skill Layer는 실제 추론 에이전트가 사용할 간결한 procedural instruction을 담는다. Skill update는 validation에서 성능을 올릴 때만 채택되지만 Wiki는 rollback되지 않는다.
5개 benchmark와 5개 모델에서 WikiSkill은 기존 skill-evolution 방법보다 높은 평균 성능을 보였고, 더 큰 모델일수록 evolved skill의 이득이 커졌다. 동시에 작은 모델이 좋은 skill을 장착하면 훨씬 큰 no-skill 모델을 이길 수 있었고, 타 모델이 만든 skill이 self-evolved skill보다 더 좋은 경우도 관찰됐다.
Agent skill은 domain-specific procedure와 workflow를 instructions, scripts, resources로 패키징한 filesystem-based module이다. 모델 파라미터를 다시 학습하지 않아도 전문지식을 재사용할 수 있고, 필요한 내용만 선택적으로 노출하는 progressive disclosure를 통해 context 비용도 줄일 수 있다.
기존 skill evolution은 training task를 수행하고 성공·실패 trajectory를 분석해 skill을 갱신한다. EvoSkill은 proposal/outcome history를 유지하고, Trace2Skill은 trajectory의 lesson을 통합하며, SkillOpt는 rejected-edit feedback과 epoch-level meta guidance를 사용한다. 그러나 “무엇을 배웠는가” 자체를 독립적이고 진화하는 knowledge representation으로 유지하지는 않는다.
WikiSkill은 raw experience와 executable procedure 사이에 structured knowledge layer를 넣어, iteration마다 흩어진 optimization artifact가 아니라 점점 더 잘 지지되는 cumulative knowledge를 다음 skill update의 기반으로 삼는다.
Dataset \(D=\{(x_i,y_i)\}_{i=1}^N\)를 train/validation/test로 분리하고, agent \(\pi\)는 tool set \(U\)와 active skills \(S\)를 사용해 trajectory \(\tau_i=(o_1,a_1,\ldots,o_T,a_T)\)를 생성한다. 시스템 state는 iteration \(k\)에서 다음의 joint state다.
여기서 \(S_k\)는 현재 active skill set, \(W_k\)는 persistent Wiki다. Skill candidate는 validation score가 나빠지면 rollback되지만, Wiki는 계속 누적된다.
reasoning, tool calls, outputs, final answer를 포함한 execution trace를 불변으로 저장한다. write-once history다.
pattern pages, index, evolution logs, skill-impact history를 축적한다. recurring failure와 rejected intervention도 남긴다.
Inference Agent가 실제 사용하는 procedural skill. SKILL.md와 PURPOSE.md로 구성되고 validation gate에 따라 reversible하다.
Wiki Maintainer는 기존 pattern에 patch-based edit를 적용하고 새로운 evidence를 append한다. Skill Proposer는 index를 먼저 보고 필요한 pattern/trace만 on-demand로 읽는다. 이 구조는 long optimization history를 한 번에 prompt에 넣지 않고도 historical awareness를 제공한다.
Candidate skill set \(S'_k\)의 validation score가 현재 best보다 높을 때만 accept한다.
Rejected skill은 rollback되지만 그 proposal, diff, validation score, rejection outcome은 Wiki에 남아 같은 실패전략을 다시 제안하지 않게 한다.
| Benchmark | Role | Interaction | Train | Val | Test | Tools |
|---|---|---|---|---|---|---|
| LiveMathematicianBench | 수학적 reasoning | Single-step | 35 | 18 | 124 | None |
| SealQA | search-augmented factual QA | Multi-step | 16 | 10 | 85 | web_search, read_file |
| SpreadsheetBench | spreadsheet manipulation | Multi-step | 80 | 40 | 280 | bash |
| OfficeQA | long-context Treasury documents | Multi-step | 50 | 24 | 172 | glob, grep, read |
| ALFWorld | interactive embodied task | Multi-step | 39 | 18 | 134 | admissible actions |
Closed model은 Gemini-3.5-Flash, open-weight 모델은 Qwen-3.5-4B/9B-Instruct, Qwen-3.6-27B, Gemma-4-31B-It를 사용한다. Baseline은 no-skill, Trace2Skill, EvoSkill, SkillOpt다. 일반 automatic prompt optimizer보다 dedicated skill-evolution framework와의 비교에 초점을 둔다.
전체 evolution은 method마다 3회 독립 반복하며, test result는 세 evolved skill set의 평균이다. 유의성은 paired bootstrap 1,000 iterations, \(p<0.05\)로 평가한다.
| Model | Method | LiveMath | SealQA | SpreadSheet | OfficeQA | ALFWorld | Avg. |
|---|---|---|---|---|---|---|---|
| Qwen-3.5-4B | No skill | 29.1 | 32.5 | 14.6 | 30.2 | 24.4 | 26.2 |
| Trace2Skill | 31.5 | 37.6 | 17.5 | 31.0 | 42.8 | 32.1 | |
| EvoSkill | 41.7 | 37.3 | 18.6 | 29.5 | 41.5 | 33.7 | |
| SkillOpt | 48.7 | 33.3 | 14.0 | 34.5 | 45.3 | 35.2 | |
| WikiSkill | 49.7 | 39.4 | 21.1 | 28.5 | 53.7 | 38.5 | |
| Qwen-3.5-9B | No skill | 28.2 | 26.3 | 24.3 | 35.9 | 34.7 | 29.9 |
| Trace2Skill | 33.1 | 36.9 | 26.5 | 38.4 | 48.8 | 36.7 | |
| EvoSkill | 58.1 | 34.5 | 35.4 | 34.9 | 48.5 | 42.3 | |
| SkillOpt | 48.7 | 29.4 | 29.0 | 38.0 | 55.7 | 40.2 | |
| WikiSkill | 56.3 | 43.1 | 33.6 | 40.5 | 63.4 | 47.4 | |
| Qwen-3.6-27B | No skill | 33.9 | 27.5 | 40.8 | 42.1 | 52.8 | 39.4 |
| Trace2Skill | 36.3 | 37.3 | 53.3 | 54.3 | 55.5 | 47.3 | |
| EvoSkill | 57.3 | 32.9 | 59.5 | 52.5 | 64.2 | 53.3 | |
| SkillOpt | 51.9 | 34.5 | 53.2 | 54.8 | 59.2 | 50.7 | |
| WikiSkill | 61.9 | 41.6 | 81.7 | 53.7 | 77.6 | 63.3 | |
| Gemma-4-31B | No skill | 33.9 | 30.6 | 48.3 | 43.3 | 50.4 | 41.3 |
| Trace2Skill | 32.3 | 37.7 | 58.5 | 43.2 | 57.2 | 45.8 | |
| EvoSkill | 29.8 | 38.4 | 56.4 | 39.9 | 52.6 | 43.4 | |
| SkillOpt | 40.1 | 36.1 | 63.1 | 44.4 | 61.9 | 49.1 | |
| WikiSkill | 56.7 | 41.2 | 68.0 | 44.2 | 64.4 | 54.9 | |
| Gemini-3.5-Flash | No skill | 33.0 | 29.4 | 50.5 | 48.6 | 85.9 | 49.5 |
| Trace2Skill | 41.9 | 44.3 | 56.0 | 50.0 | 85.9 | 55.6 | |
| EvoSkill | 44.6 | 43.6 | 55.4 | 51.2 | 85.9 | 56.1 | |
| SkillOpt | 49.7 | 28.2 | 66.1 | 49.8 | 85.9 | 55.9 | |
| WikiSkill | 72.6 | 44.7 | 76.6 | 60.7 | 85.9 | 68.1 |
Qwen family에서 모델이 커질수록 WikiSkill gain이 커진다. 동시에 Qwen-3.5-9B+WikiSkill의 47.4%는 Qwen-3.6-27B no-skill의 39.4%를 넘어선다. 즉 model capability와 procedural knowledge는 서로 다른 두 성능원천이다.
WikiSkill은 각 모델에서 strongest competing skill-evolution method 대비 평균 +3.3, +5.1, +10.0, +5.8, +12.0 points를 기록한다. Gemini-3.5-Flash는 LiveMath 33.0→72.6, Spreadsheet 50.5→76.6으로 상승했고, Qwen-3.6-27B는 ALFWorld 52.8→77.6으로 개선됐다.
LiveMath는 모든 모델에서 +20.6~+39.6 points의 큰 gain을 보이고, ALFWorld도 evolution이 수행된 네 모델에서 +14.0~+29.3 points 개선된다. 반면 OfficeQA는 long-context navigation을 정확히 수행할 execution capability가 필요해 작은 모델에서는 효과가 제한되거나 약간 악화될 수 있다.
Gemini-3.5-Flash의 ALFWorld validation은 evolution 이전부터 100%이므로 early stopping되어 모든 방법의 test score가 85.9%로 동일하다.
| Inference model | Skill source | LiveMath | SealQA | SpreadSheet | OfficeQA | ALFWorld |
|---|---|---|---|---|---|---|
| Qwen-3.5-9B | None | 28.2 | 26.3 | 24.3 | 35.9 | 34.7 |
| Qwen-3.5-9B | Self | 56.3 | 43.1 | 33.6 | 40.5 | 63.4 |
| Qwen-3.5-9B | Qwen-3.6-27B | 59.1 | 40.4 | 50.5 | 39.9 | 70.2 |
| Gemma-4-31B | None | 33.9 | 30.6 | 48.3 | 43.3 | 50.4 |
| Gemma-4-31B | Qwen-3.6-27B | 73.7 | 37.7 | 72.0 | 44.2 | 66.9 |
| Gemini-3.5-Flash | None | 33.0 | 29.4 | 50.5 | 48.6 | 85.9 |
| Gemini-3.5-Flash | Qwen-3.6-27B | 73.9 | 43.5 | 63.4 | 47.7 | 86.8 |
| Gemini-3.5-Flash | Qwen-3.5-4B | 67.5 | 40.0 | 18.1 | 48.5 | 87.3 |
Qwen-3.6-27B가 만든 skill은 Qwen-3.5-9B의 Spreadsheet를 24.3→50.5로, ALFWorld를 34.7→70.2로 올린다. Gemma-4-31B의 LiveMath도 33.9 no-skill, 56.7 self-evolved에서 73.7까지 상승한다.
하지만 negative transfer도 존재한다. Qwen-3.5-4B의 Spreadsheet skill은 Gemini-3.5-Flash를 50.5→18.1로 악화시킨다. 작은 모델의 low-level workaround와 fragmented diagnostic procedure가 강한 모델의 더 포괄적인 script 실행을 오히려 방해할 수 있기 때문이다.
논문이 분리해낸 중요한 두 능력은 “유용한 procedure를 발견하는 능력”과 “그 procedure를 실행하는 능력”이다.
| Inference Wiki? | Proposer Wiki? | LiveMath | SealQA | SpreadSheet | OfficeQA | Avg. |
|---|---|---|---|---|---|---|
| No skill | 33.0 | 29.4 | 50.5 | 48.6 | 40.4 | |
| Yes | No | 43.8 | 42.0 | 44.4 | 51.0 | 45.3 |
| No | No | 51.3 | 38.4 | 49.9 | 55.2 | 48.7 |
| Yes | Yes | 64.8 | 42.8 | 80.2 | 55.6 | 60.9 |
| No | Yes | 72.6 | 44.7 | 76.6 | 60.7 | 63.7 |
Inference Agent의 Wiki 접근을 막은 상태에서 Skill Proposer에게 persistent Wiki를 주면 평균 48.7→63.7로 +15.0 points 상승한다. 반대로 Proposer가 Wiki를 가진 상태에서 Inference Agent까지 Wiki를 읽게 하면 63.7→60.9로 떨어지고 LiveMath는 72.6→64.8로 하락한다.
저자들은 training rollout 중 inference agent가 Wiki에서 직접 task-solving knowledge를 얻으면 trajectory가 skill development에 덜 informative해질 수 있다고 해석한다. 지식은 evolution controller에게는 보여주되, behavior-generating agent에는 제한하는 정보격리가 중요하다는 결과다.
| Category | Skill create proposed/accepted | Skill edit proposed/accepted | Avg skill length | Wiki patterns created | Wiki edits | Avg pattern length |
|---|---|---|---|---|---|---|
| Qwen-3.5-4B | 3.1 / 1.6 | 4.9 / 1.3 | 126.2 | 8.8 | 18.4 | 48.2 |
| Qwen-3.5-9B | 4.6 / 1.4 | 3.4 / 0.7 | 128.6 | 7.3 | 10.9 | 26.6 |
| Qwen-3.6-27B | 4.4 / 1.5 | 3.6 / 0.8 | 118.9 | 6.5 | 17.9 | 47.7 |
| Gemma-4-31B | 4.8 / 1.3 | 3.2 / 0.8 | 45.1 | 6.3 | 13.7 | 23.7 |
| Gemini-3.5-Flash | 2.3 / 1.2 | 5.7 / 1.1 | 81.2 | 8.9 | 7.0 | 18.1 |
| SpreadSheet | 4.5 / 1.4 | 3.5 / 1.1 | 142.5 | 9.8 | 11.3 | 38.5 |
| LiveMath | 1.9 / 1.1 | 6.1 / 1.9 | 84.6 | 4.4 | 12.1 | 31.7 |
Wiki pattern은 계속 축적되지만 active skill은 상대적으로 간결하게 유지된다. Accepted update의 39~52%가 초기 iteration에 발생하지만 middle·late stage에도 상당한 refinement가 이어진다. SealQA는 accepted update의 33%가 middle, 28%가 late stage다.
Qwen-3.6-27B의 ALFWorld 사례에서 iteration 0의 goal-directed-action skill은 너무 추상적이라 validation 0.72에서 reject된다. 그러나 Wiki의 skill-impact.md가 rejected diff와 outcome을 보존한다.
Iteration 1에서 반복행동 pattern evidence를 바탕으로 더 구체적인 break-repetition-loop skill이 생성되어 validation 0.78로 accept된다. 이후 multi-operation-loop 같은 새로운 반복 failure가 누적되자 iteration 4에서 “operation type을 item마다 한 번만 수행”하는 rule로 skill이 다시 refinement된다.
각 iteration에서 Wiki Maintainer용 diagnostic sample은 최대 8 traces다. 최대 5개 failing trace로 root-cause를 분석하고, 최대 3개 passing trace로 working strategy와 regression risk를 파악한다. 각 execution log는 prompt injection 전에 15,000 characters로 제한한다.
통계검정은 benchmark마다 paired bootstrap 1,000 iterations를 사용하고, cross-benchmark는 benchmark별 독립 resampling 후 equal-weight macro average를 사용한다.
| Framework | Per-iteration call model | Asymptotic behavior |
|---|---|---|
| Trace2Skill | trajectory-wise analysis + map + hierarchical reduce | lower-bounded by \(O(N_{train})\) |
| EvoSkill | \(2N_{train}/B\) | \(O(N_{train}/B)\) |
| SkillOpt | \(K_{opt}N_{train}/B\), \(K_{opt}\approx6\text{–}8\) | \(O(N_{train}/B)\) |
| WikiSkill | \((1+T_{ReAct})N_{train}/B\) | \(O(N_{train}/B)\); full-batch에서 training-size 기준 \(O(1)\) |
WikiSkill 실험은 모든 dataset에서 \(B=N_{train}\)인 full-batch를 사용한다. 따라서 iteration당 optimizer call은 \(1+T_{ReAct}\)이며, Skill Proposer의 ReAct turn은 대략 10~20이다. 호출 수는 training instance 수와 무관하지만 실제 inference cost는 dataset에 따라 클 수 있다.
Task-specific prompt에 active skill을 직접 주입한다. Skill retrieval/triggering failure를 confounder에서 제거하기 위한 선택이다.
실제 command/action을 읽고 success vs failure를 비교하며 surface error가 아니라 root cause와 action pattern을 추출한다.
문제·원인·실제 trace evidence·구체적 workaround를 기록한다. success와 failure를 모두 남기고 duplicate pattern은 새로 만들지 않는다.
index → skill-impact → relevant patterns → failed traces 순으로 탐색한다. create/patch/no_action 중 선택하고 기존 skill이 일부 맞으면 patch를 선호한다.
Wiki index entry는 full page를 읽지 않아도 relevance를 판단하도록 Problem + Root Cause + Fix를 1~2문장에 담도록 설계된다. Proposer는 proposal 전에 최소 4개 execution trace를 읽도록 강제된다.
quantifier, hypothesis, extremal wording, exact equality condition에 주의하는 multiple-choice mathematical reasoning.
web_search와 read_file을 반복해 factual evidence를 찾고 충분한 evidence 후 exact answer를 반환한다.
working directory 범위 안에서 bash/Python으로 지정 spreadsheet와 answer position만 수정하고 output path에 저장한다.
긴 문서를 무작정 읽지 않고 targeted search → small local reads → exact operands → arithmetic 순으로 grounded reasoning을 수행한다.
최근 observation/action history와 admissible actions를 보고 step-by-step reasoning 후 한 admissible action을 선택하는 sequential control task다.
EvoSkill, Trace2Skill, SkillOpt, SkillRL, Skill0, SkillOS, SkillGrad, Skill1, CoEvoSkills 등이 execution trace에서 procedural knowledge를 추출·개선한다.
SkillCraft, SkillsBench, SkillNet, SkillRet, Skill Retrieval Augmentation, SkillRouter는 skill 선택·사용·routing을 다룬다. WikiSkill은 retrieval을 고정하고 skill quality에 집중한다.
HarnessX, Meta-Harness, Agentic Harness Engineering, AutoHarness, Self-Harness 등은 prompt·context·tools·memory·workflow 전체를 최적화한다. WikiSkill과 상보적이다.
Active skill을 직접 prompt에 주입하므로 skill retrieval·triggering 문제는 평가하지 않는다. skill library가 커지면 별도 연구가 필요하다.
즉시 validation score를 높이지 않는 neutral update는 거절된다. 나중의 개선을 가능하게 하는 stepping-stone update를 놓칠 수 있다.
Wiki가 계속 커지지만 오래된 pattern/log/diff를 자동 정리하는 pruning mechanism이 없다.
수백 action 또는 수시간에 걸친 task는 포함하지 않는다. single rollout 안에서 online skill adaptation하는 문제도 남는다.
| Category | Early · iter 0–1 | Mid · iter 2–4 | Late · iter 5–7 |
|---|---|---|---|
| Qwen-3.5-4B | 39% | 39% | 21% |
| Qwen-3.5-9B | 52% | 30% | 19% |
| Qwen-3.6-27B | 43% | 40% | 17% |
| Gemma-4-31B | 52% | 37% | 11% |
| Gemini-3.5-Flash | 50% | 46% | 4% |
| LiveMath | 44% | 42% | 14% |
| SealQA | 39% | 33% | 28% |
| SpreadSheet | 41% | 48% | 11% |
| OfficeQA | 58% | 26% | 16% |
| ALFWorld | 55% | 34% | 10% |
논문의 empirical evidence는 persistent knowledge accumulation이 skill evolution에 중요하고, evolved procedural knowledge가 model scale과 독립적인 capability 축이며, cross-model transfer가 가능하다는 점을 지지한다. 동시에 negative transfer와 task-dependent executability는 “좋은 skill”이 보편적 prompt가 아니라 모델·task·tool budget과 맞물린 procedure임을 보여준다.
논문은 large language models와 coding agents가 writing polish와 일부 table/plot 생성에 사용되었다고 명시한다.
EvoSkill · Trace2Skill · SkillOpt · SkillRL · Skill0 · SkillOS · SkillGrad · Skill1 · CoEvoSkills.
SkillCraft · SkillsBench · SkillNet · SkillRet · Skill Retrieval Augmentation · SkillRouter · Agent Skills for Large Language Models.
HarnessX · Meta-Harness · Agentic Harness Engineering · AutoHarness · Self-Harness · MementoSkills · GEPA.
LiveMathematicianBench · SealQA · SpreadsheetBench · OfficeQA · ALFWorld · ReAct.
본 게시물은 첨부된 28쪽 논문의 본문, 표, 도식, appendix, prompt specification, references와 limitation을 구조화해 재작성했다. 논문의 Figure 2·Figure 3은 원 이미지를 복제하지 않고 의미구조를 바탕으로 독자적인 SVG와 설명으로 재구성했다. 논문이 직접 실험하지 않은 skill retrieval, very-long-horizon adaptation, automated wiki pruning은 완료된 기능처럼 서술하지 않았다.