LAB 4. Kiro CLI Part2

Table of contents

  1. 13. Context
    1. 13. 1 컨텍스 관리
    2. 13.2 현재 컨텍스트 보기
    3. 13.3 컨텍스트 파일 제거
    4. Task-13
    5. 13.4 Context usage
    6. 13.5 Clearing your context window
    7. 13.6 Compacting
    8. 13.7 Session context 제거와 추가
    9. Task-15
    10. 13.8 요약
  2. 14. Compacting(컨텍스트 압축)
    1. 14.1 수동 Compact 실행
    2. 14.2 자동 Compact 동작
    3. 14.3 Compacting 사용 시 고려 사항
      1. 장점
      2. 주의할 점
    4. 14.4 워크플로우 팁(Pro Tips)


13. Context

Kiro CLI에서 컨텍스트(Context) 파일은 대화 과정에서 Kiro가 고려해야 할 정보를 포함합니다.

여기에는 프로젝트 요구사항, 코딩 규칙, 개발 표준, 또는 Kiro가 더 정확한 답변을 생성하는 데 도움이 되는 다양한 문서가 포함될 수 있습니다.

컨텍스트를 어떻게 관리하느냐는 Kiro CLI의 출력 품질에 직접적인 영향을 미칩니다.

컨텍스트를 과도하게 제공하면 오히려 성능이 저하될 수 있습니다. 따라서 컨텍스트는 적절히 선별하여 관리하는 것이 중요합니다.

Kiro CLI는 최대 200K tokens의 컨텍스트 윈도우를 가지며, 이는 유한한 자원이므로 효율적으로 운영해야 합니다.


13. 1 컨텍스 관리

Kiro CLI 세션에서 작업을 진행하다 보면, 특정 문서를 컨텍스트로 추가해야 할 때도 있고, 세션 시작 시 자동으로 특정 문서가 포함되도록 구성하고 싶을 때도 있습니다.

Kiro CLI는 이러한 컨텍스트를 손쉽게 관리할 수 있는 다양한 메커니즘을 제공합니다.

Kiro CLI는 또한 프로젝트 기반의 지속적 컨텍스트를 관리하기 위해 “steering docs(조정 문서)”를 사용합니다.

Steering 문서는 .kiro/steering/ 디렉터리에 위치하며, 프로젝트의 규칙, 패턴, 선호 기술 스택 등을 기술해 두어 Kiro가 지속적으로 참고하도록 하는 방식입니다.


13.2 현재 컨텍스트 보기

현재 Kiro CLI 세션에서 어떤 컨텍스트가 활성화되어 있는지 확인하려면 다음 명령을 사용합니다:

/context show

출력 예:

> /context show

Agent (kiro_default)
  - AmazonQ.md (no matches)
  - AGENTS.md (no matches)
  - README.md (no matches)

Session (temporary)
  <none>

이 출력은 다음을 의미합니다:


13.3 컨텍스트 파일 제거

현재 세션에서 활성화된 컨텍스트를 모두 제거하려면 다음 명령을 사용합니다:

/context clear

예상 출력:

Cleared context
Note: Context modifications via slash command is temporary.

Kiro CLI를 다시 시작하면


Task-13

Kiro CLI 세션에서 다음을 수행합니다:

  1. 컨텍스트 제거:
/context clear

  1. 컨텍스트 조회:
/context show
  1. 세션 종료 후 다시 시작
  2. 다시 /context show 실행하여 지속 컨텍스트가 재적용되는지 확인

13.4 Context usage

현재 컨텍스트 윈도우(token window) 사용 상태는 다음 명령으로 확인할 수 있습니다:

/context

예시 출력:

> /context
Current context window (1.9% used)
█||█████████████████████████████████████████████████████████████████████████████ 1.9%

█ Context files 0.0%
█ Tools 1.7%
█ Kiro responses 0.1%
█ Your prompts 0.1%

💡 Pro Tips:
Run /compact to replace the conversation history with its summary
Run /clear to erase the entire chat history
Run /context show to see usage per context file

컨텍스트 윈도우는 다음 4가지 요소가 합산되어 구성됩니다:

구성 요소설명
Context files컨텍스트로 추가된 문서
Tools도구 실행 과정에서 생성된 정보
Kiro responsesKiro의 응답으로 누적된 토큰
Your prompts사용자의 입력 프롬프트

워크샵을 진행하면서 /context 명령을 지속적으로 실행하여 사용량이 어떻게 변화하는지 모니터링하면 좋습니다.


13.5 Clearing your context window

현재 세션의 전체 컨텍스트 윈도우를 초기화하려면 다음 명령을 실행합니다:

/clear

실행 시 Kiro는 다음과 같은 경고를 표시합니다:

Are you sure? This will erase the conversation history and context from hooks for the current session. [y/n]:

이 작업은 되돌릴 수 없으므로 주의가 필요합니다.


13.6 Compacting

컨텍스트 윈도우가 가득 찰 경우, Kiro CLI는 자동으로 컨텍스트 압축(compaction) 을 시도하여 요약본을 생성하고 기존 컨텍스트를 교체합니다.
수동 실행도 가능합니다:

/context compact

컨텍스트가 충분히 길지 않으면 다음 메시지가 나타납니다:

Conversation too short to compact.

자동 압축을 끄고 싶다면:

kiro-cli settings chat.disableAutoCompaction true

압축의 시점은 사용자에 따라 선호가 다를 수 있으므로 개발 워크플로우에 맞추어 설정하는 것을 권장합니다.


13.7 Session context 제거와 추가

현재 세션에서 특정 파일을 컨텍스트로 추가하려면 다음 명령을 사용합니다:

/context add README.md

또는 패턴 기반 다중 파일 추가도 가능합니다:

/context add ~/context-repo/2-sample-data/*.md

출력 예시:

Added 1 path(s) to context.
Note: Context modifications via slash command is temporary.

/context show 를 실행하면 활성화된 컨텍스트 문서를 확인할 수 있습니다.

예시 출력:

Session (temporary)
  ~/project/README.md
  ~/context-repo/2-sample-data/AGENTS.md
  ~/context-repo/2-sample-data/data-bod.md

3 matched files in use
...

파일이 아직 존재하지 않아도 강제로 추가하고 싶다면:

/context add yourfile.md -f

Task-15

  1. 다음 내용을 가진 tmp-context.md 파일 생성:
cat << EOF > ~/kiro-cli-workshop/tmp-context.md
당신은 파이썬(Python) 으로 코드를 작성하는 것을 좋아합니다.
플라스크(Flask) 웹 애플리케이션 프레임워크(web application framework)를 선호합니다.
공백(space) 대신 탭(tab) 을 사용합니다.
모든 데이터 처리를 위해 PostgreSQL 을 사용합니다.
EOF
  1. Kiro CLI 세션에서 다음 실행:
/context add tmp-context.md
  1. 컨텍스트 상태 확인:
/context show
  1. 출력 예시
> /context show

Agent (kiro_default)
  - AmazonQ.md (no matches)
  - AGENTS.md (no matches)
  - README.md (no matches)

Session (temporary)
  <none>

No files in the current directory matched the rules above.



> /context add tmp-context.md


Added 1 path(s) to context.
Note: Context modifications via slash command is temporary.

13.8 요약


14. Compacting(컨텍스트 압축)

컨텍스트 윈도우(Context Window)가 가득 차기 시작하면 Kiro CLI는 자동으로 컨텍스트 압축(Compaction) 기능을 수행하여, 기존 대화 내역과 컨텍스트를 요약한 형태로 치환합니다.

이 기능을 통해 제한된 최대 컨텍스트 용량(200K tokens)을 보다 효율적으로 사용할 수 있습니다.

또한, 필요할 경우 수동으로 컨텍스트 압축을 실행할 수도 있습니다.


14.1 수동 Compact 실행

다음 명령어를 사용하여 현재 세션의 컨텍스트를 요약하여 압축할 수 있습니다:

/context compact

컨텍스트 길이가 충분하지 않을 경우, Kiro CLI는 다음 메시지를 출력합니다:

Conversation too short to compact.

이는 현재 대화 기록 또는 컨텍스트가 요약을 수행할 만큼 충분히 축적되지 않았음을 의미합니다.


14.2 자동 Compact 동작

Kiro CLI는 컨텍스트 윈도우가 임계점에 도달할 경우 자동으로 압축을 시도합니다.

그러나, 개발자의 선호에 따라 자동 압축 기능을 비활성화할 수도 있습니다.

자동 압축을 비활성화하려면 다음 설정을 사용합니다:

kiro-cli settings chat.disableAutoCompaction true

이 설정을 적용하면:


14.3 Compacting 사용 시 고려 사항

컨텍스트 압축은 다음과 같은 장단점을 가집니다:

장점

주의할 점


14.4 워크플로우 팁(Pro Tips)