AI 개발

Claude Opus 5.5 이후 AI Coding Agent는 어느 단계인가: JSON, Tool Calling, 코드 실행 (2026)

약 16분

2026년 9월 22일 Anthropic은 Claude Opus 5.5를 공개했다. 모델 ID는 claude-opus-5-5다. 공식 위치는 장시간 agentic coding이다. 이 글은 Coding Agent가 무엇인지 다시 쓰지 않는다. 요청, 도구 JSON, Opus 5에서 깨지는 지점만 나눈다.

읽기 전 요약

대상 공식 사실 누가 실행하는가
Model claude-opus-5-5 / 2026-09-22 모델은 JSON을 채운다. 디스크는 만지지 않는다
Thinking 항상 켜짐, 기본 effort=medium thinking을 끄면 400
Tools input_schema + tool_use 호스트가 검증한 뒤 실행
Cost $4 / $20 / 백만 token 공식: 전형 부하에서 Opus 5보다 약 40% 저렴

사실은 Anthropic 공개 페이지와 Opus 5.5 문서. 벤치는 공식 자체 보고이며 순위가 아니다.

Coding Agent는 더 싼 장시간 단계로 들어간다. 모델이 저장소를 고치는 단계가 아니다

Opus 5.5는 Claude 5.5 가족의 첫 모델이다. 공식은 대부분 작업에서 Claude Fable 5.1 수준, 전형 부하 비용은 Opus 5보다 약 40% 낮다고 한다. 입출력은 백만 token당 4 / 20달러, 캐시 읽기는 0.20달러. 컨텍스트 100만, 최대 출력 12.8만. 바뀌는 것은 한 루프를 얼마나 길고 얼마에 돌릴 수 있는가다. 층은 그대로다. 모델은 인자를 채우고 호스트가 부효과를 실행한다.

  • 모델: lookup_order와 A-1042만 채운다. 소켓을 보지 않고 프로세스도 만들지 않는다.
  • thinking은 끌 수 없다. 깊이는 effort, 기본은 medium. 공식 시험에서 medium은 저장소 규모 작업에서 Opus 5 high에 맞서거나 이기고, 걸음과 token은 더 적다.
  • 장시간: 공식은 마이그레이션, 감사, 거의 무인인 수시간 작업을 적는다. 호스트에는 정지 조건, 권한, 재생 가능한 상태가 필요하다.

내장 도구 JSON은 AI Coding Agent와 JSON 도구 호출. 고리·문·상태는 Agent Harness와 JSON State. Schema가 문인 이유는 AI에 JSON Schema가 필요한 이유. 이 글은 Opus 5.5 이후 같은 호출 사슬에서 어떤 칸이 움직였는지만 쓴다.

먼저 model과 도구 표를 객체로 쓴다

Claude API, Google Cloud, Microsoft Foundry는 claude-opus-5-5. Amazon Bedrock은 anthropic.claude-opus-5-5. 가상 조회. 실제 비밀은 붙이지 않는다:

{
  "model": "claude-opus-5-5",
  "max_tokens": 16000,
  "effort": "medium",
  "tools": [{
    "name": "lookup_order",
    "description": "Look up an order by ID. Confirm before any refund.",
    "input_schema": {
      "type": "object",
      "properties": {
        "order_id": { "type": "string", "pattern": "^[A-Z]-\\d{4}$" }
      },
      "required": ["order_id"],
      "additionalProperties": false
    }
  }],
  "messages": [{
    "role": "user",
    "content": "Look up order A-1042 and say if it is paid."
  }]
}

effort는 공식 기본 손잡이다. 요청에 쓰면 “이 세션은 medium이었다”를 재생할 수 있다. 각 도구에 input_schema가 필요하다. 넓은 object는 발명 키를 부른다. 조회에 환불 칸을 넣지 않는다.

Tool Call은 여전히 JSON이다. 코드를 실행하는 것은 호스트다

모델은 호스트에게 “A-1042를 보라”고 말한다. HTTP도 아니고 MCP tools/call도 아니다. Messages 응답의 tool_use다:

{
  "type": "tool_use",
  "id": "call_3c91",
  "name": "lookup_order",
  "input": { "order_id": "A-1042" }
}

Schema 뒤 호스트가 실행하고 결과를 객체로 돌려준다. 실패도 객체다. 모델이 읽는 것은 되돌림이지 터미널 스크롤이 아니다:

{
  "type": "tool_result",
  "tool_use_id": "call_3c91",
  "content": "{\"order_id\":\"A-1042\",\"status\":\"paid\"}"
}

공식은 도구 호출 사이 문장이 thinking 블록으로 들어가며 기본 display에서는 비어 있다고 한다. 그걸 진행 막대로 썼다면 호스트 파서를 바꾼다. 모델이 조용해진 것이 아니다. MCP는 Coding Agent가 MCP를 부르는 방법. 권한 규칙은 Coding Agent 권한 모델. 장시간 작업은 채팅창이 아니라 루프 상태가 필요하다:

{
  "model": "claude-opus-5-5",
  "effort": "medium",
  "session_id": "sess_7f2a",
  "task": "migrate_lookup_order",
  "pending_tool": "lookup_order",
  "immutable": {
    "tools": ["lookup_order", "Read", "Bash"]
  },
  "mutable": {
    "turn": 4,
    "max_turns": 40,
    "last_order_id": "A-1042"
  }
}

Opus 5에서 옮기면 네 곳이 깨진다

공식 What's new는 네 가지 파괴적 변경을 적는다. 처음 셋은 Claude Fable 5.1에도 같다. 모델 이름만 바꾸는 것은 이전이 아니다:

변경 호스트가 고칠 것
Thinking을 끌 수 없다 thinking을 끄거나 수동 budget을 두면 400. 깊이는 effort.
Forced tool use는 오류 특정 도구 강제는 실패한다. Schema에서 고르게 하거나 루프를 바꾼다.
Thinking은 모델과 대화에 묶인다 중간에 tools를 바꾸면 접두가 바뀌고 이전 thinking이 무효가 된다. 첫 턴에 선언한다.
옛 computer use Claude API와 Google Cloud는 computer_20251124를 거절한다. computer_toolset_20260801로 바꾼다. Bedrock은 옛 도구를 받는다.

실패하지는 않지만 모양이 바뀌는 점이 하나 더 있다: 도구 사이 텍스트가 thinking으로 간다. 스트림 진행은 새 블록을 읽는다. 프롬프트로 덮을 수 없다.

Opus 5.5를 기존 루프에 올리는 다섯 단계

“더 강해졌으니 권한을 연다”로 시작하지 않는다. 객체를 쓴다:

  1. 모델 ID를 바꾼다. claude-opus-5-5(Bedrock은 접두). effort를 남긴다.
  2. thinking 끄기와 forced tool use를 지운다. 5.5에서는 둘 다 실패한다.
  3. 도구 표를 첫 턴에 고정한다. 각 행에 Schema와 additionalProperties: false. 나중에 더하면 thinking이 떨어진다.
  4. 정지 조건을 쓴다. max_turns 또는 예산. 공식 장시간은 무한 루프가 아니다.
  5. 상태를 JSON으로 남긴다. tool_use, tool_result, session_id, effort. call_3c91이 맞으면 사슬이 살아 있다.

Schema가 문인 이유는 Agents API + JSON Schema. 이 글의 요구는 하나다: 모델을 바꾼 뒤에도 문과 고리가 있고, 부효과는 호스트가 실행한다.

장시간 작업을 재생하려면 JSON 네 장을 펼친다

실패의 대부분은 model ID, effort, 도구 표, 되돌림이 어긋난 것이다. “5.5가 충분히 똑똑하지 않다”가 아니다.

  • input_schema와 input을 포맷하고, 빈 칸과 여분 키는 Schema 검증.
  • JSONPath 추출로 $.model, $.effort, $.input.order_id.
  • 성공한 되돌림과 400을 JSON Diff. 프롬프트보다 먼저 thinking 끄기 / forced-tool 잔해를 고친다.
  • call_3c91이 tool_use와 tool_result에서 같은 id인지 본다.
  • 세션, 토큰, 저장소 경로를 공개 포맷터에 붙이지 않는다. JSONSort는 브라우저에서 돈다.

네 객체가 Schema로 다시 세워질 때서야 5.5 호출 사슬을 받은 것이다.

흔한 함정

  • Opus 5.5를 새로운 Coding Agent 제품으로 본다. 그것은 모델이다. Claude Code, Cursor, 자체 루프는 여전히 호스트다.
  • 공식 벤치를 “누가 더 센가”로 읽는다. Terminal-Bench와 CursorBench는 자체 보고이거나 특정 harness다. 이 글은 비용과 장시간만 인용한다.
  • thinking을 끄며 아끼려 한다. 5.5는 허용하지 않는다. effort, 캐시, max_turns로 제어한다.
  • forced tool_choice를 안정 장치로 쓴다. Forced tool use는 오류다. 안정은 Schema다.
  • 상태 없이 장시간을 돌린다. 18시간에 session JSON이 없으면 재생할 수 없다. 채팅창은 상태가 아니다.
  • 빈 thinking을 모델 고장으로 본다. 응답 모양이 바뀌었다. 호스트 파서를 고친다.

FAQ

Opus 5.5가 스스로 파일을 고치는가?

아니다. 모델은 도구 JSON만 채운다. 읽기/쓰기, Shell, MCP는 호스트다. 호스트가 없으면 저장소는 바뀌지 않는다.

기본 medium보다 올려야 하는가?

공식은 기본 medium이 코딩에서 Opus 5 high에 맞선다고 한다. 먼저 Schema와 정지 조건을 고정한다. 실패한 작업만 올린다. 처음부터 최대로 두지 않는다.

Agents API와 같은가?

아니다. Agents API는 OpenAI 세션 자원이다. Opus 5.5는 Anthropic 모델이다. 둘 다 “모델이 JSON을 채우고 호스트가 실행한다”. 필드 이름을 섞지 않는다.

computer_toolset이 Read / Bash와 같은가?

아니다. computer use는 데스크톱 / 화면 세트다. Read와 Bash는 다른 표다. 2025-11 computer 도구를 아직 보내는 경우만 computer_toolset_20260801로 옮긴다.

Sonnet 5.5와 Haiku 5.5는 나왔는가?

공개문은 “앞으로 몇 주”라고 했다. 이 글은 2026-09-22에 나온 Opus 5.5만 사실로 본다. 미공개 ID는 쓰지 않는다.

결론

Opus 5.5 이후 Coding Agent는 더 싼 장시간과 항상 켜진 thinking 단계로 들어간다. 층은 움직이지 않는다. 모델은 JSON을 채우고, 호스트가 Schema, 권한, 실행, 상태 되돌림을 맡는다.

A-1042가 어떤 도구, 몇 번째 턴, 어떤 session에 들어가는지 먼저 쓴다. model, effort, tool_use, tool_result를 가리킬 수 있으면 5.5에 올라탄 것이다. DevDay를 추측으로 채우지 않는다. 공식 벤치를 순위로 만들지 않는다.

더 읽기

변경 기록: 최초 게시