Bob Shell에서 /init 및 AGENTS.md로 프로젝트 시작하기

Bob Shell /init 명령을 실행하여 모든 대화에서 Bob이 로드하는 프로젝트 컨텍스트 파일인 AGENTS.md를 생성하고, 해당 컨텍스트를 최신 상태로 유지하는 방법을 알아보세요.

/init 명령은 프로젝트를 스캔하고 Bob이 모든 대화에서 영구 컨텍스트로 사용하는 AGENTS.md라는 구조화된 요약 파일을 생성합니다. /init 명령은 Bob에게 프로젝트의 구조, 규칙, 코드베이스에 대한 지식을 제공하는 방법으로, 각 상호작용 시작 시 Bob이 모든 파일을 다시 읽어야 하는 수고를 없앱니다.

대형 언어 모델은 무상태(stateless)입니다. 각 새 대화는 이전 상호작용에 대한 메모리 없이 시작됩니다. 명시적인 프로젝트 컨텍스트 없이는 Bob이 모든 새 상호작용마다 코드베이스를 다시 발견해야 하는데, 이는 비효율적이고 규모가 커질수록 비현실적입니다.

이 튜토리얼에서는 데모 애플리케이션의 루트 디렉터리에서 Bob Shell을 초기화하고, Bob이 애플리케이션에 대해 얻는 컨텍스트를 탐색하며, Bob Shell이 AGENTS.md 파일을 로드하는 방법을 알아봅니다.

사전 요구 사항

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • 아직 없다면, Galaxium Travels 데모 코드를 클론하세요. 클론 명령은 튜토리얼에서 사용하는 코드가 있는 bob-learning-path-branch도 체크아웃합니다.
    git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels
  • 필수는 아니지만, Bob Shell의 인터페이스와 기능에 익숙해지기 위해 대화형 세션 시작하기를 먼저 읽는 것을 고려하세요.

프로젝트에서 Bob Shell 시작하기

Galaxium Travels 루트 디렉터리로 이동합니다:

cd galaxium-travels

대화형 세션을 시작합니다:

bob chat --mode agent

--mode agent 플래그는 Bob이 파일을 읽고 AGENTS.md를 작성하는 데 필요한 도구를 갖춘 Agent 모드로 세션을 시작합니다.

Bob Shell이 폴더를 신뢰할지 물어보면, Bob이 프로젝트에서 작업할 수 있도록 신뢰하세요. 자세한 내용은 신뢰할 수 있는 폴더를 참조하세요.

/init으로 AGENTS.md 생성하기

프롬프트에 /init 명령을 입력합니다:

/init

Bob이 프로젝트의 관련 파일을 읽습니다.

Bob이 파일 읽기나 AGENTS.md 쓰기와 같은 도구를 사용하려고 하면 승인 대화 상자가 나타납니다. 각 요청에 대해 Approve를 선택합니다.

Bob은 Galaxium Travels 루트 디렉터리에 기본 AGENTS.md 파일을 생성합니다. 또한 .bob/rules-agent/AGENTS.md, .bob/rules-ask/AGENTS.md, .bob/rules-plan/AGENTS.md에 모드별 컨텍스트 파일도 생성합니다.

AGENTS.md 파일 탐색하기

AGENTS.md 파일은 Bob을 위한 온보딩 문서입니다. Bob이 프로젝트의 구조와 규칙을 이해하는 데 필요한 모든 것을 제공하는 간결하고 실행 가능한 요약입니다.

Bob에게 파일을 보여달라고 요청합니다:

Show me the contents of @AGENTS.md

@ 기호는 프로젝트의 파일을 참조하므로 Bob이 응답하기 전에 파일을 읽습니다. 다른 터미널을 열어 파일을 직접 확인할 수도 있습니다:

cat AGENTS.md

AGENTS.md 파일에는 일반적으로 다음 구성 요소가 포함됩니다:

  • 프로젝트 개요 및 목적
  • 디렉터리 구조 및 주요 파일 위치
  • 기술 스택 및 의존성
  • 아키텍처 패턴 및 규칙
  • 개발 워크플로우

/init이 생성한 모든 파일을 보려면 Galaxium Travels 디렉터리에서 git status를 실행합니다:

git status

Bob Shell이 AGENTS.md 파일을 로드하는 방법

Bob Shell은 모든 작업 시작 시 AGENTS.md와 같은 컨텍스트 파일을 자동으로 로드합니다.

  1. 전역 컨텍스트: ~/.bob/AGENTS.md는 모든 프로젝트에 적용됩니다.
  2. 프로젝트 컨텍스트: 프로젝트 루트 및 상위 디렉터리의 AGENTS.md는 프로젝트에 적용됩니다.
  3. 로컬 컨텍스트: 하위 디렉터리의 AGENTS.md는 해당 하위 디렉터리에 적용되어 컴포넌트별 지침을 제공합니다.

단일 모드에 대한 지침을 Bob에게 제공하려면 .bob/rules-<mode>/ 디렉터리(예: Plan 모드의 경우 .bob/rules-plan/)에 모드별 규칙을 추가하세요.

AGENTS.md 파일 유지 관리하기

다음 변경 사항 이후에는 /init을 다시 실행하세요:

  • 새 모듈 또는 서비스 추가
  • 디렉터리 구조 변경
  • 새 기술 또는 프레임워크 채택
  • Bob을 사용하는 새 팀원 온보딩

Bob의 자동 스캔이 캡처하지 못할 수 있는 컨텍스트(예: 비즈니스 규칙, 배포 규칙 또는 팀별 관행)를 추가하기 위해 AGENTS.md를 수동으로 편집할 수도 있습니다. 팀이 동일한 컨텍스트를 공유할 수 있도록 AGENTS.md를 버전 관리에 커밋하세요.

다음 단계

이 튜토리얼에서 다음을 배웠습니다:

  • 대형 언어 모델은 무상태입니다. /init 명령을 실행하면 모든 대화 시작 시 Bob이 읽는 영구 컨텍스트 파일인 AGENTS.md를 생성하여 이 문제를 해결합니다.
  • 프로젝트에 큰 변경이 있을 때마다 /init을 다시 실행하여 컨텍스트를 최신 상태로 유지하세요.

Bob Shell을 위한 효과적인 프롬프트 작성하기로 이동하여 원하는 출력을 안정적으로 생성하는 프롬프트 작성 방법을 알아보세요.

이 주제는 어떤가요?