We experimented on task-level robot learning based on bi-directional theory. The via-point representation was used for ‘learning by watching’. In our previous work, we had a robot learn kendama (a Japanese game) in order to demonstrate a single simple task. Our approach can be applied to a wide variety of motor behavior. However, some difficulties still remain. In this paper, we address two problems: (1) how to attain a final goal of complex movement when it consists of a sequence of subgoals, and (2) how to adapt to changes in behavior and the environment. To examine how to solve these problems, we propose two methods: (1) selecting the proper via-points for a control variable for each subgoal, and (2) re-estimating the relation between the via-points and the task during learning without conducting extra trials. We adopted a tennis serve and a pendulum upswing for our complicated tasks. ᭧ 1998 Elsevier Science Ltd. All rights reserved.