NL-364, Adaptive Tool Use in Large Language Models with Meta-Cognition Trigger, ACL 2025
이 논문은 “LLM이 언제 외부 tool/RAG를 써야 하는가?”를 모델의 내부 hidden representation을 이용해 판단하자는 논문입니다.
논문 제목은 Adaptive Tool Use in Large Language Models with Meta-Cognition Trigger, ACL 2025 Long Paper이고, 제안 방법은 MeCo (Meta-Cognition-oriented trigger)입니다. 핵심은 모델에게 단순히 "도구가 필요합니까? Yes/No"라고 물어본 결과를 그대로 믿지 않고, 그 Yes/No를 생성할 때의 hidden state가 정말 확신에 찬 판단인지 다시 검사해서 tool-use 결정을 수정한다는 것입니다.
1. 문제 설정
기존 tool-use/RAG 시스템에서는 보통 이런 식으로 합니다.
Query
↓
LLM: tool 필요한가?
↓
Yes → Tool/RAG
No → 자체 답변문제는 LLM의 Yes/No 판단 자체가 틀릴 수 있다는 것입니다.
예를 들어 모델이 실제로는 모르는 질문인데
Do I need a search engine?
→ No라고 할 수도 있습니다.
반대로 모델 내부 지식으로 충분히 풀 수 있는데
→ Yes라고 해서 쓸데없이 검색할 수도 있습니다.
불필요한 tool call은 latency와 tool/API 오류 가능성을 증가시키기 때문에 저자들은 “모델 자신의 tool-use 판단이 믿을 만한지를 hidden representation에서 알아내자”고 제안합니다.
2. MeCo의 핵심 아이디어
전체 구조는 아래처럼 생각하면 됩니다.
Query
↓
LLM
↓
"Yes, tool이 필요합니다"
↓
Yes token의 hidden state
↓
Meta-cognition probe
↓
meta-cognition score v
↓
이 Yes 판단이 믿을 만한가?
↓
Yes 유지 or No로 뒤집기즉 Tool 필요성 classifier를 새로 학습하는 게 아닙니다.
LLM이 이미 내린
Yes / No
판단에 대해
“너 지금 그 판단 제대로 한 거 맞아?”
를 hidden state를 통해 검사하는 구조입니다. Figure 1이 정확히 이 구조를 보여줍니다.
이 부분이 이 논문의 가장 중요한 포인트입니다.
3. Meta-cognition이 정확히 뭐냐
저자들은 meta-cognition을 다음 의미로 사용합니다.
모델이 자신의 지식과 한계를 평가하여,
스스로 처리할지 외부 resource를 사용할지 결정하는 능력.
예를 들어,
Q: 17,381 × 29,271은?모델이
Yes, calculator가 필요하다.라고 했다면,
MeCo는
이 모델이 정말 자기 계산 능력의 한계를 인식하고 Yes라고 한 것인가?
를 hidden state로 평가합니다.
중요한 것은 이것이 우리가 일반적으로 말하는 confidence와 완전히 같은 개념은 아니라는 점입니다.
confidence는 대체로
내 답이 맞다고 얼마나 확신하는가?이고,
이 논문의 meta-cognition은
내가 이 문제를 스스로 해결할 수 있는가?쪽에 가깝습니다.
4. 그러면 meta-cognition을 hidden state에서 어떻게 찾나?
여기가 논문의 기술적인 핵심입니다.
Representation Engineering(RepE) 방식을 사용합니다.
먼저 동일한 질문에 대해 두 종류의 prompt를 만듭니다.
개념적으로 보면:
T+ : 강한 meta-cognition을 보이도록 하는 prompt
T- : 약한 meta-cognition을 보이도록 하는 prompt그리고 같은 (question, response)를 각각 넣고 hidden state를 얻습니다.
각 layer에서
[
A_f^+
]
와
[
A_f^-
]
를 얻습니다.
5. 두 hidden state의 차이를 본다
각 example마다
[
A_i^+ - A_i^-
]
를 계산합니다.
그러면 이런 벡터들이 많이 생깁니다.
example 1: Δh1
example 2: Δh2
example 3: Δh3
...저자들의 가정은 이겁니다.
strong meta-cognition과 weak meta-cognition 사이에는
representation space에서 공통적인 방향이 존재할 것이다.
그래서 이 difference vector들에 PCA를 합니다.
[
v_f = PC_1({A_i^+ - A_i^-})
]
첫 번째 principal component를 meta-cognition direction, 즉 probe로 사용합니다.
쉽게 말하면:
strong meta-cognition
→
---------------------------→-------------
hidden representation space
v이런 방향 v를 하나 찾아내는 것입니다.
6. 여기서 probe는 학습하는 건가?
엄밀히 말하면 방향을 데이터에서 추출합니다.
하지만 neural network classifier처럼
Linear layer
↓
cross entropy
↓
backprop
↓
gradient descent하는 게 아닙니다.
그냥
hidden-state difference
↓
PCA
↓
first principal component입니다.
그래서 저자들이 fine-tuning-free라고 부릅니다. Backbone LLM의 parameter를 수정하지 않고, 별도 gradient-based fine-tuning도 하지 않습니다.
다만 완전히 data-free인 것은 아닙니다.
probe를 만들기 위한 contrastive examples가 필요하고, 이후 threshold를 정하기 위한 validation data도 필요합니다.
이 구분은 꽤 중요합니다.
7. inference에서는 뭘 하나?
Query가 들어옵니다.
예:
Identify and compare the top-rated tour guides
in Paris based on customer reviews from the past year.LLM에게 tool이 필요한지를 물어봅니다.
모델이
Yes, I need external data.라고 생성했다고 합시다.
저자들은 첫 번째 token인 Yes의 hidden state만 사용합니다.
왜 첫 token인가 하면 prompt가 항상
Yes/No + explanation형태로 답하도록 되어 있기 때문입니다.
따라서
Yes ...
↑
여기만 보면 모델의 tool-use decision을 대표할 수 있습니다.
8. meta-cognition score 계산
아까 PCA로 얻은 방향을
[
v_f
]
라고 합시다.
현재 Yes token의 hidden state를
[
h
]
라고 하면, hidden state가 이 방향에 얼마나 align되어 있는지를 계산해서 meta-cognition score를 얻습니다.
개념적으로는
[
s \approx h^\top v_f
]
처럼 생각하면 됩니다.
즉:
hidden state h
↓
project onto meta-cognition direction
↓
score s입니다.
9. 모든 layer를 평균하지 않는다
각 Transformer layer마다 probe를 만들 수 있습니다.
예를 들어 Llama-3-8B라면 32개 layer이므로
probe_1
probe_2
...
probe_32가 생깁니다.
기존 RepE류 연구에서는 여러 layer의 score를 평균하기도 하는데, 저자들은 layer마다 score distribution이 크게 다르다는 것을 발견했습니다.
그래서 마지막 근처 layer 중
layer -5
layer -4
layer -3
layer -2에서 validation classification accuracy가 가장 좋은 하나의 probe만 선택합니다.
10. 가장 특이한 부분: Dual Threshold
여기가 MeCo의 실질적인 decision rule입니다.
LLM이 처음에
Yes라고 했다고 합시다.
그 Yes가 정말 믿을 만한 Yes인지 meta-cognition score를 봅니다.
Yes인 경우
[
s > \lambda_{\text{yes}}
]
라면
Yes 판단을 믿음
→ tool 사용반대로
[
s < \lambda_{\text{yes}}
]
이면
"이 Yes 판단은 신뢰하기 어렵다"
→ No로 뒤집음
→ tool 사용 안 함입니다.
No일 때도 마찬가지입니다.
[
s < \lambda_{\text{no}}
]
이면
No 판단을 믿음반대로
[
s > \lambda_{\text{no}}
]
이면
No 판단이 이상하다
→ Yes로 뒤집음
→ tool 사용입니다.
따라서 전체는:
| LLM 판단 | MeCo score | 최종 판단 |
|---|---|---|
| Yes | 높음 | Yes 유지 |
| Yes | 낮음 | No로 변경 |
| No | 낮음 | No 유지 |
| No | 높음 | Yes로 변경 |
입니다.
11. 왜 Yes와 No에 threshold를 따로 쓰나?
이것도 재미있는 observation입니다.
저자들이 score distribution을 보니,
Yes 안에서는
Correct Yes → score 높음
Wrong Yes → score 낮음이라는 경향이 있고,
No 안에서는
Correct No → score 낮음
Wrong No → score 높음이라는 경향이 있었습니다.
그런데 Yes score와 No score 자체는 직접 비교하면 안 됩니다.
왜냐하면 hidden representation에 Yes / No token embedding의 영향도 들어가기 때문입니다.
그래서
[
\lambda_{\text{yes}}
]
와
[
\lambda_{\text{no}}
]
를 따로 둡니다.
12. 결국 MeCo는 2단계 classifier처럼 볼 수 있다
이 논문을 가장 쉽게 이해하면 이렇습니다.
Stage 1 — LLM 자체 판단
Query
↓
Do I need a tool?
↓
Yes / NoStage 2 — hidden-state 검증
Yes/No hidden state
↓
MeCo probe
↓
"그 판단 신뢰 가능?"
↓
필요하면 flip따라서
[
\boxed{
\text{LLM decision}
+
\text{representation-based verifier}
}
]
구조입니다.
13. baseline: (P_{\text{Yes}})
아주 중요한 baseline도 있습니다.
굳이 hidden representation까지 보지 말고,
LLM의 vocabulary probability에서
[
P(\text{Yes})
]
만 가져다가 threshold를 두는 것입니다.
즉
P(Yes) 높음 → tool
P(Yes) 낮음 → no tool입니다.
논문에서는 이를 (P_{\text{Yes}}) baseline으로 둡니다.
MeCo가 이보다 대체로 높은 decision accuracy를 보입니다.
그래서 저자들의 주장은
단순히 Yes token probability를 보는 것보다 hidden representation 안의 meta-cognitive signal을 보는 게 낫다.
입니다.
14. 실험은 두 가지
크게 두 분야를 봅니다.
Adaptive Tool Use
이 질문에 tool이 필요한가?Adaptive RAG
이 질문에 retrieval이 필요한가?저자들은 RAG를 넓은 의미의 tool-use special case로 봅니다.
15. MeCa benchmark도 새로 만듦
기존에는 MetaTool이라는 benchmark가 있었습니다.
하지만 저자들은 너무 단순하다고 보고 MeCa (Meta-Cognitive Tool Assessment)를 만듭니다.
MeCa-Tool에서는 다음을 평가합니다.
1. Tool 자체가 필요한가?
2. 제공된 tool 중 쓸 만한 tool이 있는가?
3. 필요한 tool이 제공되지 않았으면 어떻게 할 것인가?
4. multi-turn 상황에서는?
5. context가 제공되면 판단이 달라지는가?즉 단순한
tool yes / no보다 실제 assistant 환경을 흉내 내려고 했습니다.
16. 결과
MetaTool에서 예를 들어 Llama-3-8B, pre-finetuning, context 없음의 경우:
| 방법 | Decision Accuracy |
|---|---|
| Naive | 58.3 |
| (P_\text{Yes}) | 62.7 |
| MeCo | 74.0 |
context가 있는 경우도
| 방법 | Accuracy |
|---|---|
| Naive | 61.9 |
| (P_\text{Yes}) | 63.5 |
| MeCo | 65.0 |
입니다.
fine-tuned Llama-3-8B에서도 context 없는 상황에서
Naive 80.8
PYes 80.8
MeCo 82.3로 개선됩니다.
MeCa-Tool에서도 대부분의 설정에서 MeCo가 가장 좋거나 경쟁력 있는 성능을 보입니다. 특히 여러 task/context/model 조합에서 Naive와 (P_\text{Yes})보다 안정적으로 높은 decision accuracy를 보였다는 것이 저자들의 주요 결과입니다.
Adaptive RAG에서도:
| Model | Naive | (P_\text{Yes}) | MeCo |
|---|---|---|---|
| Llama-3-8B | 63 | 75 | 76 |
| Mistral-7B | 84 | 84 | 86 |
이고 GPT-4-Turbo의 naive decision은 84%였습니다.
17. 이 논문의 진짜 novelty
겉으로 보면
hidden state → classifier → tool/no-tool
라서 단순해 보일 수 있습니다.
그런데 이 논문의 포인트는 query의 answerability를 직접 probe하는 것이 아니라, 모델의 decision reliability를 probe한다는 것입니다.
즉
Question
↓
"이거 내가 알아?"를 바로 예측하는 게 아니라
Question
↓
LLM: "Tool 필요 없음"
↓
MeCo:
"얘가 '필요 없음'이라고 판단한 게
진짜 자기 능력을 제대로 평가한 결과인가?"입니다.
그래서 개념적으로는 meta-decision입니다.
18. Query-level uncertainty 연구와 비교하면
당신이 전에 본 Query-Level Uncertainty in LLMs 같은 연구와 상당히 가까운 문제입니다.
둘을 단순화하면:
Query-level uncertainty
[
h(q) \rightarrow \text{know / don't know}
]
즉
이 질문의 답을 모델이 아느냐?
를 hidden representation에서 추정합니다.
MeCo
[
h(q,\text{Yes/No decision})
\rightarrow
\text{decision reliable / unreliable}
]
즉
모델이 내린 tool-use 판단이 맞느냐?
를 추정합니다.
그래서 MeCo가 한 단계 더 tool decision에 특화된 probe라고 보면 됩니다.
19. 중요한 한계
이 논문을 읽으면서 특히 주의할 부분도 있습니다.
첫째, 완전히 학습 없는 시스템은 아닙니다.
Backbone fine-tuning은 없지만,
contrastive examples
→ PCA probe 생성
validation examples
→ λ_yes, λ_no 결정이 필요합니다.
따라서 정확히는
gradient-based training-free / backbone fine-tuning-free
라고 보는 게 적절합니다.
둘째, 모델이 먼저
Yes/No + explanation을 생성해야 합니다.
즉 query hidden state만 한 번 보고 바로 tool을 호출하는 구조는 아닙니다.
Query
→ tool-decision generation
→ hidden-state probe
→ tool execution이라는 별도의 routing inference 단계가 있습니다.
셋째, 가장 흥미로운 약점은 “meta-cognition”이라는 해석이 정말 맞느냐입니다. 실제로는
correct Yes/No decision과 correlation이 높은 representation direction을 발견한 것일 수 있고, 이것을 철학적인 의미의 self-awareness라고 부르는 것은 다소 강한 framing이라고 볼 수 있습니다.
20. 한 문장으로 논문 정리
이 논문의 방법은 결국:
[
\boxed{
\text{LLM이 tool을 쓸지 먼저 Yes/No로 판단하게 하고}
}
]
[
\boxed{
\text{그 Yes/No token의 hidden state를 PCA probe로 검사해서}
}
]
[
\boxed{
\text{판단이 신뢰하기 어려우면 Yes↔No를 뒤집는다.}
}
]
입니다.
그래서 전체 pipeline은 이렇게 기억하면 됩니다.
┌── Tool / RAG
│
Query → LLM → Yes/No
│
↓
first-token hidden state
↓
MeCo PCA probe
↓
meta-cognition score
↓
┌────────┴────────┐
판단 신뢰 판단 불신
↓ ↓
그대로 Yes ↔ No flip개인적으로 이 논문에서 가장 중요한 부분은 “confidence score를 하나 만드는 것”보다 LLM의 1차 decision + hidden-state-based verifier라는 2단계 구조입니다. 특히 selective RAG나 IDK-routing 관점에서는 IDK를 직접 생성하도록 학습시키는 방식과 달리, 원래 모델의 내부 representation을 이용해 backend 호출 여부를 후처리로 결정한다는 점에서 비교하기 좋은 논문입니다.
Reference
댓글
댓글 쓰기