[논문 리뷰] CoLadder: Supporting Programmers with Hierarchical Code Generation in Multi-Level Abstraction
CoLadder는 프로그래머가 계층적 코드 생성을 지원하기 위해 구조적 작업 분해, 모듈화된 프롬프트 블록, 그리고 프롬프트 작성 중 직접적인 코드 조작을 가능하게 하는 상호작용 시스템이다. 12명의 숙련된 프로그래머를 대상으로 한 사용자 연구에서, 이 시스템은 의도의 외재화를 향상시키고 초기 단계에서 특히 코드 편집을 줄이며, 추상화 수준 전반에 걸쳐 정신 모델과 일치하는 프롬프트를 제공함으로써 효과를 보였다.
Programmers increasingly rely on Large Language Models (LLMs) for code generation. However, misalignment between programmers' goals and generated code complicates the code evaluation process and demands frequent switching between prompt authoring and code evaluation. Yet, current LLM-driven code assistants lack sufficient scaffolding to help programmers format intentions from their overarching goals, a crucial step before translating these intentions into natural language prompts. To address this gap, we adopted an iterative design process to gain insights into programmers' strategies when using LLMs for programming. Building on our findings, we created CoLadder, a system that supports programmers by facilitating hierarchical task decomposition, direct code segment manipulation, and result evaluation during prompt authoring. A user study with 12 experienced programmers showed that CoLadder is effective in helping programmers externalize their problem-solving intentions flexibly, improving their ability to evaluate and modify code across various abstraction levels, from goal to final code implementation.
연구 동기 및 목표
- LLM을 사용한 프로그래밍 시 의도 형성과 외재화를 위한 서포트 체계의 격차를 보완하기 위해.
- 프로그래머의 목표와 생성된 코드 간의 불일치로 인한 인지적 부담을 감소시키기 위해.
- 코드 생성 및 평가 향상을 위해 프롬프트 작성에서의 다중 수준 추상화의灵活性(靈活성)을 지원하기 위해.
- 계층적 작업 분해가 LLM 보조 프로그래밍 워크플로우에서 더 나은 통제력과 이해도를 어떻게 지원하는지 조사하기 위해.
제안 방법
- CoLadder는 트리 기반 에디터를 활용하여 프로그래머가 특정 코드 세그먼트에 대응하는 모듈화된 프롬프트 블록으로 작업을 계층적으로 분해할 수 있도록 한다.
- 각 프롬프트 블록은 LLM을 통해 생성되며, 직접적으로 코드 세그먼트에 매핑되어 구조적이고 다중 수준의 추상화를 가능하게 한다.
- 시스템은 코드 조각에 대한 블록 기반 연산을 지원하여, 전체 재프롬프팅 없이도 생성된 코드 세그먼트를 직접 조작할 수 있도록 한다.
- 프롬프트 작성 중 실시간 결과 평가를 통합하여 반복적 개선과 의도와의 일치를 지원한다.
- 프로그래머가 LLM을 사용할 때의 전략을 관찰한 결과를 바탕으로 반복적인 설계 과정을 통해 시스템을 개발했다.
- 12명의 숙련된 프로그래머를 대상으로 한 사용자 연구를 통해 CoLadder가 의도 외재화, 코드 제어, 이해도에 미치는 영향을 평가했다.

실험 결과
연구 질문
- RQ1RQ1: LLM을 사용해 코드 생성을 할 때 프로그래머는 어떻게 의도를 형성하고 이를 외재화하는가?
- RQ2RQ2: CoLadder는 프롬프트에서 코드 생성 과정에 대한 프로그래머의 제어력을 어느 정도 향상시키는가?
- RQ3RQ3: CoLadder는 프로그래머가 추상화 수준 전반에서 코드를 평가하고 수정하는 데 어떤 영향을 미치는가?
- RQ4RQ4: CoLadder는 프로그래머의 이해도와 코드 유지보수성에 어떤 영향을 미치는가?
주요 결과
- 참가자들은 특히 초기 단계에서 블록 기반 코드 조작 기능 덕분에 CoLadder를 사용할 때 훨씬 적은 코드 편집을 요구했다.
- CoLadder는 프로그래머가 문제 해결의 정신 모델에 맞게 계층적으로 의도를 외재화하고 정교화하는 데 도움을 주었다.
- 시스템은 의도 서포트 과정에 대한 통제력을 향상시켰다(RQ2). 다만, 최종 프로그램 코드 자체에 대한 통제력은 반드시 그런 것은 아니었다.
- 참가자들은 기억력 테스트에서 더 강한 프로그램 이해도를 보였으며, 이는 CoLadder를 사용할 때 코드 구조에 대한 깊은 이해가 있었음을 시사한다.
- LLM 제안에 과도하게 의존하는 일이 줄었으며, 참가자들이 의도적이고 단계적인 프로그램 구축에 참여함으로써 더 나은 결과를 이끌어냈다.
- 과제 숙련도는 주관적 부하와 만족도와 약간에서 중간 정도의 상관관계를 보였으며, 이는 경험의 영향이 시스템 효과성에서 사전 지식보다 더 중요함을 시사한다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.